{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/thevicinityapp-com/json-schema/thevicinityapp-com-city-schema.json",
  "title": "City",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/thevicinityapp-com-openapi.json#/components/schemas/City",
  "type": "object",
  "required": [
    "slug",
    "name",
    "country"
  ],
  "properties": {
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "bounds": {
      "$ref": "#/$defs/Bounds"
    },
    "stats": {
      "type": "object",
      "additionalProperties": true
    },
    "top_places": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Place"
      }
    },
    "upcoming_events": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Event"
      }
    }
  },
  "$defs": {
    "Bounds": {
      "type": "object",
      "required": [
        "min_lon",
        "min_lat",
        "max_lon",
        "max_lat"
      ],
      "properties": {
        "min_lon": {
          "type": "number"
        },
        "min_lat": {
          "type": "number"
        },
        "max_lon": {
          "type": "number"
        },
        "max_lat": {
          "type": "number"
        }
      }
    },
    "Event": {
      "type": "object",
      "required": [
        "slug",
        "title",
        "starts_at"
      ],
      "properties": {
        "slug": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "starts_at": {
          "type": "string",
          "format": "date-time"
        },
        "ends_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "place_slug": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "stats": {
          "type": "object",
          "additionalProperties": true
        }
      }
    },
    "Place": {
      "type": "object",
      "required": [
        "slug",
        "name"
      ],
      "properties": {
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "neighborhood": {
          "type": [
            "string",
            "null"
          ]
        },
        "lon": {
          "type": [
            "number",
            "null"
          ]
        },
        "lat": {
          "type": [
            "number",
            "null"
          ]
        },
        "stats": {
          "type": "object",
          "additionalProperties": true
        }
      }
    }
  }
}