Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Engine(val name: String? = null, val author: String? = null, val version: String? = null)
Link copied to clipboard
@Serializable
data class GeocodeFeature(val type: String? = null, val geometry: GeocodeGeometry? = null, val properties: GeocodeProperties? = null, val bbox: List<Double>? = null)
Link copied to clipboard
@Serializable
data class GeocodeGeometry(val type: String? = null, val coordinates: List<Double> = emptyList())
Link copied to clipboard
@Serializable
data class GeocodeProperties(val id: String? = null, val gid: String? = null, val layer: String? = null, val source: String? = null, val sourceId: String? = null, val name: String? = null, val confidence: Double? = null, val distance: Double? = null, val accuracy: String? = null, val label: String? = null, val street: String? = null, val housenumber: String? = null, val postalcode: String? = null, val country: String? = null, val countryGid: String? = null, val countryA: String? = null, val macroregion: String? = null, val macroregionGid: String? = null, val macroregionA: String? = null, val region: String? = null, val regionGid: String? = null, val regionA: String? = null, val localadmin: String? = null, val localadminGid: String? = null, val locality: String? = null, val localityGid: String? = null, val borough: String? = null, val boroughGid: String? = null, val neighbourhood: String? = null, val neighbourhoodGid: String? = null, val continent: String? = null, val continentGid: String? = null, val addendum: JsonObject? = null)

Properties are rich and vary by source; keep them optional. addendum is left as JsonObject to pass through extra provider-specific content (e.g., OSM).

Link copied to clipboard
@Serializable
data class GeocodeQuery(val text: String? = null, val size: Int? = null, val layers: List<String>? = null, val sources: List<String>? = null, val private: Boolean? = null, val parsed_text: JsonObject? = null, val lang: PeliasLang? = null, val querySize: Int? = null, val focusPointLon: Double? = null, val focusPointLat: Double? = null, val pointLon: Double? = null, val pointLat: Double? = null, val boundaryCircleLon: Double? = null, val boundaryCircleLat: Double? = null, val boundaryCircleRadius: Double? = null, val rectMinLon: Double? = null, val rectMinLat: Double? = null, val rectMaxLon: Double? = null, val rectMaxLat: Double? = null, val boundaryCountry: String? = null, val venue: String? = null, val address: String? = null, val neighbourhood: String? = null, val borough: String? = null, val locality: String? = null, val county: String? = null, val region: String? = null, val country: String? = null, val postcode: String? = null)

Pelias "query" block varies by endpoint; everything is optional. Fields like "point.lat" are addressed via @SerialName to match JSON.

Link copied to clipboard
@Serializable
data class GeocodeSearchResponse(val geocoding: Geocoding? = null, val type: String? = null, val features: List<GeocodeFeature> = emptyList(), val bbox: List<Double>? = null, val errors: List<String>? = null, val warnings: List<String>? = null, val engine: Engine? = null, val timestamp: Long? = null)
Link copied to clipboard
@Serializable
data class Geocoding(val version: String? = null, val attribution: String? = null, val query: GeocodeQuery? = null)
Link copied to clipboard
@Serializable
data class PeliasLang(val name: String? = null, val iso6391: String? = null, val iso6393: String? = null, val via: String? = null, val defaulted: Boolean? = null)