{
  "openapi": "3.1.0",
  "info": {
    "title": "Geoapify Map Matching API",
    "version": "1.1.0",
    "description": "Snap ordered GPS measurements to a route on the routable road network."
  },
  "servers": [
    {
      "url": "https://api.geoapify.com/v1",
      "description": "Default API endpoint."
    },
    {
      "url": "https://api-eu.geoapify.com/v1",
      "description": "EU-focused endpoint. Geoapify service processing uses EU infrastructure."
    }
  ],
  "tags": [
    {
      "name": "Map Matching"
    }
  ],
  "paths": {
    "/mapmatching": {
      "post": {
        "tags": [
          "Map Matching"
        ],
        "operationId": "matchGpsTrace",
        "summary": "Match a GPS trace to the road network",
        "description": "Snaps an ordered GPS trace to a plausible route on the routable road network.\n\n- Send `mode` and 1–1,000 `waypoints` in a JSON body.\n- Each waypoint `location` uses GeoJSON coordinate order: `[longitude, latitude]`.\n- Optional timestamps help calculate effective speed and reject implausible measurements.\n- Optional bearings describe recorded travel direction in degrees clockwise from north.\n- Waypoint order is preserved; points may be matched, unmatched, interpolated, or merged.\n- The response is a GeoJSON `FeatureCollection` with `MultiLineString` route geometry, matched waypoint metadata, legs, and road-level steps.\n\n**Example:** a 35-point timestamped GPS trace matched with `mode=drive`.",
        "requestBody": {
          "required": true,
          "description": "GPS trace and matching options. The request body must be JSON.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MapMatchingRequest"
              },
              "example": {
                "mode": "drive",
                "waypoints": [
                  {
                    "timestamp": "2019-11-04T07:09:34.000Z",
                    "location": [
                      10.694703,
                      47.567028
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:09:45.000Z",
                    "location": [
                      10.6950319,
                      47.567783
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:09:57.000Z",
                    "location": [
                      10.6952599,
                      47.5682759
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:10:07.000Z",
                    "location": [
                      10.6965304,
                      47.5687653
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:10:17.000Z",
                    "location": [
                      10.6975647,
                      47.5691475
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:10:28.000Z",
                    "location": [
                      10.6984645,
                      47.5689924
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:10:38.000Z",
                    "location": [
                      10.6993804,
                      47.5695884
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:10:49.000Z",
                    "location": [
                      10.7004255,
                      47.5696526
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:10:59.000Z",
                    "location": [
                      10.7017509,
                      47.5691545
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:11:34.000Z",
                    "location": [
                      10.7028073,
                      47.5688025
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:11:45.000Z",
                    "location": [
                      10.7039882,
                      47.5684956
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:11:55.000Z",
                    "location": [
                      10.7059951,
                      47.5678558
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:12:05.000Z",
                    "location": [
                      10.7085059,
                      47.5668116
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:12:16.000Z",
                    "location": [
                      10.7106272,
                      47.5658437
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:12:26.000Z",
                    "location": [
                      10.7130338,
                      47.5651228
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:12:37.000Z",
                    "location": [
                      10.7154089,
                      47.5652946
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:12:47.000Z",
                    "location": [
                      10.7175699,
                      47.5655232
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:12:58.000Z",
                    "location": [
                      10.7203314,
                      47.5657987
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:13:09.000Z",
                    "location": [
                      10.7229241,
                      47.5660543
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:13:20.000Z",
                    "location": [
                      10.7252423,
                      47.5656265
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:13:30.000Z",
                    "location": [
                      10.7269064,
                      47.5647174
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:13:41.000Z",
                    "location": [
                      10.7275872,
                      47.5632757
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:13:51.000Z",
                    "location": [
                      10.7290924,
                      47.5617733
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:14:02.000Z",
                    "location": [
                      10.7312696,
                      47.560384
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:14:13.000Z",
                    "location": [
                      10.7330629,
                      47.5588335
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:14:23.000Z",
                    "location": [
                      10.7348687,
                      47.5579939
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:14:33.000Z",
                    "location": [
                      10.736509,
                      47.5568371
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:14:44.000Z",
                    "location": [
                      10.7384167,
                      47.5569489
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:14:55.000Z",
                    "location": [
                      10.740077,
                      47.556789
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:15:21.000Z",
                    "location": [
                      10.7405779,
                      47.5566208
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:15:32.000Z",
                    "location": [
                      10.7407534,
                      47.5562106
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:15:43.000Z",
                    "location": [
                      10.7399772,
                      47.555543
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:16:00.000Z",
                    "location": [
                      10.7395943,
                      47.5552649
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:16:11.000Z",
                    "location": [
                      10.7387026,
                      47.554868
                    ]
                  },
                  {
                    "timestamp": "2019-11-04T07:16:23.000Z",
                    "location": [
                      10.7378114,
                      47.554748
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Matched GeoJSON route. The feature contains snapped route geometry, total distance and time, road-level steps, and one match record for each input waypoint.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MapMatchingFeatureCollection"
                },
                "example": {
                  "type": "FeatureCollection",
                  "features": [
                    {
                      "type": "Feature",
                      "properties": {
                        "distance": 4611,
                        "time": 326,
                        "legs": [
                          {
                            "time": 326,
                            "distance": 4611,
                            "steps": [
                              {
                                "osm_way_id": 150185120,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "unclassified",
                                "from_index": 0,
                                "to_index": 2,
                                "name": "Morisse",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 4,
                                "distance": 31,
                                "begin_bearing": 17,
                                "end_bearing": 16
                              },
                              {
                                "osm_way_id": 150185120,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "unclassified",
                                "from_index": 2,
                                "to_index": 3,
                                "name": "Morisse",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 24,
                                "begin_bearing": 14,
                                "end_bearing": 14
                              },
                              {
                                "osm_way_id": 150185120,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "unclassified",
                                "from_index": 3,
                                "to_index": 4,
                                "name": "Morisse",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 15,
                                "begin_bearing": 17,
                                "end_bearing": 17
                              },
                              {
                                "osm_way_id": 150185120,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "unclassified",
                                "from_index": 4,
                                "to_index": 6,
                                "name": "Morisse",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 13,
                                "begin_bearing": 18,
                                "end_bearing": 18
                              },
                              {
                                "osm_way_id": 498012707,
                                "speed": 40,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "unclassified",
                                "from_index": 6,
                                "to_index": 7,
                                "name": "Morisse",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 4,
                                "begin_bearing": 19,
                                "end_bearing": 19
                              },
                              {
                                "osm_way_id": 624169049,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 7,
                                "to_index": 14,
                                "name": "Kemptener Straße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": true,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 13,
                                "begin_bearing": 65,
                                "end_bearing": 65
                              },
                              {
                                "osm_way_id": 624169049,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 14,
                                "to_index": 19,
                                "name": "Kemptener Straße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": true,
                                "traversability": "forward",
                                "time": 2,
                                "distance": 12,
                                "begin_bearing": 4,
                                "end_bearing": 4
                              },
                              {
                                "osm_way_id": 624169049,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 19,
                                "to_index": 20,
                                "name": "Kemptener Straße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": true,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 2,
                                "begin_bearing": 329,
                                "end_bearing": 329
                              },
                              {
                                "osm_way_id": 26304356,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 20,
                                "to_index": 22,
                                "name": "Glückstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 12,
                                "begin_bearing": 357,
                                "end_bearing": 357
                              },
                              {
                                "osm_way_id": 26304356,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 22,
                                "to_index": 23,
                                "name": "Glückstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 7,
                                "begin_bearing": 5,
                                "end_bearing": 5
                              },
                              {
                                "osm_way_id": 549408766,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 23,
                                "to_index": 24,
                                "name": "Glückstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 18,
                                "begin_bearing": 23,
                                "end_bearing": 23
                              },
                              {
                                "osm_way_id": 31766319,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 24,
                                "to_index": 27,
                                "name": "Glückstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 32,
                                "begin_bearing": 49,
                                "end_bearing": 64
                              },
                              {
                                "osm_way_id": 25735341,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 27,
                                "to_index": 32,
                                "name": "Ottostraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 11,
                                "distance": 156,
                                "begin_bearing": 72,
                                "end_bearing": 50
                              },
                              {
                                "osm_way_id": 202420492,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 32,
                                "to_index": 39,
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": true,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 12,
                                "begin_bearing": 93,
                                "end_bearing": 93
                              },
                              {
                                "osm_way_id": 31810941,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 39,
                                "to_index": 40,
                                "name": "Von-Freyberg-Straße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "forward",
                                "time": 2,
                                "distance": 18,
                                "begin_bearing": 103,
                                "end_bearing": 103
                              },
                              {
                                "osm_way_id": 11493930,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 40,
                                "to_index": 44,
                                "name": "Von-Freyberg-Straße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 5,
                                "distance": 43,
                                "begin_bearing": 106,
                                "end_bearing": 96
                              },
                              {
                                "osm_way_id": 11493930,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 44,
                                "to_index": 45,
                                "name": "Von-Freyberg-Straße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 6,
                                "begin_bearing": 83,
                                "end_bearing": 83
                              },
                              {
                                "osm_way_id": 150185140,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 45,
                                "to_index": 47,
                                "name": "Luitpoldstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 8,
                                "begin_bearing": 63,
                                "end_bearing": 63
                              },
                              {
                                "osm_way_id": 150185140,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 47,
                                "to_index": 48,
                                "name": "Luitpoldstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 7,
                                "begin_bearing": 62,
                                "end_bearing": 62
                              },
                              {
                                "osm_way_id": 218654242,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 48,
                                "to_index": 51,
                                "name": "Luitpoldstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 5,
                                "distance": 38,
                                "begin_bearing": 47,
                                "end_bearing": 49
                              },
                              {
                                "osm_way_id": 218654242,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 51,
                                "to_index": 53,
                                "name": "Luitpoldstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 28,
                                "begin_bearing": 48,
                                "end_bearing": 48
                              },
                              {
                                "osm_way_id": 218654242,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 53,
                                "to_index": 55,
                                "name": "Luitpoldstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 13,
                                "begin_bearing": 49,
                                "end_bearing": 49
                              },
                              {
                                "osm_way_id": 218654242,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 55,
                                "to_index": 56,
                                "name": "Luitpoldstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 4,
                                "begin_bearing": 46,
                                "end_bearing": 46
                              },
                              {
                                "osm_way_id": 218791919,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 56,
                                "to_index": 58,
                                "name": "Luitpoldstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 12,
                                "begin_bearing": 73,
                                "end_bearing": 73
                              },
                              {
                                "osm_way_id": 956114564,
                                "speed": 30,
                                "speed_limit": 30,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 58,
                                "to_index": 62,
                                "name": "Prinzregentenplatz",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": true,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 10,
                                "begin_bearing": 63,
                                "end_bearing": 63
                              },
                              {
                                "osm_way_id": 218791920,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 62,
                                "to_index": 63,
                                "name": "Prinzregentenplatz",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 19,
                                "begin_bearing": 79,
                                "end_bearing": 79
                              },
                              {
                                "osm_way_id": 275267329,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "secondary",
                                "from_index": 63,
                                "to_index": 67,
                                "name": "Prinzregentenplatz",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 43,
                                "begin_bearing": 102,
                                "end_bearing": 93
                              },
                              {
                                "osm_way_id": 909779028,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 67,
                                "to_index": 69,
                                "name": "Kaiser-Maximilian-Platz, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 5,
                                "distance": 71,
                                "begin_bearing": 112,
                                "end_bearing": 114
                              },
                              {
                                "osm_way_id": 1056559837,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 69,
                                "to_index": 71,
                                "name": "Kaiser-Maximilian-Platz, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 18,
                                "begin_bearing": 125,
                                "end_bearing": 125
                              },
                              {
                                "osm_way_id": 1056842986,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 71,
                                "to_index": 72,
                                "name": "Kaiser-Maximilian-Platz, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 20,
                                "begin_bearing": 136,
                                "end_bearing": 136
                              },
                              {
                                "osm_way_id": 275267331,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 72,
                                "to_index": 76,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 35,
                                "begin_bearing": 128,
                                "end_bearing": 120
                              },
                              {
                                "osm_way_id": 75989309,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "primary",
                                "from_index": 76,
                                "to_index": 77,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 27,
                                "begin_bearing": 110,
                                "end_bearing": 110
                              },
                              {
                                "osm_way_id": 75989309,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "primary",
                                "from_index": 77,
                                "to_index": 79,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 4,
                                "distance": 49,
                                "begin_bearing": 111,
                                "end_bearing": 111
                              },
                              {
                                "osm_way_id": 28972330,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "primary",
                                "from_index": 79,
                                "to_index": 80,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 23,
                                "begin_bearing": 110,
                                "end_bearing": 110
                              },
                              {
                                "osm_way_id": 28972330,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "primary",
                                "from_index": 80,
                                "to_index": 83,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 26,
                                "begin_bearing": 110,
                                "end_bearing": 110
                              },
                              {
                                "osm_way_id": 1239617506,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 83,
                                "to_index": 84,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 14,
                                "begin_bearing": 112,
                                "end_bearing": 112
                              },
                              {
                                "osm_way_id": 369571911,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 84,
                                "to_index": 89,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 5,
                                "distance": 63,
                                "begin_bearing": 115,
                                "end_bearing": 114
                              },
                              {
                                "osm_way_id": 29593711,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 89,
                                "to_index": 90,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 25,
                                "begin_bearing": 116,
                                "end_bearing": 116
                              },
                              {
                                "osm_way_id": 34603701,
                                "speed": 100,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 90,
                                "to_index": 94,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 8,
                                "distance": 231,
                                "begin_bearing": 116,
                                "end_bearing": 122
                              },
                              {
                                "osm_way_id": 909779029,
                                "speed": 70,
                                "speed_limit": 80,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 94,
                                "to_index": 97,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 27,
                                "begin_bearing": 122,
                                "end_bearing": 122
                              },
                              {
                                "osm_way_id": 909779029,
                                "speed": 70,
                                "speed_limit": 80,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 97,
                                "to_index": 99,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 4,
                                "distance": 71,
                                "begin_bearing": 123,
                                "end_bearing": 123
                              },
                              {
                                "osm_way_id": 456761092,
                                "speed": 70,
                                "speed_limit": 80,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 99,
                                "to_index": 100,
                                "name": "Sebastianstraße, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 19,
                                "begin_bearing": 123,
                                "end_bearing": 123
                              },
                              {
                                "osm_way_id": 15701443,
                                "speed": 70,
                                "speed_limit": 80,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 100,
                                "to_index": 101,
                                "name": "König-Ludwig-Brücke, B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": true,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 7,
                                "distance": 141,
                                "begin_bearing": 124,
                                "end_bearing": 124
                              },
                              {
                                "osm_way_id": 369566532,
                                "speed": 70,
                                "speed_limit": 70,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 101,
                                "to_index": 102,
                                "name": "B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 18,
                                "begin_bearing": 123,
                                "end_bearing": 123
                              },
                              {
                                "osm_way_id": 202389980,
                                "speed": 70,
                                "speed_limit": 70,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "primary",
                                "from_index": 102,
                                "to_index": 104,
                                "name": "B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 11,
                                "begin_bearing": 123,
                                "end_bearing": 123
                              },
                              {
                                "osm_way_id": 202529075,
                                "speed": 70,
                                "speed_limit": 70,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 104,
                                "to_index": 105,
                                "name": "B 16",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 30,
                                "begin_bearing": 121,
                                "end_bearing": 121
                              },
                              {
                                "osm_way_id": 25927077,
                                "speed": 70,
                                "speed_limit": 70,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 105,
                                "to_index": 106,
                                "name": "Füssener Straße, B 17",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 4,
                                "distance": 38,
                                "begin_bearing": 120,
                                "end_bearing": 120
                              },
                              {
                                "osm_way_id": 4471681,
                                "speed": 70,
                                "speed_limit": 70,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 106,
                                "to_index": 107,
                                "name": "Füssener Straße, B 17",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 26,
                                "begin_bearing": 116,
                                "end_bearing": 116
                              },
                              {
                                "osm_way_id": 369566533,
                                "speed": 70,
                                "speed_limit": 70,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 107,
                                "to_index": 111,
                                "name": "Füssener Straße, B 17",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 68,
                                "begin_bearing": 113,
                                "end_bearing": 104
                              },
                              {
                                "osm_way_id": 369566533,
                                "speed": 70,
                                "speed_limit": 70,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "primary",
                                "from_index": 111,
                                "to_index": 129,
                                "name": "Füssener Straße, B 17",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 12,
                                "distance": 233,
                                "begin_bearing": 101,
                                "end_bearing": 67
                              },
                              {
                                "osm_way_id": 35107900,
                                "speed": 125,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "secondary",
                                "from_index": 129,
                                "to_index": 132,
                                "name": "Parkstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 30,
                                "begin_bearing": 99,
                                "end_bearing": 97
                              },
                              {
                                "osm_way_id": 35107900,
                                "speed": 125,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 2,
                                "road_class": "secondary",
                                "from_index": 132,
                                "to_index": 133,
                                "name": "Parkstraße",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "forward",
                                "time": 1,
                                "distance": 20,
                                "begin_bearing": 81,
                                "end_bearing": 81
                              },
                              {
                                "osm_way_id": 655325762,
                                "speed": 100,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 133,
                                "to_index": 136,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 7,
                                "distance": 183,
                                "begin_bearing": 82,
                                "end_bearing": 81
                              },
                              {
                                "osm_way_id": 655325762,
                                "speed": 100,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 136,
                                "to_index": 140,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 12,
                                "distance": 325,
                                "begin_bearing": 82,
                                "end_bearing": 81
                              },
                              {
                                "osm_way_id": 965949833,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 140,
                                "to_index": 141,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 19,
                                "begin_bearing": 82,
                                "end_bearing": 82
                              },
                              {
                                "osm_way_id": 965949833,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 141,
                                "to_index": 142,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 13,
                                "begin_bearing": 90,
                                "end_bearing": 90
                              },
                              {
                                "osm_way_id": 24970422,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 142,
                                "to_index": 144,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 20,
                                "begin_bearing": 98,
                                "end_bearing": 98
                              },
                              {
                                "osm_way_id": 24970422,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 144,
                                "to_index": 145,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 3,
                                "begin_bearing": 107,
                                "end_bearing": 107
                              },
                              {
                                "osm_way_id": 24970422,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 145,
                                "to_index": 158,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 20,
                                "distance": 275,
                                "begin_bearing": 113,
                                "end_bearing": 144
                              },
                              {
                                "osm_way_id": 24970422,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 158,
                                "to_index": 166,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 10,
                                "distance": 139,
                                "begin_bearing": 142,
                                "end_bearing": 176
                              },
                              {
                                "osm_way_id": 956594076,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 166,
                                "to_index": 171,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 5,
                                "distance": 67,
                                "begin_bearing": 173,
                                "end_bearing": 159
                              },
                              {
                                "osm_way_id": 956594075,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 171,
                                "to_index": 175,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 4,
                                "distance": 58,
                                "begin_bearing": 151,
                                "end_bearing": 148
                              },
                              {
                                "osm_way_id": 910958697,
                                "speed": 100,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 175,
                                "to_index": 177,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 4,
                                "distance": 115,
                                "begin_bearing": 144,
                                "end_bearing": 138
                              },
                              {
                                "osm_way_id": 910958697,
                                "speed": 100,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 177,
                                "to_index": 179,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 8,
                                "distance": 219,
                                "begin_bearing": 134,
                                "end_bearing": 134
                              },
                              {
                                "osm_way_id": 655325763,
                                "speed": 100,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 179,
                                "to_index": 205,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 22,
                                "distance": 598,
                                "begin_bearing": 134,
                                "end_bearing": 107
                              },
                              {
                                "osm_way_id": 655325763,
                                "speed": 100,
                                "speed_limit": 100,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 205,
                                "to_index": 209,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 77,
                                "begin_bearing": 81,
                                "end_bearing": 75
                              },
                              {
                                "osm_way_id": 655325764,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 209,
                                "to_index": 214,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 6,
                                "distance": 83,
                                "begin_bearing": 85,
                                "end_bearing": 96
                              },
                              {
                                "osm_way_id": 655325764,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 214,
                                "to_index": 216,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 6,
                                "distance": 82,
                                "begin_bearing": 97,
                                "end_bearing": 106
                              },
                              {
                                "osm_way_id": 28972323,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 216,
                                "to_index": 217,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 12,
                                "begin_bearing": 106,
                                "end_bearing": 106
                              },
                              {
                                "osm_way_id": 12152482,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 217,
                                "to_index": 218,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 32,
                                "begin_bearing": 111,
                                "end_bearing": 111
                              },
                              {
                                "osm_way_id": 233862494,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 218,
                                "to_index": 220,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 15,
                                "begin_bearing": 128,
                                "end_bearing": 128
                              },
                              {
                                "osm_way_id": 573659103,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "secondary",
                                "from_index": 220,
                                "to_index": 221,
                                "name": "Parkstraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 29,
                                "begin_bearing": 141,
                                "end_bearing": 141
                              },
                              {
                                "osm_way_id": 38624253,
                                "speed": 50,
                                "speed_limit": 50,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 221,
                                "to_index": 222,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 8,
                                "begin_bearing": 183,
                                "end_bearing": 183
                              },
                              {
                                "osm_way_id": 379095030,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 222,
                                "to_index": 224,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 14,
                                "begin_bearing": 192,
                                "end_bearing": 192
                              },
                              {
                                "osm_way_id": 379095030,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 224,
                                "to_index": 226,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 6,
                                "distance": 27,
                                "begin_bearing": 209,
                                "end_bearing": 211
                              },
                              {
                                "osm_way_id": 379095030,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 226,
                                "to_index": 227,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 6,
                                "distance": 24,
                                "begin_bearing": 222,
                                "end_bearing": 222
                              },
                              {
                                "osm_way_id": 379095030,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 227,
                                "to_index": 228,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 9,
                                "distance": 38,
                                "begin_bearing": 224,
                                "end_bearing": 224
                              },
                              {
                                "osm_way_id": 379095030,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 228,
                                "to_index": 233,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 20,
                                "distance": 83,
                                "begin_bearing": 217,
                                "end_bearing": 226
                              },
                              {
                                "osm_way_id": 769462547,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 233,
                                "to_index": 234,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 1,
                                "distance": 6,
                                "begin_bearing": 235,
                                "end_bearing": 235
                              },
                              {
                                "osm_way_id": 769462547,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 234,
                                "to_index": 235,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 2,
                                "distance": 9,
                                "begin_bearing": 242,
                                "end_bearing": 242
                              },
                              {
                                "osm_way_id": 769462547,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 235,
                                "to_index": 240,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 12,
                                "distance": 49,
                                "begin_bearing": 246,
                                "end_bearing": 250
                              },
                              {
                                "osm_way_id": 769462551,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 240,
                                "to_index": 243,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 6,
                                "distance": 24,
                                "begin_bearing": 261,
                                "end_bearing": 262
                              },
                              {
                                "osm_way_id": 769462551,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 243,
                                "to_index": 244,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 3,
                                "distance": 12,
                                "begin_bearing": 265,
                                "end_bearing": 265
                              },
                              {
                                "osm_way_id": 769462553,
                                "speed": 15,
                                "speed_limit": 15,
                                "surface": "paved_smooth",
                                "lane_count": 1,
                                "road_class": "tertiary",
                                "from_index": 244,
                                "to_index": 246,
                                "name": "Alpseestraße, St 2008",
                                "toll": false,
                                "tunnel": false,
                                "bridge": false,
                                "roundabout": false,
                                "traversability": "both",
                                "time": 5,
                                "distance": 19,
                                "begin_bearing": 261,
                                "end_bearing": 261
                              }
                            ]
                          }
                        ],
                        "mode": "drive",
                        "waypoints": [
                          {
                            "original_index": 0,
                            "location": [
                              10.694689,
                              47.56703
                            ],
                            "original_location": [
                              10.694703,
                              47.567028
                            ],
                            "match_type": "matched",
                            "match_distance": 1.022797,
                            "leg_index": 0,
                            "step_index": 0
                          },
                          {
                            "original_index": 1,
                            "location": [
                              10.695032,
                              47.567789
                            ],
                            "original_location": [
                              10.6950319,
                              47.567783
                            ],
                            "match_type": "matched",
                            "match_distance": 0.71318,
                            "leg_index": 0,
                            "step_index": 5
                          },
                          {
                            "original_index": 2,
                            "location": [
                              10.695257,
                              47.568269
                            ],
                            "original_location": [
                              10.6952599,
                              47.5682759
                            ],
                            "match_type": "matched",
                            "match_distance": 0.792993,
                            "leg_index": 0,
                            "step_index": 10
                          },
                          {
                            "original_index": 3,
                            "location": [
                              10.696531,
                              47.568763
                            ],
                            "original_location": [
                              10.6965304,
                              47.5687653
                            ],
                            "match_type": "matched",
                            "match_distance": 0.176465,
                            "leg_index": 0,
                            "step_index": 12
                          },
                          {
                            "original_index": 4,
                            "location": [
                              10.697514,
                              47.569145
                            ],
                            "original_location": [
                              10.6975647,
                              47.5691475
                            ],
                            "match_type": "matched",
                            "match_distance": 3.785831,
                            "leg_index": 0,
                            "step_index": 13
                          },
                          {
                            "original_index": 5,
                            "location": [
                              10.698416,
                              47.569056
                            ],
                            "original_location": [
                              10.6984645,
                              47.5689924
                            ],
                            "match_type": "matched",
                            "match_distance": 7.900073,
                            "leg_index": 0,
                            "step_index": 17
                          },
                          {
                            "original_index": 6,
                            "location": [
                              10.699368,
                              47.569601
                            ],
                            "original_location": [
                              10.6993804,
                              47.5695884
                            ],
                            "match_type": "matched",
                            "match_distance": 1.672281,
                            "leg_index": 0,
                            "step_index": 22
                          },
                          {
                            "original_index": 7,
                            "location": [
                              10.700425,
                              47.569653
                            ],
                            "original_location": [
                              10.7004255,
                              47.5696526
                            ],
                            "match_type": "matched",
                            "match_distance": 0.056717,
                            "leg_index": 0,
                            "step_index": 26
                          },
                          {
                            "original_index": 8,
                            "location": [
                              10.701743,
                              47.569148
                            ],
                            "original_location": [
                              10.7017509,
                              47.5691545
                            ],
                            "match_type": "matched",
                            "match_distance": 0.832764,
                            "leg_index": 0,
                            "step_index": 30
                          },
                          {
                            "original_index": 9,
                            "location": [
                              10.702813,
                              47.568813
                            ],
                            "original_location": [
                              10.7028073,
                              47.5688025
                            ],
                            "match_type": "matched",
                            "match_distance": 1.331654,
                            "leg_index": 0,
                            "step_index": 32
                          },
                          {
                            "original_index": 10,
                            "location": [
                              10.703994,
                              47.568504
                            ],
                            "original_location": [
                              10.7039882,
                              47.5684956
                            ],
                            "match_type": "matched",
                            "match_distance": 1.116977,
                            "leg_index": 0,
                            "step_index": 36
                          },
                          {
                            "original_index": 11,
                            "location": [
                              10.705986,
                              47.567844
                            ],
                            "original_location": [
                              10.7059951,
                              47.5678558
                            ],
                            "match_type": "matched",
                            "match_distance": 1.358089,
                            "leg_index": 0,
                            "step_index": 38
                          },
                          {
                            "original_index": 12,
                            "location": [
                              10.708496,
                              47.566802
                            ],
                            "original_location": [
                              10.7085059,
                              47.5668116
                            ],
                            "match_type": "matched",
                            "match_distance": 1.243694,
                            "leg_index": 0,
                            "step_index": 40
                          },
                          {
                            "original_index": 13,
                            "location": [
                              10.710614,
                              47.565839
                            ],
                            "original_location": [
                              10.7106272,
                              47.5658437
                            ],
                            "match_type": "matched",
                            "match_distance": 1.06637,
                            "leg_index": 0,
                            "step_index": 43
                          },
                          {
                            "original_index": 14,
                            "location": [
                              10.713035,
                              47.565131
                            ],
                            "original_location": [
                              10.7130338,
                              47.5651228
                            ],
                            "match_type": "matched",
                            "match_distance": 0.97735,
                            "leg_index": 0,
                            "step_index": 49
                          },
                          {
                            "original_index": 15,
                            "location": [
                              10.715405,
                              47.565301
                            ],
                            "original_location": [
                              10.7154089,
                              47.5652946
                            ],
                            "match_type": "matched",
                            "match_distance": 0.768504,
                            "leg_index": 0,
                            "step_index": 49
                          },
                          {
                            "original_index": 16,
                            "location": [
                              10.717574,
                              47.565501
                            ],
                            "original_location": [
                              10.7175699,
                              47.5655232
                            ],
                            "match_type": "matched",
                            "match_distance": 2.459081,
                            "leg_index": 0,
                            "step_index": 52
                          },
                          {
                            "original_index": 17,
                            "location": [
                              10.720335,
                              47.565779
                            ],
                            "original_location": [
                              10.7203314,
                              47.5657987
                            ],
                            "match_type": "matched",
                            "match_distance": 2.154922,
                            "leg_index": 0,
                            "step_index": 53
                          },
                          {
                            "original_index": 18,
                            "location": [
                              10.722927,
                              47.56604
                            ],
                            "original_location": [
                              10.7229241,
                              47.5660543
                            ],
                            "match_type": "matched",
                            "match_distance": 1.503283,
                            "leg_index": 0,
                            "step_index": 53
                          },
                          {
                            "original_index": 19,
                            "location": [
                              10.725236,
                              47.565615
                            ],
                            "original_location": [
                              10.7252423,
                              47.5656265
                            ],
                            "match_type": "matched",
                            "match_distance": 1.325799,
                            "leg_index": 0,
                            "step_index": 58
                          },
                          {
                            "original_index": 20,
                            "location": [
                              10.726891,
                              47.564709
                            ],
                            "original_location": [
                              10.7269064,
                              47.5647174
                            ],
                            "match_type": "matched",
                            "match_distance": 1.441065,
                            "leg_index": 0,
                            "step_index": 59
                          },
                          {
                            "original_index": 21,
                            "location": [
                              10.727594,
                              47.563276
                            ],
                            "original_location": [
                              10.7275872,
                              47.5632757
                            ],
                            "match_type": "matched",
                            "match_distance": 0.568386,
                            "leg_index": 0,
                            "step_index": 60
                          },
                          {
                            "original_index": 22,
                            "location": [
                              10.729101,
                              47.561779
                            ],
                            "original_location": [
                              10.7290924,
                              47.5617733
                            ],
                            "match_type": "matched",
                            "match_distance": 0.940661,
                            "leg_index": 0,
                            "step_index": 63
                          },
                          {
                            "original_index": 23,
                            "location": [
                              10.731265,
                              47.56038
                            ],
                            "original_location": [
                              10.7312696,
                              47.560384
                            ],
                            "match_type": "matched",
                            "match_distance": 0.48721,
                            "leg_index": 0,
                            "step_index": 64
                          },
                          {
                            "original_index": 24,
                            "location": [
                              10.733061,
                              47.558832
                            ],
                            "original_location": [
                              10.7330629,
                              47.5588335
                            ],
                            "match_type": "matched",
                            "match_distance": 0.126014,
                            "leg_index": 0,
                            "step_index": 64
                          },
                          {
                            "original_index": 25,
                            "location": [
                              10.734875,
                              47.557996
                            ],
                            "original_location": [
                              10.7348687,
                              47.5579939
                            ],
                            "match_type": "matched",
                            "match_distance": 0.603041,
                            "leg_index": 0,
                            "step_index": 64
                          },
                          {
                            "original_index": 26,
                            "location": [
                              10.736504,
                              47.556828
                            ],
                            "original_location": [
                              10.736509,
                              47.5568371
                            ],
                            "match_type": "matched",
                            "match_distance": 1.010753,
                            "leg_index": 0,
                            "step_index": 64
                          },
                          {
                            "original_index": 27,
                            "location": [
                              10.738421,
                              47.556983
                            ],
                            "original_location": [
                              10.7384167,
                              47.5569489
                            ],
                            "match_type": "matched",
                            "match_distance": 3.852286,
                            "leg_index": 0,
                            "step_index": 66
                          },
                          {
                            "original_index": 28,
                            "location": [
                              10.740066,
                              47.556771
                            ],
                            "original_location": [
                              10.740077,
                              47.556789
                            ],
                            "match_type": "matched",
                            "match_distance": 2.130137,
                            "leg_index": 0,
                            "step_index": 69
                          },
                          {
                            "original_index": 29,
                            "location": [
                              10.740561,
                              47.556606
                            ],
                            "original_location": [
                              10.7405779,
                              47.5566208
                            ],
                            "match_type": "matched",
                            "match_distance": 1.968605,
                            "leg_index": 0,
                            "step_index": 70
                          },
                          {
                            "original_index": 30,
                            "location": [
                              10.740777,
                              47.556204
                            ],
                            "original_location": [
                              10.7407534,
                              47.5562106
                            ],
                            "match_type": "matched",
                            "match_distance": 1.906197,
                            "leg_index": 0,
                            "step_index": 73
                          },
                          {
                            "original_index": 31,
                            "location": [
                              10.739982,
                              47.55554
                            ],
                            "original_location": [
                              10.7399772,
                              47.555543
                            ],
                            "match_type": "matched",
                            "match_distance": 0.533835,
                            "leg_index": 0,
                            "step_index": 77
                          },
                          {
                            "original_index": 32,
                            "location": [
                              10.739632,
                              47.555242
                            ],
                            "original_location": [
                              10.7395943,
                              47.5552649
                            ],
                            "match_type": "matched",
                            "match_distance": 3.811031,
                            "leg_index": 0,
                            "step_index": 77
                          },
                          {
                            "original_index": 33,
                            "location": [
                              10.738717,
                              47.55484
                            ],
                            "original_location": [
                              10.7387026,
                              47.554868
                            ],
                            "match_type": "matched",
                            "match_distance": 3.216074,
                            "leg_index": 0,
                            "step_index": 80
                          },
                          {
                            "original_index": 34,
                            "location": [
                              10.737818,
                              47.554732
                            ],
                            "original_location": [
                              10.7378114,
                              47.554748
                            ],
                            "match_type": "matched",
                            "match_distance": 1.836092,
                            "leg_index": 0,
                            "step_index": 83
                          }
                        ]
                      },
                      "geometry": {
                        "type": "MultiLineString",
                        "coordinates": [
                          [
                            [
                              10.69469,
                              47.567031
                            ],
                            [
                              10.694792,
                              47.567251
                            ],
                            [
                              10.694809,
                              47.567302
                            ],
                            [
                              10.694887,
                              47.567512
                            ],
                            [
                              10.694947,
                              47.567644
                            ],
                            [
                              10.694994,
                              47.56774
                            ],
                            [
                              10.695002,
                              47.567757
                            ],
                            [
                              10.695019,
                              47.56779
                            ],
                            [
                              10.695032,
                              47.567789
                            ],
                            [
                              10.695043,
                              47.567789
                            ],
                            [
                              10.695066,
                              47.56779
                            ],
                            [
                              10.695098,
                              47.567797
                            ],
                            [
                              10.695139,
                              47.567813
                            ],
                            [
                              10.695158,
                              47.567826
                            ],
                            [
                              10.695168,
                              47.567836
                            ],
                            [
                              10.695182,
                              47.567853
                            ],
                            [
                              10.69519,
                              47.567872
                            ],
                            [
                              10.695193,
                              47.567894
                            ],
                            [
                              10.695188,
                              47.567916
                            ],
                            [
                              10.695178,
                              47.567936
                            ],
                            [
                              10.695164,
                              47.567952
                            ],
                            [
                              10.695156,
                              47.567983
                            ],
                            [
                              10.695156,
                              47.568057
                            ],
                            [
                              10.695163,
                              47.568117
                            ],
                            [
                              10.695257,
                              47.568269
                            ],
                            [
                              10.695322,
                              47.568329
                            ],
                            [
                              10.695411,
                              47.568377
                            ],
                            [
                              10.695604,
                              47.568429
                            ],
                            [
                              10.695915,
                              47.568499
                            ],
                            [
                              10.696531,
                              47.568763
                            ],
                            [
                              10.697237,
                              47.569067
                            ],
                            [
                              10.697346,
                              47.569133
                            ],
                            [
                              10.697368,
                              47.569151
                            ],
                            [
                              10.697386,
                              47.569144
                            ],
                            [
                              10.697404,
                              47.56914
                            ],
                            [
                              10.697432,
                              47.569136
                            ],
                            [
                              10.697462,
                              47.569136
                            ],
                            [
                              10.697488,
                              47.569139
                            ],
                            [
                              10.697514,
                              47.569145
                            ],
                            [
                              10.697514,
                              47.569146
                            ],
                            [
                              10.697745,
                              47.56911
                            ],
                            [
                              10.697942,
                              47.56907
                            ],
                            [
                              10.698124,
                              47.569038
                            ],
                            [
                              10.698254,
                              47.569032
                            ],
                            [
                              10.698297,
                              47.569036
                            ],
                            [
                              10.698378,
                              47.569043
                            ],
                            [
                              10.698416,
                              47.569056
                            ],
                            [
                              10.698478,
                              47.569077
                            ],
                            [
                              10.698557,
                              47.569105
                            ],
                            [
                              10.698591,
                              47.569125
                            ],
                            [
                              10.698707,
                              47.569201
                            ],
                            [
                              10.69893,
                              47.569334
                            ],
                            [
                              10.699035,
                              47.569398
                            ],
                            [
                              10.699203,
                              47.569502
                            ],
                            [
                              10.699319,
                              47.569569
                            ],
                            [
                              10.699334,
                              47.569579
                            ],
                            [
                              10.699368,
                              47.569601
                            ],
                            [
                              10.699473,
                              47.569623
                            ],
                            [
                              10.699526,
                              47.569634
                            ],
                            [
                              10.699557,
                              47.569634
                            ],
                            [
                              10.699587,
                              47.56964
                            ],
                            [
                              10.699617,
                              47.569653
                            ],
                            [
                              10.69964,
                              47.569673
                            ],
                            [
                              10.699885,
                              47.569705
                            ],
                            [
                              10.700193,
                              47.569659
                            ],
                            [
                              10.700241,
                              47.569654
                            ],
                            [
                              10.700425,
                              47.569653
                            ],
                            [
                              10.700449,
                              47.569653
                            ],
                            [
                              10.700691,
                              47.569586
                            ],
                            [
                              10.701316,
                              47.569396
                            ],
                            [
                              10.701416,
                              47.569357
                            ],
                            [
                              10.701516,
                              47.569302
                            ],
                            [
                              10.701704,
                              47.569171
                            ],
                            [
                              10.701743,
                              47.569148
                            ],
                            [
                              10.701836,
                              47.569097
                            ],
                            [
                              10.70194,
                              47.569046
                            ],
                            [
                              10.702084,
                              47.568999
                            ],
                            [
                              10.702417,
                              47.568918
                            ],
                            [
                              10.702813,
                              47.568813
                            ],
                            [
                              10.703022,
                              47.568759
                            ],
                            [
                              10.70331,
                              47.568689
                            ],
                            [
                              10.703435,
                              47.568659
                            ],
                            [
                              10.703476,
                              47.568649
                            ],
                            [
                              10.703636,
                              47.56861
                            ],
                            [
                              10.703812,
                              47.568561
                            ],
                            [
                              10.703855,
                              47.568548
                            ],
                            [
                              10.703994,
                              47.568504
                            ],
                            [
                              10.704439,
                              47.568367
                            ],
                            [
                              10.704474,
                              47.568359
                            ],
                            [
                              10.704573,
                              47.568329
                            ],
                            [
                              10.704869,
                              47.568233
                            ],
                            [
                              10.70541,
                              47.568055
                            ],
                            [
                              10.706217,
                              47.567761
                            ],
                            [
                              10.70681,
                              47.567525
                            ],
                            [
                              10.707551,
                              47.567215
                            ],
                            [
                              10.707664,
                              47.567167
                            ],
                            [
                              10.707777,
                              47.56712
                            ],
                            [
                              10.707856,
                              47.567085
                            ],
                            [
                              10.708496,
                              47.566802
                            ],
                            [
                              10.708649,
                              47.566735
                            ],
                            [
                              10.70886,
                              47.566642
                            ],
                            [
                              10.710415,
                              47.565927
                            ],
                            [
                              10.710614,
                              47.56584
                            ],
                            [
                              10.710614,
                              47.565839
                            ],
                            [
                              10.71074,
                              47.565785
                            ],
                            [
                              10.711087,
                              47.565644
                            ],
                            [
                              10.711526,
                              47.565474
                            ],
                            [
                              10.711832,
                              47.565372
                            ],
                            [
                              10.712173,
                              47.565274
                            ],
                            [
                              10.712305,
                              47.565244
                            ],
                            [
                              10.712437,
                              47.565219
                            ],
                            [
                              10.712691,
                              47.565175
                            ],
                            [
                              10.712921,
                              47.565144
                            ],
                            [
                              10.713035,
                              47.565131
                            ],
                            [
                              10.713096,
                              47.565125
                            ],
                            [
                              10.713275,
                              47.56511
                            ],
                            [
                              10.713596,
                              47.565092
                            ],
                            [
                              10.713796,
                              47.565092
                            ],
                            [
                              10.714002,
                              47.565099
                            ],
                            [
                              10.714212,
                              47.56511
                            ],
                            [
                              10.71442,
                              47.565127
                            ],
                            [
                              10.714597,
                              47.565145
                            ],
                            [
                              10.714807,
                              47.565178
                            ],
                            [
                              10.714994,
                              47.565207
                            ],
                            [
                              10.715173,
                              47.565245
                            ],
                            [
                              10.715326,
                              47.565281
                            ],
                            [
                              10.715405,
                              47.565301
                            ],
                            [
                              10.715464,
                              47.565316
                            ],
                            [
                              10.715604,
                              47.565354
                            ],
                            [
                              10.715727,
                              47.565391
                            ],
                            [
                              10.715893,
                              47.565372
                            ],
                            [
                              10.716046,
                              47.565357
                            ],
                            [
                              10.716118,
                              47.565355
                            ],
                            [
                              10.716375,
                              47.565384
                            ],
                            [
                              10.717059,
                              47.565449
                            ],
                            [
                              10.717574,
                              47.565501
                            ],
                            [
                              10.718788,
                              47.565624
                            ],
                            [
                              10.720335,
                              47.565779
                            ],
                            [
                              10.722084,
                              47.565955
                            ],
                            [
                              10.722927,
                              47.56604
                            ],
                            [
                              10.723066,
                              47.566055
                            ],
                            [
                              10.723314,
                              47.56608
                            ],
                            [
                              10.723483,
                              47.56608
                            ],
                            [
                              10.723626,
                              47.56607
                            ],
                            [
                              10.723744,
                              47.566054
                            ],
                            [
                              10.723782,
                              47.566046
                            ],
                            [
                              10.723846,
                              47.566032
                            ],
                            [
                              10.724595,
                              47.565795
                            ],
                            [
                              10.725066,
                              47.565653
                            ],
                            [
                              10.725236,
                              47.565615
                            ],
                            [
                              10.725422,
                              47.565574
                            ],
                            [
                              10.725804,
                              47.565468
                            ],
                            [
                              10.725967,
                              47.565407
                            ],
                            [
                              10.726103,
                              47.565336
                            ],
                            [
                              10.726239,
                              47.565244
                            ],
                            [
                              10.72641,
                              47.565122
                            ],
                            [
                              10.726581,
                              47.564992
                            ],
                            [
                              10.726736,
                              47.564851
                            ],
                            [
                              10.726826,
                              47.564766
                            ],
                            [
                              10.726891,
                              47.564709
                            ],
                            [
                              10.726986,
                              47.564627
                            ],
                            [
                              10.727223,
                              47.564384
                            ],
                            [
                              10.727399,
                              47.564162
                            ],
                            [
                              10.72744,
                              47.564062
                            ],
                            [
                              10.727474,
                              47.563934
                            ],
                            [
                              10.727486,
                              47.56382
                            ],
                            [
                              10.727503,
                              47.563639
                            ],
                            [
                              10.727521,
                              47.563506
                            ],
                            [
                              10.727594,
                              47.563276
                            ],
                            [
                              10.72761,
                              47.563229
                            ],
                            [
                              10.727646,
                              47.563166
                            ],
                            [
                              10.727707,
                              47.56306
                            ],
                            [
                              10.727812,
                              47.562931
                            ],
                            [
                              10.727888,
                              47.562838
                            ],
                            [
                              10.727994,
                              47.562708
                            ],
                            [
                              10.728095,
                              47.562605
                            ],
                            [
                              10.728554,
                              47.562183
                            ],
                            [
                              10.72906,
                              47.561806
                            ],
                            [
                              10.729101,
                              47.561779
                            ],
                            [
                              10.731169,
                              47.560444
                            ],
                            [
                              10.731265,
                              47.56038
                            ],
                            [
                              10.731756,
                              47.560058
                            ],
                            [
                              10.732242,
                              47.559597
                            ],
                            [
                              10.732659,
                              47.559156
                            ],
                            [
                              10.73285,
                              47.558984
                            ],
                            [
                              10.732926,
                              47.558921
                            ],
                            [
                              10.733061,
                              47.558832
                            ],
                            [
                              10.733135,
                              47.558785
                            ],
                            [
                              10.73349,
                              47.558671
                            ],
                            [
                              10.733902,
                              47.558595
                            ],
                            [
                              10.734164,
                              47.558528
                            ],
                            [
                              10.734391,
                              47.558436
                            ],
                            [
                              10.734537,
                              47.558339
                            ],
                            [
                              10.734648,
                              47.558244
                            ],
                            [
                              10.734875,
                              47.557996
                            ],
                            [
                              10.734949,
                              47.557917
                            ],
                            [
                              10.735179,
                              47.557648
                            ],
                            [
                              10.735302,
                              47.557537
                            ],
                            [
                              10.735475,
                              47.557404
                            ],
                            [
                              10.735833,
                              47.557181
                            ],
                            [
                              10.73619,
                              47.556969
                            ],
                            [
                              10.736364,
                              47.556882
                            ],
                            [
                              10.736473,
                              47.556836
                            ],
                            [
                              10.736504,
                              47.556828
                            ],
                            [
                              10.736607,
                              47.556804
                            ],
                            [
                              10.73672,
                              47.556789
                            ],
                            [
                              10.736854,
                              47.556795
                            ],
                            [
                              10.737022,
                              47.556822
                            ],
                            [
                              10.737568,
                              47.556937
                            ],
                            [
                              10.737707,
                              47.556957
                            ],
                            [
                              10.73795,
                              47.556971
                            ],
                            [
                              10.73834,
                              47.556989
                            ],
                            [
                              10.738421,
                              47.556983
                            ],
                            [
                              10.738566,
                              47.556974
                            ],
                            [
                              10.738804,
                              47.556956
                            ],
                            [
                              10.73936,
                              47.556909
                            ],
                            [
                              10.739877,
                              47.556809
                            ],
                            [
                              10.740036,
                              47.556779
                            ],
                            [
                              10.740429,
                              47.556677
                            ],
                            [
                              10.740561,
                              47.556606
                            ],
                            [
                              10.740582,
                              47.556596
                            ],
                            [
                              10.740822,
                              47.556395
                            ],
                            [
                              10.740816,
                              47.556327
                            ],
                            [
                              10.740807,
                              47.556266
                            ],
                            [
                              10.740777,
                              47.556204
                            ],
                            [
                              10.740702,
                              47.5561
                            ],
                            [
                              10.740598,
                              47.555994
                            ],
                            [
                              10.740384,
                              47.555834
                            ],
                            [
                              10.740037,
                              47.555589
                            ],
                            [
                              10.739982,
                              47.55554
                            ],
                            [
                              10.739776,
                              47.555353
                            ],
                            [
                              10.739632,
                              47.555242
                            ],
                            [
                              10.739498,
                              47.555138
                            ],
                            [
                              10.739322,
                              47.555026
                            ],
                            [
                              10.739261,
                              47.554997
                            ],
                            [
                              10.739161,
                              47.554961
                            ],
                            [
                              10.739009,
                              47.554908
                            ],
                            [
                              10.738829,
                              47.554868
                            ],
                            [
                              10.738727,
                              47.554843
                            ],
                            [
                              10.738717,
                              47.55484
                            ],
                            [
                              10.738549,
                              47.5548
                            ],
                            [
                              10.738438,
                              47.554783
                            ],
                            [
                              10.738334,
                              47.554774
                            ],
                            [
                              10.738227,
                              47.554768
                            ],
                            [
                              10.738072,
                              47.554759
                            ],
                            [
                              10.737853,
                              47.554739
                            ],
                            [
                              10.737818,
                              47.554732
                            ]
                          ]
                        ]
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid JSON body or Map Matching input, such as missing required fields, too many waypoints, invalid coordinates, malformed timestamps, or bearings outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "examples": {
                  "missingWaypoints": {
                    "summary": "Missing required waypoints",
                    "value": {
                      "statusCode": 400,
                      "error": "Bad Request",
                      "message": "\"waypoints\" is required"
                    }
                  },
                  "tooManyWaypoints": {
                    "summary": "More than 1,000 waypoints",
                    "value": {
                      "statusCode": 400,
                      "error": "Bad Request",
                      "message": "\"waypoints\" must contain less than or equal to 1000 items"
                    }
                  },
                  "invalidBearing": {
                    "summary": "Bearing outside the supported range",
                    "value": {
                      "statusCode": 400,
                      "error": "Bad Request",
                      "message": "\"waypoints[0].bearing\" must be less than or equal to 360"
                    }
                  }
                }
              }
            }
          },
          "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": {
      "MapMatchingRequest": {
        "type": "object",
        "required": [
          "mode",
          "waypoints"
        ],
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck"
            ],
            "example": "drive",
            "description": "Travel profile used to decide which roads can plausibly connect the GPS measurements. `drive` represents a passenger car."
          },
          "waypoints": {
            "type": "array",
            "minItems": 1,
            "maxItems": 1000,
            "description": "Ordered GPS measurements to match. Input order is preserved; the API does not optimize or reorder these points.",
            "items": {
              "$ref": "#/components/schemas/TraceWaypoint"
            }
          },
          "geocode_step_address": {
            "type": "boolean",
            "default": false,
            "description": "When `true`, reverse-geocodes matched route steps and adds address data. Each geocoded step adds API credit cost."
          },
          "lookup_step_osmtags": {
            "type": "boolean",
            "default": false,
            "description": "When `true`, looks up OpenStreetMap tags for matched route steps. Each lookup step adds API credit cost."
          },
          "lookup_osm_overlap": {
            "type": "boolean",
            "default": false,
            "description": "When `true`, includes OpenStreetMap overlap information for matched route steps. Each lookup step adds API credit cost."
          },
          "lang": {
            "type": "string",
            "enum": [
              "en",
              "de",
              "es",
              "fr",
              "hi",
              "it",
              "pt",
              "ru",
              "sl",
              "sv",
              "ca",
              "cs"
            ],
            "default": "en",
            "description": "Language code used for any generated address or instruction text."
          }
        }
      },
      "TraceWaypoint": {
        "type": "object",
        "required": [
          "location"
        ],
        "properties": {
          "location": {
            "type": "array",
            "minItems": 2,
            "maxItems": 2,
            "prefixItems": [
              {
                "type": "number",
                "minimum": -180,
                "maximum": 180,
                "description": "Longitude."
              },
              {
                "type": "number",
                "minimum": -90,
                "maximum": 90,
                "description": "Latitude."
              }
            ],
            "items": false,
            "description": "Recorded coordinate in GeoJSON order: `[longitude, latitude]`."
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2019-11-04T07:09:34.000Z",
            "description": "Optional ISO 8601 recording time. Ordered timestamps help estimate speed and identify implausible measurements."
          },
          "bearing": {
            "type": "number",
            "minimum": 0,
            "maximum": 360,
            "example": 45,
            "description": "Optional recorded travel direction in degrees clockwise from north."
          }
        }
      },
      "LongitudeLatitude": {
        "type": "array",
        "minItems": 2,
        "maxItems": 2,
        "prefixItems": [
          {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          }
        ],
        "items": false
      },
      "JsonValue": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          },
          {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JsonValue"
            }
          },
          {
            "$ref": "#/components/schemas/JsonObject"
          }
        ]
      },
      "JsonObject": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/JsonValue"
        }
      },
      "LocationData": {
        "type": "object",
        "required": [
          "lat",
          "lon"
        ],
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "address": {
            "type": "string"
          }
        }
      },
      "Avoid": {
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "tolls",
              "ferries",
              "highways",
              "locations",
              "polygons",
              "green_zones",
              "country_codes",
              "transfers"
            ]
          },
          "importance": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "values": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LocationData"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LocationData"
                  }
                }
              }
            ]
          }
        }
      },
      "MultiLineStringGeometry": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "const": "MultiLineString"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "array",
              "minItems": 2,
              "items": {
                "$ref": "#/components/schemas/LongitudeLatitude"
              }
            }
          }
        }
      },
      "PolygonGeometry": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "const": "Polygon"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "array",
              "minItems": 4,
              "items": {
                "$ref": "#/components/schemas/LongitudeLatitude"
              }
            }
          }
        }
      },
      "MultiPolygonGeometry": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "const": "MultiPolygon"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "array",
                "minItems": 4,
                "items": {
                  "$ref": "#/components/schemas/LongitudeLatitude"
                }
              }
            }
          }
        }
      },
      "IsolineGeometry": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/PolygonGeometry"
          },
          {
            "$ref": "#/components/schemas/MultiPolygonGeometry"
          }
        ]
      },
      "RouteInstruction": {
        "type": "object",
        "required": [
          "text"
        ],
        "properties": {
          "text": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "transition_instruction": {
            "type": "string"
          },
          "pre_transition_instruction": {
            "type": "string"
          },
          "post_transition_instruction": {
            "type": "string"
          },
          "contains_next_instruction": {
            "type": "boolean"
          },
          "streets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "exit_number": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "exit_road_name": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "exit_towards": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "roundabout_exit": {
            "type": "number"
          }
        }
      },
      "RouteStep": {
        "type": "object",
        "required": [
          "from_index",
          "to_index",
          "time",
          "distance"
        ],
        "properties": {
          "from_index": {
            "type": "integer"
          },
          "to_index": {
            "type": "integer"
          },
          "time": {
            "type": "number"
          },
          "distance": {
            "type": "number"
          },
          "instruction": {
            "$ref": "#/components/schemas/RouteInstruction"
          },
          "toll": {
            "type": "boolean"
          },
          "ferry": {
            "type": "boolean"
          },
          "bridge": {
            "type": "boolean"
          },
          "tunnel": {
            "type": "boolean"
          },
          "elevation": {
            "type": "number"
          },
          "elevation_gain": {
            "type": "number"
          },
          "max_elevation": {
            "type": "number"
          },
          "min_elevation": {
            "type": "number"
          },
          "admin_area": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "speed": {
            "type": "number"
          },
          "speed_limit": {
            "type": "number"
          },
          "truck_limit": {
            "type": "number"
          },
          "surface": {
            "type": "string"
          },
          "lane_count": {
            "type": "number"
          },
          "road_class": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "roundabout": {
            "type": "boolean"
          },
          "rightside": {
            "type": "boolean"
          },
          "traversability": {
            "type": "string"
          },
          "from_stop_id": {
            "type": "string"
          },
          "from_stop_name": {
            "type": "string"
          },
          "to_stop_id": {
            "type": "string"
          },
          "to_stop_name": {
            "type": "string"
          }
        }
      },
      "RouteLeg": {
        "type": "object",
        "required": [
          "time",
          "distance",
          "steps"
        ],
        "properties": {
          "time": {
            "type": "number"
          },
          "distance": {
            "type": "number"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteStep"
            }
          },
          "country_code": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "elevation": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "elevation_range": {
            "type": "array",
            "items": {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "items": false
            }
          },
          "agency_name": {
            "type": "string"
          },
          "agency_id": {
            "type": "string"
          },
          "agency_url": {
            "type": "string"
          },
          "route_id": {
            "type": "string"
          },
          "route_short_name": {
            "type": "string"
          },
          "route_long_name": {
            "type": "string"
          },
          "trip_id": {
            "type": "string"
          }
        }
      },
      "SnappedRouteWaypoint": {
        "type": "object",
        "required": [
          "location"
        ],
        "properties": {
          "original_index": {
            "type": "integer"
          },
          "location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          }
        }
      },
      "InputRouteWaypoint": {
        "type": "object",
        "required": [
          "lat",
          "lon"
        ],
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "address": {
            "type": "string"
          }
        }
      },
      "RouteWaypoint": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SnappedRouteWaypoint"
          },
          {
            "$ref": "#/components/schemas/InputRouteWaypoint"
          }
        ]
      },
      "RoutingResponseOptions": {
        "type": "object",
        "required": [
          "mode",
          "units",
          "waypoints"
        ],
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ]
          },
          "waypoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteWaypoint"
            }
          },
          "avoid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avoid"
            }
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "instruction_details",
                "route_details",
                "elevation",
                "admin_areas"
              ]
            }
          },
          "traffic": {
            "type": "string",
            "enum": [
              "free_flow",
              "approximated"
            ]
          },
          "intermediate_waypoint_mode": {
            "type": "string",
            "enum": [
              "stopover",
              "through_stop",
              "pass_through"
            ]
          }
        }
      },
      "RouteAdminArea": {
        "type": "object",
        "required": [
          "country_code"
        ],
        "properties": {
          "country_code": {
            "type": "string"
          },
          "country_text": {
            "type": "string"
          },
          "state_code": {
            "type": "string"
          },
          "state_text": {
            "type": "string"
          }
        }
      },
      "RouteAdminAreaCrossing": {
        "type": "object",
        "required": [
          "from_admin_index",
          "to_admin_index",
          "begin_shape_index",
          "end_shape_index"
        ],
        "properties": {
          "from_admin_index": {
            "type": "integer"
          },
          "to_admin_index": {
            "type": "integer"
          },
          "begin_shape_index": {
            "type": "integer"
          },
          "end_shape_index": {
            "type": "integer"
          }
        }
      },
      "RoutingFeatureProperties": {
        "type": "object",
        "required": [
          "mode",
          "units",
          "waypoints",
          "distance",
          "time",
          "legs"
        ],
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ]
          },
          "waypoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteWaypoint"
            }
          },
          "avoid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avoid"
            }
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "instruction_details",
                "route_details",
                "elevation",
                "admin_areas"
              ]
            }
          },
          "traffic": {
            "type": "string",
            "enum": [
              "free_flow",
              "approximated"
            ]
          },
          "intermediate_waypoint_mode": {
            "type": "string",
            "enum": [
              "stopover",
              "through_stop",
              "pass_through"
            ]
          },
          "distance": {
            "type": "number"
          },
          "time": {
            "type": "number"
          },
          "distance_units": {
            "type": "string",
            "enum": [
              "meters",
              "miles"
            ]
          },
          "max_speed": {
            "type": "number"
          },
          "legs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteLeg"
            }
          },
          "country_code": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "admin_areas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteAdminArea"
            }
          },
          "admin_area_crossings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteAdminAreaCrossing"
            }
          },
          "toll": {
            "type": "boolean"
          },
          "ferry": {
            "type": "boolean"
          }
        }
      },
      "RoutingFeature": {
        "type": "object",
        "required": [
          "type",
          "geometry",
          "properties"
        ],
        "properties": {
          "type": {
            "const": "Feature"
          },
          "geometry": {
            "$ref": "#/components/schemas/MultiLineStringGeometry"
          },
          "properties": {
            "$ref": "#/components/schemas/RoutingFeatureProperties"
          },
          "id": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          }
        }
      },
      "RoutingFeatureCollection": {
        "type": "object",
        "required": [
          "type",
          "features",
          "properties"
        ],
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutingFeature"
            }
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          },
          "properties": {
            "$ref": "#/components/schemas/RoutingResponseOptions"
          }
        }
      },
      "RoutingJsonPoint": {
        "type": "object",
        "required": [
          "lon",
          "lat"
        ],
        "properties": {
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          }
        }
      },
      "RoutingJsonResult": {
        "type": "object",
        "required": [
          "mode",
          "units",
          "waypoints",
          "distance",
          "time",
          "legs",
          "geometry"
        ],
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ]
          },
          "waypoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteWaypoint"
            }
          },
          "avoid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avoid"
            }
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "instruction_details",
                "route_details",
                "elevation",
                "admin_areas"
              ]
            }
          },
          "traffic": {
            "type": "string",
            "enum": [
              "free_flow",
              "approximated"
            ]
          },
          "intermediate_waypoint_mode": {
            "type": "string",
            "enum": [
              "stopover",
              "through_stop",
              "pass_through"
            ]
          },
          "distance": {
            "type": "number"
          },
          "time": {
            "type": "number"
          },
          "distance_units": {
            "type": "string",
            "enum": [
              "meters",
              "miles"
            ]
          },
          "max_speed": {
            "type": "number"
          },
          "legs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteLeg"
            }
          },
          "country_code": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "admin_areas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteAdminArea"
            }
          },
          "admin_area_crossings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteAdminAreaCrossing"
            }
          },
          "toll": {
            "type": "boolean"
          },
          "ferry": {
            "type": "boolean"
          },
          "geometry": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RoutingJsonPoint"
              }
            }
          }
        }
      },
      "RoutingJsonResponse": {
        "type": "object",
        "required": [
          "results",
          "properties"
        ],
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutingJsonResult"
            }
          },
          "properties": {
            "$ref": "#/components/schemas/RoutingResponseOptions"
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          }
        }
      },
      "MapMatchingStepAddress": {
        "type": "object",
        "required": [],
        "properties": {
          "street": {
            "type": "string"
          },
          "suburb": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "county": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          }
        }
      },
      "MapMatchingStepOverlap": {
        "type": "object",
        "required": [
          "osm_way_id",
          "osmtags",
          "intersection_points"
        ],
        "properties": {
          "osm_way_id": {
            "type": "number"
          },
          "osmtags": {
            "$ref": "#/components/schemas/JsonObject"
          },
          "intersection_points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LongitudeLatitude"
            }
          }
        }
      },
      "MapMatchingStep": {
        "type": "object",
        "required": [
          "from_index",
          "to_index",
          "time",
          "distance",
          "osm_way_id"
        ],
        "properties": {
          "from_index": {
            "type": "integer"
          },
          "to_index": {
            "type": "integer"
          },
          "time": {
            "type": "number"
          },
          "distance": {
            "type": "number"
          },
          "instruction": {
            "$ref": "#/components/schemas/RouteInstruction"
          },
          "toll": {
            "type": "boolean"
          },
          "ferry": {
            "type": "boolean"
          },
          "bridge": {
            "type": "boolean"
          },
          "tunnel": {
            "type": "boolean"
          },
          "elevation": {
            "type": "number"
          },
          "elevation_gain": {
            "type": "number"
          },
          "max_elevation": {
            "type": "number"
          },
          "min_elevation": {
            "type": "number"
          },
          "admin_area": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "speed": {
            "type": "number"
          },
          "speed_limit": {
            "type": "number"
          },
          "truck_limit": {
            "type": "number"
          },
          "surface": {
            "type": "string"
          },
          "lane_count": {
            "type": "number"
          },
          "road_class": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "roundabout": {
            "type": "boolean"
          },
          "rightside": {
            "type": "boolean"
          },
          "traversability": {
            "type": "string"
          },
          "from_stop_id": {
            "type": "string"
          },
          "from_stop_name": {
            "type": "string"
          },
          "to_stop_id": {
            "type": "string"
          },
          "to_stop_name": {
            "type": "string"
          },
          "osm_way_id": {
            "type": "number"
          },
          "address": {
            "$ref": "#/components/schemas/MapMatchingStepAddress"
          },
          "osmtags": {
            "$ref": "#/components/schemas/JsonObject"
          },
          "overlaps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MapMatchingStepOverlap"
            }
          },
          "begin_bearing": {
            "type": "number"
          },
          "end_bearing": {
            "type": "number"
          }
        }
      },
      "MapMatchingLeg": {
        "type": "object",
        "required": [
          "time",
          "distance",
          "steps"
        ],
        "properties": {
          "time": {
            "type": "number"
          },
          "distance": {
            "type": "number"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MapMatchingStep"
            }
          }
        }
      },
      "MapMatchingWaypoint": {
        "type": "object",
        "required": [
          "original_index",
          "location",
          "original_location",
          "match_type"
        ],
        "properties": {
          "original_index": {
            "type": "integer"
          },
          "location": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LongitudeLatitude"
              },
              {
                "type": "null"
              }
            ]
          },
          "original_location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "match_type": {
            "type": "string",
            "enum": [
              "matched",
              "unmatched",
              "interpolated",
              "merged"
            ]
          },
          "match_distance": {
            "type": [
              "number",
              "null"
            ]
          },
          "leg_index": {
            "type": "integer"
          },
          "step_index": {
            "type": "integer"
          }
        }
      },
      "MapMatchingFeatureProperties": {
        "type": "object",
        "required": [
          "distance",
          "time",
          "legs",
          "mode",
          "waypoints"
        ],
        "properties": {
          "distance": {
            "type": "number"
          },
          "time": {
            "type": "number"
          },
          "legs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MapMatchingLeg"
            }
          },
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "waypoints": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/MapMatchingWaypoint"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        }
      },
      "MapMatchingFeature": {
        "type": "object",
        "required": [
          "type",
          "geometry",
          "properties"
        ],
        "properties": {
          "type": {
            "const": "Feature"
          },
          "geometry": {
            "$ref": "#/components/schemas/MultiLineStringGeometry"
          },
          "properties": {
            "$ref": "#/components/schemas/MapMatchingFeatureProperties"
          },
          "id": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          }
        }
      },
      "MapMatchingFeatureCollection": {
        "type": "object",
        "required": [
          "type",
          "features"
        ],
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MapMatchingFeature"
            }
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          },
          "properties": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/JsonObject"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "RouteMatrixLocation": {
        "type": "object",
        "required": [
          "original_location"
        ],
        "properties": {
          "original_location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          }
        }
      },
      "RouteMatrixCell": {
        "type": "object",
        "required": [
          "distance",
          "time",
          "source_index",
          "target_index"
        ],
        "properties": {
          "distance": {
            "type": [
              "number",
              "null"
            ]
          },
          "time": {
            "type": [
              "number",
              "null"
            ]
          },
          "source_index": {
            "type": "integer"
          },
          "target_index": {
            "type": "integer"
          }
        }
      },
      "RouteMatrixResponse": {
        "type": "object",
        "required": [
          "sources",
          "targets",
          "sources_to_targets",
          "units",
          "distance_units",
          "mode"
        ],
        "properties": {
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteMatrixLocation"
            }
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RouteMatrixLocation"
            }
          },
          "sources_to_targets": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RouteMatrixCell"
              }
            }
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ]
          },
          "distance_units": {
            "type": "string",
            "enum": [
              "meters",
              "miles"
            ]
          },
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "balanced",
              "short",
              "less_maneuvers"
            ]
          },
          "max_speed": {
            "type": "number"
          },
          "avoid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avoid"
            }
          },
          "traffic": {
            "type": "string",
            "enum": [
              "free_flow",
              "approximated"
            ]
          }
        }
      },
      "IsolineDetails": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/JsonValue"
        },
        "properties": {
          "population": {
            "type": "object",
            "required": [],
            "properties": {
              "attribution": {
                "type": "string"
              },
              "value": {
                "type": "number"
              }
            }
          }
        }
      },
      "IsolineFeatureProperties": {
        "type": "object",
        "required": [
          "id",
          "lat",
          "lon",
          "mode",
          "type",
          "range"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "time",
              "distance"
            ]
          },
          "range": {
            "type": "number"
          },
          "details": {
            "$ref": "#/components/schemas/IsolineDetails"
          },
          "route_type": {
            "type": "string",
            "enum": [
              "balanced",
              "short",
              "less_maneuvers"
            ]
          },
          "max_speed": {
            "type": "number"
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ]
          },
          "traffic": {
            "type": "string",
            "enum": [
              "free_flow",
              "approximated"
            ]
          },
          "avoid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avoid"
            }
          }
        }
      },
      "IsolineCollectionProperties": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "IsolineFeature": {
        "type": "object",
        "required": [
          "type",
          "geometry",
          "properties"
        ],
        "properties": {
          "type": {
            "const": "Feature"
          },
          "geometry": {
            "$ref": "#/components/schemas/IsolineGeometry"
          },
          "properties": {
            "$ref": "#/components/schemas/IsolineFeatureProperties"
          },
          "id": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          }
        }
      },
      "IsolineFeatureCollection": {
        "type": "object",
        "required": [
          "type",
          "features",
          "properties"
        ],
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IsolineFeature"
            }
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          },
          "properties": {
            "$ref": "#/components/schemas/IsolineCollectionProperties"
          }
        }
      },
      "RoutePlannerParamLocation": {
        "type": "object",
        "required": [
          "id",
          "location"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          }
        }
      },
      "RoutePlannerParamStop": {
        "type": "object",
        "required": [
          "location_index",
          "location",
          "duration",
          "time_windows"
        ],
        "properties": {
          "location_index": {
            "type": "integer"
          },
          "location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "duration": {
            "type": "number"
          },
          "time_windows": {
            "type": "array",
            "items": {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "items": false
            }
          }
        }
      },
      "RoutePlannerParamShipment": {
        "type": "object",
        "required": [
          "id",
          "pickup",
          "delivery",
          "priority",
          "amount",
          "requirements"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "pickup": {
            "$ref": "#/components/schemas/RoutePlannerParamStop"
          },
          "delivery": {
            "$ref": "#/components/schemas/RoutePlannerParamStop"
          },
          "priority": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "requirements": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RoutePlannerParamJob": {
        "type": "object",
        "required": [],
        "properties": {
          "id": {
            "type": "string"
          },
          "location_index": {
            "type": "integer"
          },
          "location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "priority": {
            "type": "number"
          },
          "duration": {
            "type": "number"
          },
          "time_windows": {
            "type": "array",
            "items": {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "items": false
            }
          },
          "delivery_amount": {
            "type": "number"
          },
          "pickup_amount": {
            "type": "number"
          },
          "requirements": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RoutePlannerParamAgent": {
        "type": "object",
        "required": [],
        "properties": {
          "id": {
            "type": "string"
          },
          "start_location_index": {
            "type": "integer"
          },
          "start_location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "end_location_index": {
            "type": "integer"
          },
          "end_location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "delivery_capacity": {
            "type": "number"
          },
          "pickup_capacity": {
            "type": "number"
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "time_windows": {
            "type": "array",
            "items": {
              "type": "array",
              "minItems": 2,
              "maxItems": 2,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "items": false
            }
          },
          "breaks": {
            "$ref": "#/components/schemas/JsonValue"
          }
        }
      },
      "RoutePlannerParams": {
        "type": "object",
        "required": [
          "locations",
          "agents",
          "mode"
        ],
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerParamLocation"
            }
          },
          "agents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerParamAgent"
            }
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerParamJob"
            }
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerParamShipment"
            }
          },
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "balanced",
              "short",
              "less_maneuvers"
            ]
          },
          "max_speed": {
            "type": "number"
          },
          "traffic": {
            "type": "string",
            "enum": [
              "free_flow",
              "approximated"
            ]
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ]
          },
          "avoid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avoid"
            }
          }
        }
      },
      "RoutePlannerAction": {
        "type": "object",
        "required": [
          "index",
          "type",
          "start_time",
          "duration"
        ],
        "properties": {
          "index": {
            "type": "integer"
          },
          "type": {
            "type": "string",
            "enum": [
              "start",
              "end",
              "job",
              "pickup",
              "delivery",
              "break"
            ]
          },
          "start_time": {
            "type": "number"
          },
          "duration": {
            "type": "number"
          },
          "location_index": {
            "type": "integer"
          },
          "location_id": {
            "type": "string"
          },
          "shipment_id": {
            "type": "string"
          },
          "shipment_index": {
            "type": "integer"
          },
          "job_id": {
            "type": "string"
          },
          "job_index": {
            "type": "integer"
          },
          "waypoint_index": {
            "type": "integer"
          }
        }
      },
      "RoutePlannerWaypoint": {
        "type": "object",
        "required": [
          "original_location",
          "location",
          "start_time",
          "duration",
          "actions"
        ],
        "properties": {
          "next_leg_index": {
            "type": "integer"
          },
          "prev_leg_index": {
            "type": "integer"
          },
          "original_location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "location": {
            "$ref": "#/components/schemas/LongitudeLatitude"
          },
          "start_time": {
            "type": "number"
          },
          "duration": {
            "type": "number"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerAction"
            }
          },
          "original_location_index": {
            "type": "integer"
          },
          "original_location_id": {
            "type": "string"
          }
        }
      },
      "RoutePlannerStep": {
        "type": "object",
        "required": [
          "from_index",
          "to_index",
          "time",
          "distance"
        ],
        "properties": {
          "from_index": {
            "type": "integer"
          },
          "to_index": {
            "type": "integer"
          },
          "time": {
            "type": [
              "number",
              "null"
            ]
          },
          "distance": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "RoutePlannerLeg": {
        "type": "object",
        "required": [
          "time",
          "distance",
          "from_waypoint_index",
          "to_waypoint_index",
          "steps"
        ],
        "properties": {
          "time": {
            "type": [
              "number",
              "null"
            ]
          },
          "distance": {
            "type": [
              "number",
              "null"
            ]
          },
          "from_waypoint_index": {
            "type": "integer"
          },
          "to_waypoint_index": {
            "type": "integer"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerStep"
            }
          }
        }
      },
      "RoutePlannerFeatureProperties": {
        "type": "object",
        "required": [
          "agent_index",
          "time",
          "start_time",
          "end_time",
          "distance",
          "legs",
          "mode",
          "actions",
          "waypoints"
        ],
        "properties": {
          "agent_index": {
            "type": "integer"
          },
          "agent_id": {
            "type": "string"
          },
          "time": {
            "type": "number"
          },
          "start_time": {
            "type": "number"
          },
          "end_time": {
            "type": "number"
          },
          "distance": {
            "type": "number"
          },
          "legs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerLeg"
            }
          },
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerAction"
            }
          },
          "waypoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerWaypoint"
            }
          }
        }
      },
      "RoutePlannerIssues": {
        "type": "object",
        "required": [],
        "properties": {
          "unassigned_shipments": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "unassigned_agents": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "unassigned_jobs": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        }
      },
      "RoutePlannerCollectionProperties": {
        "type": "object",
        "required": [
          "mode",
          "params"
        ],
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "walk",
              "hike",
              "scooter",
              "motorcycle",
              "drive",
              "light_truck",
              "bicycle",
              "mountain_bike",
              "road_bike",
              "bus",
              "medium_truck",
              "truck",
              "truck_dangerous_goods",
              "heavy_truck",
              "long_truck",
              "transit",
              "approximated_transit"
            ]
          },
          "params": {
            "$ref": "#/components/schemas/RoutePlannerParams"
          },
          "issues": {
            "$ref": "#/components/schemas/RoutePlannerIssues"
          }
        }
      },
      "RoutePlannerFeature": {
        "type": "object",
        "required": [
          "type",
          "geometry",
          "properties"
        ],
        "properties": {
          "type": {
            "const": "Feature"
          },
          "geometry": {
            "$ref": "#/components/schemas/MultiLineStringGeometry"
          },
          "properties": {
            "$ref": "#/components/schemas/RoutePlannerFeatureProperties"
          },
          "id": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          }
        }
      },
      "RoutePlannerFeatureCollection": {
        "type": "object",
        "required": [
          "type",
          "features",
          "properties"
        ],
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoutePlannerFeature"
            }
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          },
          "properties": {
            "$ref": "#/components/schemas/RoutePlannerCollectionProperties"
          }
        }
      },
      "RoutePlannerDataError": {
        "type": "object",
        "required": [
          "error",
          "message"
        ],
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "RoutePlannerResponse": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/RoutePlannerFeatureCollection"
          },
          {
            "$ref": "#/components/schemas/RoutePlannerDataError"
          }
        ]
      },
      "GatewayError": {
        "type": "object",
        "required": [
          "statusCode",
          "error",
          "message"
        ],
        "properties": {
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code returned by the API gateway."
          },
          "error": {
            "type": "string",
            "description": "Standard HTTP error name."
          },
          "message": {
            "type": "string",
            "description": "Human-readable explanation of the error."
          }
        }
      }
    },
    "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": []
    }
  ]
}
