{
"id": "social.passports.place",
"defs": {
"main": {
"type": "object",
"required": [
"name",
"category"
],
"properties": {
"geo": {
"ref": "community.lexicon.location.geo",
"type": "ref",
"description": "WGS84 coordinates as decimal strings, per the community location lexicon."
},
"name": {
"type": "string",
"maxLength": 200,
"description": "Human-readable place name for display."
},
"category": {
"type": "string",
"description": "Place type.",
"knownValues": [
"city",
"town",
"venue"
]
},
"locality": {
"type": "string",
"maxLength": 200,
"description": "Human-readable city or neighborhood for display, used when no unlocode is available (e.g. venues in cities not in UN/LOCODE)."
},
"unlocode": {
"type": "string",
"maxLength": 5,
"minLength": 5,
"description": "UN/LOCODE for this place (5 characters: 2-char country + 3-char code). Canonical cross-user match key for cities and towns that have one."
},
"atgeoRkey": {
"type": "string",
"maxLength": 200,
"description": "Record key within the ATGeo collection, e.g. 'node/249132774' for OSM, the FSQ ID for Foursquare, or a UUID for social.passports-sourced places."
},
"countryIso": {
"type": "string",
"maxLength": 2,
"description": "ISO 3166-1 alpha-2 country code."
},
"atgeoCollection": {
"type": "string",
"maxLength": 100,
"description": "ATGeo source dataset: 'osm', 'overture', 'foursquare', or 'social.passports' for places not yet covered by ATGeo."
}
},
"description": "A place embedded inline in a passport entry. Self-contained: carries name, coordinates, and enough identifiers for any AT Proto consumer to look up richer data from ATGeo (https://atgeo.org). atgeoCollection + atgeoRkey let consumers fetch full detail (alt names, categories, address) without this record depending on an external service at read time."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}