# social.passports.place

> Published by [passports.social](https://lexicon.garden/identity/did:plc:ssdgllkzfwekkpmu7expw6cv)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ssdgllkzfwekkpmu7expw6cv/social.passports.place)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ssdgllkzfwekkpmu7expw6cv/social.passports.place/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ssdgllkzfwekkpmu7expw6cv/social.passports.place/examples)

## Definitions

### `social.passports.place`

**Type**: `object`

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.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `geo` | `ref` → `community.lexicon.location.geo` | No | WGS84 coordinates as decimal strings, per the community location lexicon. |
| `name` | `string` | Yes | Human-readable place name for display. |
| `category` | `string` | Yes | Place type. |
| `locality` | `string` | No | Human-readable city or neighborhood for display, used when no unlocode is available (e.g. venues in cities not in UN/LOCODE). |
| `unlocode` | `string` | No | 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` | `string` | No | 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` | `string` | No | ISO 3166-1 alpha-2 country code. |
| `atgeoCollection` | `string` | No | ATGeo source dataset: 'osm', 'overture', 'foursquare', or 'social.passports' for places not yet covered by ATGeo. |

## Raw Schema

```json
{
  "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
}
```
