{
  "openapi": "3.1.0",
  "info": {
    "title": "Geoapify Places API",
    "version": "2.1.1",
    "description": "Find places and points of interest by category, attributes, and geographic area."
  },
  "servers": [
    {
      "url": "https://api.geoapify.com/v2",
      "description": "Default API endpoint."
    },
    {
      "url": "https://api-eu.geoapify.com/v2",
      "description": "EU-focused endpoint. Geoapify service processing uses EU infrastructure."
    }
  ],
  "tags": [
    {
      "name": "Places"
    }
  ],
  "paths": {
    "/places": {
      "get": {
        "tags": [
          "Places"
        ],
        "operationId": "searchPlaces",
        "summary": "Search places by category and location",
        "description": "Find places and points of interest matching one or more categories. Provide at least one spatial control: `filter` limits which places can be returned, while `bias` changes their ranking without excluding results. You can use both together.\n\n**Example:** `categories=commercial&filter=circle:-89.9324386707035,35.143833853955485,1000&bias=proximity:-89.9324386707035,35.143833853955485&limit=20` searches for commercial places within 1,000 meters of a point in Memphis, Tennessee, and ranks the nearest results first.",
        "parameters": [
          {
            "name": "categories",
            "in": "query",
            "required": true,
            "description": "One or more comma-separated place category keys. Categories are hierarchical: a parent category such as `commercial` includes its child categories. Use a more specific key, such as `commercial.supermarket`, to narrow the results. See the [complete category reference](https://apidocs.geoapify.com/docs/places/#categories).",
            "schema": {
              "type": "array",
              "minItems": 1,
              "maxItems": 100,
              "items": {
                "$ref": "#/components/schemas/PlaceCategory"
              }
            },
            "style": "form",
            "explode": false,
            "example": [
              "commercial"
            ]
          },
          {
            "name": "conditions",
            "in": "query",
            "required": false,
            "description": "Optional comma-separated conditions that restrict results by place attributes. Conditions are hierarchical: a parent such as `wheelchair` includes its child conditions, while `wheelchair.yes` requests fully wheelchair-accessible places. See the [complete condition reference](https://apidocs.geoapify.com/docs/places/#conditions).",
            "schema": {
              "type": "array",
              "minItems": 1,
              "maxItems": 100,
              "items": {
                "$ref": "#/components/schemas/PlaceCondition"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "description": "Spatial constraint that limits which places can be returned. Supported forms are `circle:lon,lat,radiusMeters`, `rect:lon1,lat1,lon2,lat2`, `geometry:geometryId`, `place:placeId`, and `countrycode:code`. Multiple filters can be joined with `|` and use AND logic. Provide `filter`, `bias`, or both.",
            "schema": {
              "type": "string",
              "pattern": "^(circle|rect|geometry|place|countrycode):.+"
            },
            "example": "circle:-89.9324386707035,35.143833853955485,1000"
          },
          {
            "name": "bias",
            "in": "query",
            "required": false,
            "description": "Ranking preference that prioritizes places without excluding other results. Supported forms are `proximity:lon,lat`, `circle:lon,lat,radiusMeters`, and `rect:lon1,lat1,lon2,lat2`. Provide `filter`, `bias`, or both.",
            "schema": {
              "type": "string",
              "pattern": "^(circle|rect|proximity):.+"
            },
            "example": "proximity:-89.9324386707035,35.143833853955485"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum number of places returned per page.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 20,
              "example": 20
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Zero-based result offset for pagination. Use with `limit` to request the next page.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0,
              "example": 0
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "description": "Language for names and address fields.",
            "schema": {
              "type": "string",
              "enum": [
                "ab",
                "aa",
                "af",
                "ak",
                "sq",
                "am",
                "ar",
                "an",
                "hy",
                "as",
                "av",
                "ae",
                "ay",
                "az",
                "bm",
                "ba",
                "eu",
                "be",
                "bn",
                "bh",
                "bi",
                "bs",
                "br",
                "bg",
                "my",
                "ca",
                "ch",
                "ce",
                "ny",
                "zh",
                "cv",
                "kw",
                "co",
                "cr",
                "hr",
                "cs",
                "da",
                "dv",
                "nl",
                "en",
                "eo",
                "et",
                "ee",
                "fo",
                "fj",
                "fi",
                "fr",
                "ff",
                "gl",
                "ka",
                "de",
                "el",
                "gn",
                "gu",
                "ht",
                "ha",
                "he",
                "hz",
                "hi",
                "ho",
                "hu",
                "ia",
                "id",
                "ie",
                "ga",
                "ig",
                "ik",
                "io",
                "is",
                "it",
                "iu",
                "ja",
                "jv",
                "kl",
                "kn",
                "kr",
                "ks",
                "kk",
                "km",
                "ki",
                "rw",
                "ky",
                "kv",
                "kg",
                "ko",
                "ku",
                "kj",
                "la",
                "lb",
                "lg",
                "li",
                "ln",
                "lo",
                "lt",
                "lu",
                "lv",
                "gv",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mi",
                "mr",
                "mh",
                "mn",
                "na",
                "nv",
                "nb",
                "nd",
                "ne",
                "ng",
                "nn",
                "no",
                "ii",
                "nr",
                "oc",
                "oj",
                "cu",
                "om",
                "or",
                "os",
                "pa",
                "pi",
                "fa",
                "pl",
                "ps",
                "pt",
                "qu",
                "rm",
                "rn",
                "ro",
                "ru",
                "sa",
                "sc",
                "sd",
                "se",
                "sm",
                "sg",
                "sr",
                "gd",
                "sn",
                "si",
                "sk",
                "sl",
                "so",
                "st",
                "es",
                "su",
                "sw",
                "ss",
                "sv",
                "ta",
                "te",
                "tg",
                "th",
                "ti",
                "bo",
                "tk",
                "tl",
                "tn",
                "to",
                "tr",
                "ts",
                "tt",
                "tw",
                "ty",
                "ug",
                "uk",
                "ur",
                "uz",
                "ve",
                "vi",
                "vo",
                "wa",
                "cy",
                "wo",
                "fy",
                "xh",
                "yi",
                "yo",
                "za"
              ],
              "default": "en",
              "example": "en"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Optional place-name filter. Only places matching this name are returned.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Places matching the requested categories and spatial controls, ordered according to the selected bias.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureCollection"
                },
                "example": {
                  "type": "FeatureCollection",
                  "features": [
                    {
                      "type": "Feature",
                      "properties": {
                        "name": "Dollar General",
                        "country": "United States",
                        "country_code": "us",
                        "region": "West Tennessee",
                        "state": "Tennessee",
                        "county": "Shelby County",
                        "city": "Memphis",
                        "postcode": "38122",
                        "street": "Summer Avenue",
                        "housenumber": "4111",
                        "iso3166_2": "US-TN",
                        "lon": -89.9237661,
                        "lat": 35.1484713,
                        "state_code": "TN",
                        "formatted": "Dollar General, 4111 Summer Avenue, Memphis, TN 38122, United States of America",
                        "address_line1": "Dollar General",
                        "address_line2": "4111 Summer Avenue, Memphis, TN 38122, United States of America",
                        "categories": [
                          "commercial",
                          "commercial.discount_store"
                        ],
                        "details": [
                          "details",
                          "details.contact"
                        ],
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright",
                          "raw": {
                            "name": "Dollar General",
                            "shop": "variety_store",
                            "brand": "Dollar General",
                            "phone": "+1-901-452-1618",
                            "osm_id": 4944605516,
                            "website": "https://www.dollargeneral.com/store-directory/tn/memphis/11958",
                            "osm_type": "n",
                            "addr:city": "Memphis",
                            "addr:state": "TN",
                            "addr:street": "Summer Avenue",
                            "addr:postcode": 38122,
                            "opening_hours": "Mo-Su 8:00-22:00",
                            "brand:wikidata": "Q145168",
                            "addr:housenumber": 4111
                          }
                        },
                        "website": "https://www.dollargeneral.com/store-directory/tn/memphis/11958",
                        "opening_hours": "Mo-Su 8:00-22:00",
                        "brand": "Dollar General",
                        "brand_details": {
                          "wikidata": "Q145168"
                        },
                        "contact": {
                          "phone": "+1-901-452-1618"
                        },
                        "commercial": {
                          "type": "variety_store"
                        },
                        "distance": 943,
                        "place_id": "51d229d9fb1e7b56c059b938881b01934140f00103f9014cb1b8260100000092030e446f6c6c61722047656e6572616c"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          -89.9237661,
                          35.148471299662056
                        ]
                      }
                    },
                    {
                      "type": "Feature",
                      "properties": {
                        "name": "Jiffy Lube",
                        "country": "United States",
                        "country_code": "us",
                        "region": "West Tennessee",
                        "state": "Tennessee",
                        "county": "Shelby County",
                        "city": "Memphis",
                        "postcode": "38122",
                        "street": "North Graham Street",
                        "housenumber": "630",
                        "iso3166_2": "US-TN",
                        "lon": -89.927624,
                        "lat": 35.1483556,
                        "state_code": "TN",
                        "formatted": "Jiffy Lube, 630 North Graham Street, Memphis, TN 38122, United States of America",
                        "address_line1": "Jiffy Lube",
                        "address_line2": "630 North Graham Street, Memphis, TN 38122, United States of America",
                        "categories": [
                          "building",
                          "building.commercial",
                          "commercial",
                          "service",
                          "service.vehicle",
                          "service.vehicle.repair",
                          "service.vehicle.repair.car"
                        ],
                        "details": [
                          "details",
                          "details.contact"
                        ],
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright",
                          "raw": {
                            "name": "Jiffy Lube",
                            "shop": "car_repair",
                            "brand": "Jiffy Lube",
                            "phone": "+1-901-458-1292",
                            "osm_id": 836214347,
                            "building": "yes",
                            "osm_type": "w",
                            "addr:city": "Memphis",
                            "addr:state": "TN",
                            "addr:street": "North Graham Street",
                            "addr:postcode": 38122,
                            "opening_hours": "Mo-Sa 07:00-19:00; Su 10:00-17:00",
                            "brand:wikidata": "Q6192247",
                            "addr:housenumber": 630,
                            "service:vehicle:oil_change": "yes"
                          }
                        },
                        "opening_hours": "Mo-Sa 07:00-19:00; Su 10:00-17:00",
                        "brand": "Jiffy Lube",
                        "brand_details": {
                          "wikidata": "Q6192247"
                        },
                        "contact": {
                          "phone": "+1-901-458-1292"
                        },
                        "commercial": {
                          "type": "car_repair"
                        },
                        "distance": 656,
                        "place_id": "51be96d8305e7b56c05944fd8c50fd924140f00102f9014b9ed7310000000092030a4a69666679204c756265"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          -89.92762395049337,
                          35.14835554966206
                        ]
                      }
                    },
                    {
                      "type": "Feature",
                      "properties": {
                        "name": "Duke's Automotive",
                        "country": "United States",
                        "country_code": "us",
                        "region": "West Tennessee",
                        "state": "Tennessee",
                        "county": "Shelby County",
                        "city": "Memphis",
                        "postcode": "38122",
                        "street": "North Graham Street",
                        "housenumber": "596",
                        "iso3166_2": "US-TN",
                        "lon": -89.927658,
                        "lat": 35.1480699,
                        "state_code": "TN",
                        "formatted": "Duke's Automotive, 596 North Graham Street, Memphis, TN 38122, United States of America",
                        "address_line1": "Duke's Automotive",
                        "address_line2": "596 North Graham Street, Memphis, TN 38122, United States of America",
                        "categories": [
                          "commercial",
                          "service",
                          "service.vehicle",
                          "service.vehicle.repair",
                          "service.vehicle.repair.car"
                        ],
                        "details": [
                          "details",
                          "details.contact"
                        ],
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright",
                          "raw": {
                            "name": "Duke's Automotive",
                            "shop": "car_repair",
                            "phone": "+1-901-323-9837",
                            "osm_id": 4944605520,
                            "osm_type": "n",
                            "addr:city": "Memphis",
                            "addr:state": "TN",
                            "addr:street": "North Graham Street",
                            "addr:postcode": 38122,
                            "opening_hours": "Mo-Fr 07:30-17:30",
                            "addr:housenumber": 596,
                            "service:vehicle:car_parts": "yes",
                            "service:vehicle:car_repair": "yes"
                          }
                        },
                        "opening_hours": "Mo-Fr 07:30-17:30",
                        "contact": {
                          "phone": "+1-901-323-9837"
                        },
                        "commercial": {
                          "type": "car_repair"
                        },
                        "distance": 641,
                        "place_id": "51daf7a8bf5e7b56c059044958f4f3924140f00103f90150b1b8260100000092031144756b652773204175746f6d6f74697665"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          -89.92765799999998,
                          35.14806989966203
                        ]
                      }
                    },
                    {
                      "type": "Feature",
                      "properties": {
                        "name": "High Point Terrace Shopping Center",
                        "country": "United States",
                        "country_code": "us",
                        "region": "West Tennessee",
                        "state": "Tennessee",
                        "county": "Shelby County",
                        "city": "Memphis",
                        "postcode": "38122",
                        "street": "Philwood Avenue",
                        "iso3166_2": "US-TN",
                        "lon": -89.9376452,
                        "lat": 35.1449256,
                        "state_code": "TN",
                        "formatted": "High Point Terrace Shopping Center, Philwood Avenue, Memphis, TN 38122, United States of America",
                        "address_line1": "High Point Terrace Shopping Center",
                        "address_line2": "Philwood Avenue, Memphis, TN 38122, United States of America",
                        "categories": [
                          "commercial",
                          "commercial.shopping_mall"
                        ],
                        "details": [],
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright",
                          "raw": {
                            "name": "High Point Terrace Shopping Center",
                            "shop": "mall",
                            "osm_id": 223786578,
                            "osm_type": "w"
                          }
                        },
                        "commercial": {
                          "type": "mall"
                        },
                        "distance": 463,
                        "place_id": "51b289f860027c56c05948730bec8c924140f00102f90152b6560d000000009203224869676820506f696e7420546572726163652053686f7070696e672043656e746572"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          -89.93764518996502,
                          35.1449255996618
                        ]
                      }
                    },
                    {
                      "type": "Feature",
                      "properties": {
                        "name": "High Point Barber Shop",
                        "country": "United States",
                        "country_code": "us",
                        "region": "West Tennessee",
                        "state": "Tennessee",
                        "county": "Shelby County",
                        "city": "Memphis",
                        "postcode": "38122",
                        "street": "High Point Terrace",
                        "housenumber": "477",
                        "iso3166_2": "US-TN",
                        "lon": -89.9378035,
                        "lat": 35.1447958,
                        "state_code": "TN",
                        "formatted": "High Point Barber Shop, 477 High Point Terrace, Memphis, TN 38122, United States of America",
                        "address_line1": "High Point Barber Shop",
                        "address_line2": "477 High Point Terrace, Memphis, TN 38122, United States of America",
                        "categories": [
                          "commercial",
                          "service",
                          "service.beauty",
                          "service.beauty.hairdresser"
                        ],
                        "details": [
                          "details.contact",
                          "details.payment"
                        ],
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright",
                          "raw": {
                            "name": "High Point Barber Shop",
                            "shop": "hairdresser",
                            "phone": "+1-901-715-8883",
                            "osm_id": 12613343782,
                            "osm_type": "n",
                            "addr:city": "Memphis",
                            "addr:unit": "#C",
                            "addr:state": "TN",
                            "addr:street": "High Point Terrace",
                            "hairdresser": "barber",
                            "payment:cash": "yes",
                            "addr:postcode": 38122,
                            "addr:housenumber": 477
                          }
                        },
                        "contact": {
                          "phone": "+1-901-715-8883"
                        },
                        "payment_options": {
                          "cash": true
                        },
                        "commercial": {
                          "type": "hairdresser"
                        },
                        "distance": 500,
                        "place_id": "51c2a4f8f8047c56c059a11234ab88924140f00103f901265ad0ef020000009203164869676820506f696e74204261726265722053686f70"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          -89.9378035,
                          35.144795799661786
                        ]
                      }
                    },
                    {
                      "type": "Feature",
                      "properties": {
                        "name": "High Point Grocery",
                        "country": "United States",
                        "country_code": "us",
                        "region": "West Tennessee",
                        "state": "Tennessee",
                        "county": "Shelby County",
                        "city": "Memphis",
                        "hamlet": "Hedgemoor",
                        "postcode": "38122",
                        "street": "High Point Terrace",
                        "housenumber": "469",
                        "iso3166_2": "US-TN",
                        "lon": -89.9376722,
                        "lat": 35.1444938,
                        "state_code": "TN",
                        "formatted": "High Point Grocery, 469 High Point Terrace, Memphis, TN 38122, United States of America",
                        "address_line1": "High Point Grocery",
                        "address_line2": "469 High Point Terrace, Memphis, TN 38122, United States of America",
                        "categories": [
                          "commercial",
                          "commercial.supermarket"
                        ],
                        "details": [
                          "details"
                        ],
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright",
                          "raw": {
                            "name": "High Point Grocery",
                            "shop": "supermarket",
                            "osm_id": 2326594332,
                            "twitter": "https://twitter.com/HighPointGrocer/",
                            "website": "https://www.highpointgrocery.com/",
                            "osm_type": "n",
                            "addr:street": "High Point Terrace",
                            "addr:postcode": 38122,
                            "addr:housenumber": 469
                          }
                        },
                        "website": "https://www.highpointgrocery.com/",
                        "commercial": {
                          "type": "supermarket"
                        },
                        "distance": 483,
                        "place_id": "51935742d2027c56c059d402d8c57e924140f00103f9011c03ad8a000000009203124869676820506f696e742047726f63657279"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          -89.9376722,
                          35.144493799661774
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid Places request. Check categories, spatial controls, pagination limits, and parameter formats.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 400,
                  "error": "Bad Request",
                  "message": "\"limit\" must be less than or equal to 500"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Geoapify API key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 401,
                  "error": "Unauthorized",
                  "message": "Invalid apiKey"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or quota exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 429,
                  "error": "Too Many Requests",
                  "message": "Quota exceeded"
                }
              }
            }
          },
          "500": {
            "description": "Internal gateway error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 500,
                  "error": "Internal Server Error",
                  "message": "Request failed, please try again later"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "FeatureCollection": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "type",
          "features"
        ],
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Feature"
            }
          }
        }
      },
      "Feature": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "type",
          "properties",
          "geometry"
        ],
        "properties": {
          "type": {
            "const": "Feature"
          },
          "properties": {
            "$ref": "#/components/schemas/PlaceProperties"
          },
          "geometry": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PointGeometry"
              },
              {
                "$ref": "#/components/schemas/GenericGeometry"
              },
              {
                "$ref": "#/components/schemas/GeometryCollection"
              }
            ]
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          }
        }
      },
      "PointGeometry": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "const": "Point"
          },
          "coordinates": {
            "$ref": "#/components/schemas/Position"
          }
        }
      },
      "GenericGeometry": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "LineString",
              "Polygon",
              "MultiPoint",
              "MultiLineString",
              "MultiPolygon"
            ]
          },
          "coordinates": {
            "type": "array"
          }
        }
      },
      "GeometryCollection": {
        "type": "object",
        "required": [
          "type",
          "geometries"
        ],
        "properties": {
          "type": {
            "const": "GeometryCollection"
          },
          "geometries": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PointGeometry"
                },
                {
                  "$ref": "#/components/schemas/GenericGeometry"
                },
                {
                  "$ref": "#/components/schemas/GeometryCollection"
                }
              ]
            }
          }
        }
      },
      "Position": {
        "type": "array",
        "minItems": 2,
        "maxItems": 3,
        "prefixItems": [
          {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          {
            "type": "number"
          }
        ],
        "items": false
      },
      "TimezoneOutput": {
        "type": "object",
        "required": [
          "name",
          "offset_STD",
          "offset_DST",
          "offset_STD_seconds",
          "offset_DST_seconds"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "name_alt": {
            "type": "string"
          },
          "country_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "offset_STD": {
            "type": "string"
          },
          "offset_DST": {
            "type": "string"
          },
          "offset_STD_seconds": {
            "type": "number"
          },
          "offset_DST_seconds": {
            "type": "number"
          },
          "abbreviation_STD": {
            "type": "string"
          },
          "abbreviation_DST": {
            "type": "string"
          }
        }
      },
      "PublicDatasource": {
        "type": "object",
        "properties": {
          "sourcename": {
            "type": "string"
          },
          "attribution": {
            "type": "string"
          },
          "license": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "PlacesDatasource": {
        "type": "object",
        "required": [
          "raw"
        ],
        "properties": {
          "sourcename": {
            "type": "string"
          },
          "attribution": {
            "type": "string"
          },
          "license": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "raw": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "GeocodingRank": {
        "type": "object",
        "properties": {
          "confidence": {
            "type": "number"
          },
          "confidence_city_level": {
            "type": "number"
          },
          "confidence_street_level": {
            "type": "number"
          },
          "confidence_building_level": {
            "type": "number"
          },
          "match_type": {
            "type": "string",
            "enum": [
              "full_match",
              "inner_part",
              "match_by_building",
              "match_by_street",
              "match_by_postcode",
              "match_by_city_or_disrict",
              "match_by_country_or_state"
            ]
          },
          "importance": {
            "type": "number"
          },
          "popularity": {
            "type": "number"
          }
        }
      },
      "PlaceDetailValue": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlaceDetailValue"
            }
          },
          {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/PlaceDetailValue"
            }
          }
        ]
      },
      "PlaceDetailGroup": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/PlaceDetailValue"
        }
      },
      "StringMap": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      },
      "BooleanMap": {
        "type": "object",
        "additionalProperties": {
          "type": "boolean"
        }
      },
      "WikiPopulation": {
        "type": "object",
        "required": [
          "actual",
          "by_years"
        ],
        "properties": {
          "actual": {
            "type": "string"
          },
          "by_years": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "PlaceCategory": {
        "type": "string",
        "description": "Supported hierarchical place category key accepted by the `categories` parameter.",
        "enum": [
          "accommodation",
          "accommodation.hotel",
          "accommodation.hut",
          "accommodation.apartment",
          "accommodation.chalet",
          "accommodation.guest_house",
          "accommodation.hostel",
          "accommodation.motel",
          "activity",
          "activity.community_center",
          "activity.events_venue",
          "activity.hackerspace",
          "activity.sport_club",
          "adult",
          "adult.nightclub",
          "adult.stripclub",
          "adult.swingerclub",
          "adult.brothel",
          "adult.casino",
          "adult.adult_gaming_centre",
          "airport",
          "airport.terminal",
          "airport.private",
          "airport.international",
          "airport.military",
          "airport.gliding",
          "airport.airfield",
          "amenity",
          "amenity.toilet",
          "amenity.toilet.changing_table",
          "amenity.drinking_water",
          "amenity.give_box",
          "amenity.give_box.food",
          "amenity.give_box.books",
          "beach",
          "beach.beach_resort",
          "administrative",
          "administrative.continent_level",
          "administrative.country_level",
          "administrative.country_part_level",
          "administrative.state_level",
          "administrative.county_level",
          "administrative.city_level",
          "administrative.district_level",
          "administrative.suburb_level",
          "administrative.neighbourhood_level",
          "postal_code",
          "political",
          "low_emission_zone",
          "building",
          "building.residential",
          "building.commercial",
          "building.industrial",
          "building.office",
          "building.catering",
          "building.healthcare",
          "building.university",
          "building.college",
          "building.dormitory",
          "building.school",
          "building.driving_school",
          "building.kindergarten",
          "building.public_and_civil",
          "building.sport",
          "building.spa",
          "building.place_of_worship",
          "building.holiday_house",
          "building.accommodation",
          "building.tourism",
          "building.transportation",
          "building.military",
          "building.service",
          "building.facility",
          "building.garage",
          "building.parking",
          "building.toilet",
          "building.prison",
          "building.entertainment",
          "building.historic",
          "camping",
          "camping.camp_pitch",
          "camping.camp_site",
          "camping.summer_camp",
          "camping.caravan_site",
          "catering",
          "catering.restaurant",
          "catering.restaurant.pizza",
          "catering.restaurant.burger",
          "catering.restaurant.regional",
          "catering.restaurant.italian",
          "catering.restaurant.chinese",
          "catering.restaurant.sandwich",
          "catering.restaurant.chicken",
          "catering.restaurant.mexican",
          "catering.restaurant.japanese",
          "catering.restaurant.american",
          "catering.restaurant.kebab",
          "catering.restaurant.indian",
          "catering.restaurant.asian",
          "catering.restaurant.sushi",
          "catering.restaurant.french",
          "catering.restaurant.german",
          "catering.restaurant.thai",
          "catering.restaurant.greek",
          "catering.restaurant.seafood",
          "catering.restaurant.fish_and_chips",
          "catering.restaurant.steak_house",
          "catering.restaurant.international",
          "catering.restaurant.tex-mex",
          "catering.restaurant.vietnamese",
          "catering.restaurant.turkish",
          "catering.restaurant.korean",
          "catering.restaurant.noodle",
          "catering.restaurant.barbecue",
          "catering.restaurant.spanish",
          "catering.restaurant.fish",
          "catering.restaurant.ramen",
          "catering.restaurant.mediterranean",
          "catering.restaurant.friture",
          "catering.restaurant.beef_bowl",
          "catering.restaurant.lebanese",
          "catering.restaurant.wings",
          "catering.restaurant.georgian",
          "catering.restaurant.tapas",
          "catering.restaurant.indonesian",
          "catering.restaurant.arab",
          "catering.restaurant.portuguese",
          "catering.restaurant.russian",
          "catering.restaurant.filipino",
          "catering.restaurant.african",
          "catering.restaurant.malaysian",
          "catering.restaurant.caribbean",
          "catering.restaurant.peruvian",
          "catering.restaurant.bavarian",
          "catering.restaurant.brazilian",
          "catering.restaurant.curry",
          "catering.restaurant.dumpling",
          "catering.restaurant.persian",
          "catering.restaurant.argentinian",
          "catering.restaurant.oriental",
          "catering.restaurant.balkan",
          "catering.restaurant.moroccan",
          "catering.restaurant.pita",
          "catering.restaurant.ethiopian",
          "catering.restaurant.taiwanese",
          "catering.restaurant.latin_american",
          "catering.restaurant.hawaiian",
          "catering.restaurant.irish",
          "catering.restaurant.austrian",
          "catering.restaurant.croatian",
          "catering.restaurant.danish",
          "catering.restaurant.tacos",
          "catering.restaurant.bolivian",
          "catering.restaurant.hungarian",
          "catering.restaurant.western",
          "catering.restaurant.european",
          "catering.restaurant.jamaican",
          "catering.restaurant.cuban",
          "catering.restaurant.soup",
          "catering.restaurant.uzbek",
          "catering.restaurant.nepalese",
          "catering.restaurant.czech",
          "catering.restaurant.syrian",
          "catering.restaurant.afghan",
          "catering.restaurant.malay",
          "catering.restaurant.chili",
          "catering.restaurant.belgian",
          "catering.restaurant.ukrainian",
          "catering.restaurant.swedish",
          "catering.restaurant.pakistani",
          "catering.fast_food",
          "catering.fast_food.pizza",
          "catering.fast_food.burger",
          "catering.fast_food.sandwich",
          "catering.fast_food.kebab",
          "catering.fast_food.fish_and_chips",
          "catering.fast_food.noodle",
          "catering.fast_food.ramen",
          "catering.fast_food.wings",
          "catering.fast_food.tapas",
          "catering.fast_food.pita",
          "catering.fast_food.tacos",
          "catering.fast_food.soup",
          "catering.fast_food.salad",
          "catering.fast_food.hot_dog",
          "catering.cafe",
          "catering.cafe.waffle",
          "catering.cafe.ice_cream",
          "catering.cafe.coffee_shop",
          "catering.cafe.donut",
          "catering.cafe.crepe",
          "catering.cafe.bubble_tea",
          "catering.cafe.cake",
          "catering.cafe.frozen_yogurt",
          "catering.cafe.dessert",
          "catering.cafe.coffee",
          "catering.cafe.tea",
          "catering.food_court",
          "catering.bar",
          "catering.pub",
          "catering.ice_cream",
          "catering.biergarten",
          "catering.taproom",
          "commercial",
          "commercial.supermarket",
          "commercial.marketplace",
          "commercial.shopping_mall",
          "commercial.department_store",
          "commercial.elektronics",
          "commercial.outdoor_and_sport",
          "commercial.outdoor_and_sport.water_sports",
          "commercial.outdoor_and_sport.ski",
          "commercial.outdoor_and_sport.diving",
          "commercial.outdoor_and_sport.hunting",
          "commercial.outdoor_and_sport.bicycle",
          "commercial.outdoor_and_sport.fishing",
          "commercial.outdoor_and_sport.golf",
          "commercial.vehicle",
          "commercial.hobby",
          "commercial.hobby.model",
          "commercial.hobby.anime",
          "commercial.hobby.collecting",
          "commercial.hobby.games",
          "commercial.hobby.brewing",
          "commercial.hobby.photo",
          "commercial.hobby.music",
          "commercial.hobby.sewing_and_knitting",
          "commercial.hobby.art",
          "commercial.books",
          "commercial.gift_and_souvenir",
          "commercial.stationery",
          "commercial.newsagent",
          "commercial.tickets_and_lottery",
          "commercial.clothing",
          "commercial.clothing.shoes",
          "commercial.clothing.clothes",
          "commercial.clothing.underwear",
          "commercial.clothing.sport",
          "commercial.clothing.men",
          "commercial.clothing.women",
          "commercial.clothing.kids",
          "commercial.clothing.accessories",
          "commercial.bag",
          "commercial.baby_goods",
          "commercial.agrarian",
          "commercial.garden",
          "commercial.houseware_and_hardware",
          "commercial.houseware_and_hardware.doityourself",
          "commercial.houseware_and_hardware.hardware_and_tools",
          "commercial.houseware_and_hardware.building_materials",
          "commercial.houseware_and_hardware.building_materials.paint",
          "commercial.houseware_and_hardware.building_materials.glaziery",
          "commercial.houseware_and_hardware.building_materials.doors",
          "commercial.houseware_and_hardware.building_materials.tiles",
          "commercial.houseware_and_hardware.building_materials.windows",
          "commercial.houseware_and_hardware.building_materials.flooring",
          "commercial.houseware_and_hardware.fireplace",
          "commercial.houseware_and_hardware.swimming_pool",
          "commercial.florist",
          "commercial.furniture_and_interior",
          "commercial.furniture_and_interior.lighting",
          "commercial.furniture_and_interior.curtain",
          "commercial.furniture_and_interior.carpet",
          "commercial.furniture_and_interior.kitchen",
          "commercial.furniture_and_interior.bed",
          "commercial.furniture_and_interior.bathroom",
          "commercial.chemist",
          "commercial.health_and_beauty",
          "commercial.health_and_beauty.pharmacy",
          "commercial.health_and_beauty.optician",
          "commercial.health_and_beauty.medical_supply",
          "commercial.health_and_beauty.hearing_aids",
          "commercial.health_and_beauty.herbalist",
          "commercial.health_and_beauty.cosmetics",
          "commercial.health_and_beauty.wigs",
          "commercial.toy_and_game",
          "commercial.pet",
          "commercial.food_and_drink",
          "commercial.food_and_drink.bakery",
          "commercial.food_and_drink.deli",
          "commercial.food_and_drink.frozen_food",
          "commercial.food_and_drink.pasta",
          "commercial.food_and_drink.spices",
          "commercial.food_and_drink.organic",
          "commercial.food_and_drink.honey",
          "commercial.food_and_drink.rice",
          "commercial.food_and_drink.nuts",
          "commercial.food_and_drink.health_food",
          "commercial.food_and_drink.ice_cream",
          "commercial.food_and_drink.seafood",
          "commercial.food_and_drink.fruit_and_vegetable",
          "commercial.food_and_drink.farm",
          "commercial.food_and_drink.confectionery",
          "commercial.food_and_drink.chocolate",
          "commercial.food_and_drink.butcher",
          "commercial.food_and_drink.cheese_and_dairy",
          "commercial.food_and_drink.drinks",
          "commercial.food_and_drink.coffee_and_tea",
          "commercial.convenience",
          "commercial.discount_store",
          "commercial.smoking",
          "commercial.second_hand",
          "commercial.gas",
          "commercial.weapons",
          "commercial.pyrotechnics",
          "commercial.energy",
          "commercial.wedding",
          "commercial.jewelry",
          "commercial.watches",
          "commercial.art",
          "commercial.antiques",
          "commercial.video_and_music",
          "commercial.erotic",
          "commercial.trade",
          "commercial.kiosk",
          "education",
          "education.school",
          "education.driving_school",
          "education.music_school",
          "education.language_school",
          "education.library",
          "education.college",
          "education.university",
          "childcare",
          "childcare.kindergarten",
          "emergency",
          "emergency.fire_hydrant",
          "emergency.fire_service_inlet",
          "emergency.suction_point",
          "emergency.defibrillator",
          "emergency.water_tank",
          "emergency.phone",
          "emergency.assembly_point",
          "emergency.fire_extinguisher",
          "emergency.ambulance_station",
          "emergency.access_point",
          "emergency.siren",
          "emergency.fire_alarm_box",
          "emergency.first_aid_kit",
          "emergency.first_aid",
          "emergency.bleed_control_kit",
          "emergency.emergency_ward_entrance",
          "emergency.control_centre",
          "emergency.fire_water_pond",
          "emergency.fire_hose",
          "emergency.dry_riser_inlet",
          "emergency.fire_detection_system",
          "emergency.key_depot",
          "emergency.fire_lookout",
          "emergency.fire_flapper",
          "emergency.lifeguard",
          "emergency.life_ring",
          "emergency.landing_site",
          "emergency.water_rescue",
          "emergency.marine_rescue",
          "emergency.mountain_rescue",
          "emergency.air_rescue_service",
          "emergency.rescue_box",
          "emergency.slipway",
          "emergency.disaster_response",
          "emergency.disaster_help_point",
          "emergency.drinking_water",
          "emergency.lifeguard_base",
          "entertainment",
          "entertainment.culture",
          "entertainment.culture.theatre",
          "entertainment.culture.arts_centre",
          "entertainment.culture.gallery",
          "entertainment.zoo",
          "entertainment.aquarium",
          "entertainment.planetarium",
          "entertainment.museum",
          "entertainment.cinema",
          "entertainment.amusement_arcade",
          "entertainment.escape_game",
          "entertainment.miniature_golf",
          "entertainment.bowling_alley",
          "entertainment.flying_fox",
          "entertainment.theme_park",
          "entertainment.water_park",
          "entertainment.activity_park",
          "entertainment.activity_park.trampoline",
          "entertainment.activity_park.climbing",
          "healthcare",
          "healthcare.clinic_or_praxis",
          "healthcare.clinic_or_praxis.allergology",
          "healthcare.clinic_or_praxis.vascular_surgery",
          "healthcare.clinic_or_praxis.urology",
          "healthcare.clinic_or_praxis.trauma",
          "healthcare.clinic_or_praxis.rheumatology",
          "healthcare.clinic_or_praxis.radiology",
          "healthcare.clinic_or_praxis.pulmonology",
          "healthcare.clinic_or_praxis.psychiatry",
          "healthcare.clinic_or_praxis.paediatrics",
          "healthcare.clinic_or_praxis.otolaryngology",
          "healthcare.clinic_or_praxis.orthopaedics",
          "healthcare.clinic_or_praxis.ophthalmology",
          "healthcare.clinic_or_praxis.occupational",
          "healthcare.clinic_or_praxis.gynaecology",
          "healthcare.clinic_or_praxis.general",
          "healthcare.clinic_or_praxis.gastroenterology",
          "healthcare.clinic_or_praxis.endocrinology",
          "healthcare.clinic_or_praxis.dermatology",
          "healthcare.clinic_or_praxis.cardiology",
          "healthcare.dentist",
          "healthcare.dentist.orthodontics",
          "healthcare.hospital",
          "healthcare.pharmacy",
          "heritage",
          "heritage.unesco",
          "traffic_signals",
          "highway",
          "highway.residential",
          "highway.public",
          "highway.service",
          "highway.track",
          "highway.footway",
          "highway.busway",
          "highway.cycleway",
          "highway.pedestrian",
          "highway.path",
          "highway.living_street",
          "highway.roundabout",
          "highway.primary",
          "highway.primary.link",
          "highway.secondary",
          "highway.secondary.link",
          "highway.tertiary",
          "highway.tertiary.link",
          "highway.trunk",
          "highway.trunk.link",
          "highway.motorway",
          "highway.motorway.junction",
          "highway.motorway.link",
          "leisure",
          "leisure.picnic",
          "leisure.picnic.picnic_site",
          "leisure.picnic.picnic_table",
          "leisure.picnic.bbq",
          "leisure.playground",
          "leisure.spa",
          "leisure.spa.public_bath",
          "leisure.spa.sauna",
          "leisure.park",
          "leisure.park.garden",
          "leisure.park.nature_reserve",
          "man_made",
          "man_made.pier",
          "man_made.breakwater",
          "man_made.tower",
          "man_made.water_tower",
          "man_made.bridge",
          "man_made.lighthouse",
          "man_made.windmill",
          "man_made.watermill",
          "maritime",
          "maritime.marina",
          "memorial",
          "memorial.graveyard",
          "memorial.cemetery",
          "memorial.cemetery.sector",
          "memorial.christian",
          "memorial.christian.catholic",
          "memorial.christian.orthodox",
          "memorial.christian.protestant",
          "memorial.jewish",
          "memorial.muslim",
          "memorial.buddhist",
          "memorial.hindu",
          "natural",
          "natural.forest",
          "natural.coastal",
          "natural.water",
          "natural.water.sea",
          "natural.water.bay",
          "natural.water.spring",
          "natural.water.reef",
          "natural.water.inland",
          "natural.water.moat",
          "natural.water.river_system",
          "natural.water.whitewater",
          "natural.water.hot_spring",
          "natural.water.geyser",
          "natural.desert",
          "natural.mountain",
          "natural.mountain.peak",
          "natural.mountain.hill",
          "natural.mountain.fell",
          "natural.mountain.volcano",
          "natural.mountain.glacier",
          "natural.mountain.cliff",
          "natural.mountain.rock",
          "natural.mountain.cave_entrance",
          "natural.wetland",
          "natural.heath_moor",
          "natural.sand",
          "natural.sand.dune",
          "natural.protected_area",
          "national_park",
          "office",
          "office.government",
          "office.government.administrative",
          "office.government.register_office",
          "office.government.tax",
          "office.government.public_service",
          "office.government.ministry",
          "office.government.healthcare",
          "office.government.prosecutor",
          "office.government.transportation",
          "office.government.social_services",
          "office.government.legislative",
          "office.government.education",
          "office.government.customs",
          "office.government.embassy",
          "office.government.social_security",
          "office.government.environment",
          "office.government.migration",
          "office.government.cadaster",
          "office.government.forestry",
          "office.government.agriculture",
          "office.company",
          "office.estate_agent",
          "office.insurance",
          "office.lawyer",
          "office.telecommunication",
          "office.educational_institution",
          "office.association",
          "office.non_profit",
          "office.diplomatic",
          "office.it",
          "office.accountant",
          "office.employment_agency",
          "office.religion",
          "office.research",
          "office.architect",
          "office.financial",
          "office.tax_advisor",
          "office.advertising_agency",
          "office.notary",
          "office.newspaper",
          "office.political_party",
          "office.logistics",
          "office.energy_supplier",
          "office.travel_agent",
          "office.financial_advisor",
          "office.consulting",
          "office.foundation",
          "office.coworking",
          "office.water_utility",
          "office.forestry",
          "office.charity",
          "office.security",
          "parking",
          "parking.cars",
          "parking.cars.surface",
          "parking.cars.multistorey",
          "parking.cars.underground",
          "parking.cars.rooftop",
          "parking.surface",
          "parking.multistorey",
          "parking.underground",
          "parking.rooftop",
          "parking.motorcycle",
          "parking.bicycles",
          "pet",
          "pet.shop",
          "pet.veterinary",
          "pet.animal_boarding",
          "pet.animal_shelter",
          "pet.service",
          "pet.dog_park",
          "pet.crematorium",
          "continent",
          "country",
          "island",
          "populated_place",
          "populated_place.hamlet",
          "populated_place.village",
          "populated_place.unpopulated_locality",
          "populated_place.neighbourhood",
          "populated_place.suburb",
          "populated_place.town",
          "populated_place.city_block",
          "populated_place.quarter",
          "populated_place.city",
          "populated_place.allotments",
          "populated_place.county",
          "populated_place.municipality",
          "populated_place.district",
          "populated_place.region",
          "populated_place.state",
          "populated_place.borough",
          "populated_place.subdistrict",
          "populated_place.province",
          "populated_place.township",
          "power",
          "power.tower",
          "power.pole",
          "power.portal",
          "power.switch",
          "power.plant",
          "power.plant.solar",
          "power.plant.hydro",
          "power.plant.wind",
          "power.plant.gas",
          "power.plant.coal",
          "power.plant.biomass",
          "power.plant.oil",
          "power.plant.waste",
          "power.plant.geothermal",
          "power.plant.nuclear",
          "power.catenary_mast",
          "power.cable",
          "power.terminal",
          "power.insulator",
          "power.heliostat",
          "power.connection",
          "power.inverter",
          "power.converter",
          "power.compensator",
          "power.generator",
          "power.generator.solar",
          "power.generator.wind",
          "power.generator.gas",
          "power.generator.biomass",
          "power.generator.hydro",
          "power.generator.oil",
          "power.generator.coal",
          "power.generator.nuclear",
          "power.generator.geothermal",
          "power.line",
          "power.circuit",
          "power.minor_line",
          "power.substation",
          "power.transformer",
          "production",
          "production.factory",
          "production.winery",
          "production.brewery",
          "production.cheese",
          "production.pottery",
          "production.beekeeper",
          "production.distillery",
          "public_transport",
          "public_transport.train",
          "public_transport.light_rail",
          "public_transport.monorail",
          "public_transport.subway",
          "public_transport.subway.entrance",
          "public_transport.bus",
          "public_transport.tram",
          "public_transport.platform",
          "public_transport.ferry",
          "public_transport.aerialway",
          "railway",
          "railway.train",
          "railway.subway",
          "railway.tram",
          "railway.light_rail",
          "railway.funicular",
          "railway.construction",
          "railway.underground",
          "railway.surface",
          "religion",
          "religion.place_of_worship",
          "religion.place_of_worship.buddhism",
          "religion.place_of_worship.christianity",
          "religion.place_of_worship.hinduism",
          "religion.place_of_worship.islam",
          "religion.place_of_worship.judaism",
          "religion.place_of_worship.shinto",
          "religion.place_of_worship.sikhism",
          "religion.place_of_worship.multifaith",
          "rental",
          "rental.car",
          "rental.storage",
          "rental.bicycle",
          "rental.boat",
          "rental.ski",
          "service",
          "service.financial",
          "service.financial.atm",
          "service.financial.payment_terminal",
          "service.financial.bank",
          "service.financial.bureau_de_change",
          "service.financial.money_transfer",
          "service.financial.money_lender",
          "service.cleaning",
          "service.cleaning.lavoir",
          "service.cleaning.laundry",
          "service.cleaning.dry_cleaning",
          "service.crematorium",
          "service.crematorium.pet",
          "service.funeral_hall",
          "service.mortuary",
          "service.place_of_mourning",
          "service.travel_agency",
          "service.post",
          "service.post.office",
          "service.post.box",
          "service.post.parcel_locker",
          "service.police",
          "service.fire_station",
          "service.vehicle",
          "service.vehicle.fuel",
          "service.vehicle.car_wash",
          "service.vehicle.charging_station",
          "service.vehicle.repair",
          "service.vehicle.repair.car",
          "service.vehicle.repair.motorcycle",
          "service.beauty",
          "service.beauty.hairdresser",
          "service.beauty.spa",
          "service.beauty.massage",
          "service.beauty.tanning_salon",
          "service.beauty.tattoo",
          "service.advertising",
          "service.advertising.billboard",
          "service.advertising.column",
          "service.tailor",
          "service.funeral_directors",
          "service.bookmaker",
          "service.estate_agent",
          "service.locksmith",
          "service.taxi",
          "service.social_facility",
          "service.social_facility.shelter",
          "service.social_facility.food",
          "service.social_facility.day_care",
          "service.social_facility.nursing_home",
          "service.social_facility.clothers",
          "service.social_facility.retirement_home",
          "service.recycling",
          "service.recycling.container",
          "service.recycling.centre",
          "service.recycling.bin",
          "service.blacksmith",
          "service.carpenter",
          "service.chimney_sweeper",
          "service.electrician",
          "service.key_cutter",
          "service.metal_construction",
          "service.photographer",
          "service.shoemaker",
          "service.watchmaker",
          "ski",
          "ski.lift",
          "ski.lift.cable_car",
          "ski.lift.gondola",
          "ski.lift.mixed_lift",
          "ski.lift.chair_lift",
          "ski.lift.tow_line",
          "ski.lift.magic_carpet",
          "sport",
          "sport.stadium",
          "sport.dive_centre",
          "sport.shooting",
          "sport.skateboard",
          "sport.fishing",
          "sport.golf_course",
          "sport.dojo",
          "sport.horse_riding",
          "sport.ice_rink",
          "sport.pitch",
          "sport.sports_centre",
          "sport.sports_hall",
          "sport.swimming_pool",
          "sport.track",
          "sport.fitness",
          "sport.fitness.gym",
          "sport.fitness.fitness_centre",
          "sport.fitness.fitness_station",
          "tourism",
          "tourism.information",
          "tourism.information.office",
          "tourism.information.map",
          "tourism.information.ranger_station",
          "tourism.attraction",
          "tourism.attraction.artwork",
          "tourism.attraction.artwork.mural",
          "tourism.attraction.artwork.sculpture",
          "tourism.attraction.artwork.statue",
          "tourism.attraction.viewpoint",
          "tourism.attraction.fountain",
          "tourism.attraction.clock",
          "tourism.sights",
          "tourism.sights.square",
          "tourism.sights.place_of_worship",
          "tourism.sights.place_of_worship.church",
          "tourism.sights.place_of_worship.chapel",
          "tourism.sights.place_of_worship.cathedral",
          "tourism.sights.place_of_worship.mosque",
          "tourism.sights.place_of_worship.synagogue",
          "tourism.sights.place_of_worship.temple",
          "tourism.sights.place_of_worship.shrine",
          "tourism.sights.monastery",
          "tourism.sights.city_hall",
          "tourism.sights.conference_centre",
          "tourism.sights.lighthouse",
          "tourism.sights.windmill",
          "tourism.sights.tower",
          "tourism.sights.battlefield",
          "tourism.sights.fort",
          "tourism.sights.building",
          "tourism.sights.manor",
          "tourism.sights.castle",
          "tourism.sights.mine",
          "tourism.sights.ruines",
          "tourism.sights.archaeological_site",
          "tourism.sights.city_gate",
          "tourism.sights.wreck",
          "tourism.sights.bridge",
          "tourism.sights.memorial",
          "tourism.sights.memorial.aircraft",
          "tourism.sights.memorial.locomotive",
          "tourism.sights.memorial.railway_car",
          "tourism.sights.memorial.ship",
          "tourism.sights.memorial.tank",
          "tourism.sights.memorial.tomb",
          "tourism.sights.memorial.monument",
          "tourism.sights.memorial.wayside_cross",
          "tourism.sights.memorial.boundary_stone",
          "tourism.sights.memorial.pillory",
          "tourism.sights.memorial.milestone",
          "tourism.sights.memorial.necropolis",
          "tourism.sights.memorial.tumulus",
          "waterway",
          "waterway.navigation",
          "waterway.channels",
          "waterway.river_system",
          "waterway.hydraulic_structures",
          "waterway.whitewater",
          "waterway.water_point"
        ],
        "example": "catering.restaurant"
      },
      "PlaceCondition": {
        "type": "string",
        "description": "Supported hierarchical place condition accepted by the `conditions` parameter.",
        "enum": [
          "internet_access",
          "internet_access.free",
          "internet_access.for_customers",
          "wheelchair",
          "wheelchair.yes",
          "wheelchair.limited",
          "dogs",
          "dogs.yes",
          "dogs.leashed",
          "no-dogs",
          "access",
          "access.yes",
          "access.not_specified",
          "access_limited",
          "access_limited.private",
          "access_limited.customers",
          "access_limited.with_permit",
          "access_limited.services",
          "no_access",
          "fee",
          "no_fee",
          "no_fee.no",
          "no_fee.not_specified",
          "named",
          "vegetarian",
          "vegetarian.only",
          "vegan",
          "vegan.only",
          "halal",
          "halal.only",
          "kosher",
          "kosher.only",
          "organic",
          "organic.only",
          "gluten_free",
          "sugar_free",
          "egg_free",
          "soy_free"
        ],
        "example": "wheelchair.yes"
      },
      "GatewayError": {
        "type": "object",
        "required": [
          "statusCode",
          "error",
          "message"
        ],
        "properties": {
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code returned by the gateway."
          },
          "error": {
            "type": "string",
            "description": "Standard HTTP error name."
          },
          "message": {
            "type": "string",
            "description": "Human-readable explanation of the error."
          }
        }
      },
      "PlaceProperties": {
        "type": "object",
        "description": "Common properties and known place-detail fields returned by the Places API. Additional category-specific properties may appear when available.",
        "additionalProperties": true,
        "properties": {
          "name": {
            "type": "string"
          },
          "continent": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "state_code": {
            "type": "string"
          },
          "state_COG": {
            "type": "string"
          },
          "department_COG": {
            "type": "string"
          },
          "state_district": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "arrondissement": {
            "type": "string"
          },
          "county": {
            "type": "string"
          },
          "county_code": {
            "type": "string"
          },
          "county_district": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "city_district": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "postal_code": {
            "type": "string"
          },
          "openGeoDB:postal_codes": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "suburb": {
            "type": "string"
          },
          "municipality": {
            "type": "string"
          },
          "commune": {
            "type": "string"
          },
          "subdistrict": {
            "type": "string"
          },
          "city_block": {
            "type": "string"
          },
          "neighbourhood": {
            "type": "string"
          },
          "quarter": {
            "type": "string"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "subdivision": {
            "type": "string"
          },
          "croft": {
            "type": "string"
          },
          "allotments": {
            "type": "string"
          },
          "residental": {
            "type": "string"
          },
          "farm": {
            "type": "string"
          },
          "farmyard": {
            "type": "string"
          },
          "industrial": {
            "type": "string"
          },
          "retail": {
            "type": "string"
          },
          "borough": {
            "type": "string"
          },
          "town": {
            "type": "string"
          },
          "township": {
            "type": "string"
          },
          "village": {
            "type": "string"
          },
          "hamlet": {
            "type": "string"
          },
          "locality": {
            "type": "string"
          },
          "isolated_dwelling": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "road": {
            "type": "string"
          },
          "footway": {
            "type": "string"
          },
          "pedestrian": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "housenumber": {
            "type": "string"
          },
          "house_number": {
            "type": "string"
          },
          "house_name": {
            "type": "string"
          },
          "old_name": {
            "type": "string"
          },
          "other": {
            "type": "string"
          },
          "formatted": {
            "type": "string"
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": "string"
          },
          "unlocode": {
            "type": "string"
          },
          "iso3166_2": {
            "type": "string"
          },
          "iso3166_2_sublevel": {
            "type": "string"
          },
          "iso3166_sublevel": {
            "type": "string"
          },
          "plus_code": {
            "type": "string"
          },
          "plus_code_short": {
            "type": "string"
          },
          "postcodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "other_names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "parent_as_place_id": {
            "type": "boolean"
          },
          "timezone": {
            "$ref": "#/components/schemas/TimezoneOutput"
          },
          "population": {
            "oneOf": [
              {
                "type": "number"
              },
              {
                "$ref": "#/components/schemas/WikiPopulation"
              }
            ]
          },
          "distance": {
            "type": "number"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "datasource": {
            "$ref": "#/components/schemas/PlacesDatasource"
          },
          "mappedTo": {
            "type": "object",
            "properties": {
              "lon": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "lat": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              }
            }
          },
          "place_id": {
            "type": "string",
            "minLength": 3,
            "maxLength": 2048
          },
          "website": {
            "type": "string"
          },
          "opening_hours": {
            "type": "string"
          },
          "opening_hours_covid19": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "operator": {
            "type": "string"
          },
          "branch": {
            "type": "string"
          },
          "network": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "craft": {
            "type": "string"
          },
          "ref": {
            "type": "string"
          },
          "int_ref": {
            "type": "string"
          },
          "ele": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "water_source": {
            "type": "string"
          },
          "website_other": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "website_international": {
            "$ref": "#/components/schemas/StringMap"
          },
          "description_international": {
            "$ref": "#/components/schemas/StringMap"
          },
          "name_international": {
            "$ref": "#/components/schemas/StringMap"
          },
          "cuisine_international": {
            "$ref": "#/components/schemas/StringMap"
          },
          "ref_other": {
            "$ref": "#/components/schemas/StringMap"
          },
          "disused": {
            "type": "boolean"
          },
          "commercial": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/PlaceDetailGroup"
              }
            ]
          },
          "payment_options": {
            "$ref": "#/components/schemas/BooleanMap"
          },
          "recycling_options": {
            "$ref": "#/components/schemas/BooleanMap"
          },
          "fuel_options": {
            "$ref": "#/components/schemas/BooleanMap"
          },
          "targeted_for": {
            "$ref": "#/components/schemas/BooleanMap"
          },
          "socket_options": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/PlaceDetailGroup"
            }
          },
          "brand_details": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "operator_details": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "network_details": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "owner_details": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "name_other": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "contact": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "facilities": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "wiki_and_media": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "historic": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "heritage": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "artwork": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "accommodation": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "catering": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "parking": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "airport": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "power": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "way": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "building": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "place_of_worship": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "fire_hydrant": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "defibrilator": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "restrictions": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          },
          "production": {
            "$ref": "#/components/schemas/PlaceDetailGroup"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyInQuery": {
        "type": "apiKey",
        "in": "query",
        "name": "apiKey",
        "description": "Geoapify API key query parameter. Recommended authentication method for public APIs. API keys in URLs can be logged; use x-api-key for server-to-server clients."
      },
      "ApiKeyInHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Geoapify API key header. Supported as an alternative authentication method for public APIs."
      }
    }
  },
  "security": [
    {
      "ApiKeyInQuery": []
    },
    {
      "ApiKeyInHeader": []
    }
  ]
}
