{
  "openapi": "3.1.0",
  "info": {
    "title": "BeNomad BeMap Service REST API",
    "description": "Geocoding, routing, mapping, traffic and charging station services.",
    "version": "4.1.0"
  },
  "servers": [
    {
      "url": "https://bemap.benomad.com/bgis/service",
      "description": "Production"
    },
    {
      "url": "https://bemap-preprod.benomad.com/bgis/service",
      "description": "Preproduction"
    }
  ],
  "paths": {
    "/weather/1.0": {
      "post": {
        "tags": [
          "Weather"
        ],
        "summary": "Weather",
        "description": "Returns the weather a round the location",
        "operationId": "weather",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WeatherRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/weather/1.0/forecast": {
      "post": {
        "tags": [
          "Weather"
        ],
        "summary": "Forecast weather",
        "description": "Returns the forecast weather a round the location",
        "operationId": "forecastWeather",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WeatherRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/weather/1.0/current": {
      "post": {
        "tags": [
          "Weather"
        ],
        "summary": "Current weather",
        "description": "Returns the current weather a round the location",
        "operationId": "currentWeather",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WeatherRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/vehicle/1.1/getlevelvehicleinfo": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Get level vehicle info",
        "description": "Returns the list of available vehicle info for the specified level.",
        "operationId": "getLevelVehicleInfoGet",
        "parameters": [
          {
            "name": "level",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "NAME",
                "VARIANT",
                "YEAR",
                "BATTERY_NAME",
                "MOTOR_TYPE",
                "CHARGE_POWER_DC",
                "CHARGE_POWER_AC",
                "CHARGE_POWER_AC1",
                "CHARGE_POWER_AC3"
              ]
            }
          },
          {
            "name": "brandId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "variant",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryCapacity",
            "in": "query",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "motorType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EV",
                "HEV",
                "PHEV"
              ],
              "x-enumDescriptions": {
                "EV": "Electric Vehicle.",
                "HEV": "Hybrid Electric Vehicle.",
                "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug)."
              }
            }
          },
          {
            "name": "chargerPowerDC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "chargerPowerAC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      },
      "post": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Get level vehicle info",
        "description": "Returns the list of available vehicle info for the specified level.",
        "operationId": "getLevelVehicleInfoPost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LevelVehicleInfoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.1/findvehicles": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Find vehicles (GET)",
        "description": "Returns the list of available vehicles.",
        "operationId": "findVehiclesGet",
        "parameters": [
          {
            "name": "vehicle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brandId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "variant",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryCapacity",
            "in": "query",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "motorType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EV",
                "HEV",
                "PHEV"
              ],
              "x-enumDescriptions": {
                "EV": "Electric Vehicle.",
                "HEV": "Hybrid Electric Vehicle.",
                "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug)."
              }
            }
          },
          {
            "name": "chargerPowerDC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "chargerPowerAC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "enableDatasheet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponseV1Dot1"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponseV1Dot1"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      },
      "post": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Find vehicles (POST)",
        "description": "Returns the list of available vehicles.",
        "operationId": "findVehicles",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VehicleRequestV1Dot1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponseV1Dot1"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponseV1Dot1"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.0/findvehicles": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Find vehicles (GET)",
        "description": "Returns the list of available vehicles.",
        "operationId": "findVehiclesGet_1",
        "parameters": [
          {
            "name": "vehicle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brandId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryCapacity",
            "in": "query",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "motorType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EV",
                "HEV",
                "PHEV"
              ],
              "x-enumDescriptions": {
                "EV": "Electric Vehicle.",
                "HEV": "Hybrid Electric Vehicle.",
                "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug)."
              }
            }
          },
          {
            "name": "chargerPowerDC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "chargerPowerAC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "enableDatasheet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      },
      "post": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Find vehicles (POST)",
        "description": "Returns the list of available vehicles.",
        "operationId": "findVehicles_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VehicleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/traffic/1.0": {
      "post": {
        "tags": [
          "Traffic"
        ],
        "summary": "Traffic",
        "description": "To get the traffic information by country or an restricted area.",
        "operationId": "search",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrafficRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TrafficResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TrafficResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/routing/1.0": {
      "post": {
        "tags": [
          "Routing"
        ],
        "summary": "Routing",
        "description": "Performs route computations through the road network. Also performs isochrone and origin destination matrix calculations. Output in JSON format.",
        "operationId": "calculation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RoutingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RoutingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/routing/1.0/traceroute": {
      "post": {
        "tags": [
          "Routing"
        ],
        "summary": "Trace route",
        "description": "Performs a road-matching of GPS coordinates and routing process for a specified type of vehicle. Road-matching consists in correcting uncertainties related to GPS measurements by repositioning a vehicle on the most accurate segment of neighboring roads. This service assumes that an input position corresponds to a chronological sequence of positions of a given vehicle driving on the road network.",
        "operationId": "calculation_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TraceRouteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RoutingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RoutingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/roadsextractor/1.0": {
      "post": {
        "tags": [
          "Roads extractor"
        ],
        "summary": "Roads extractor",
        "description": "Extract the roads information process for a specified type of vehicle within a specified polygon.",
        "operationId": "roadsExtractor_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoadsExtractorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RoadsExtractorResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RoadsExtractorResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/nearpoi/1.0": {
      "post": {
        "tags": [
          "Routing",
          "Geocoding"
        ],
        "summary": "Near POI",
        "description": "Find POI around a coordinate, limited by distance of travel from coordinate to POI.",
        "operationId": "search_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NearPoiRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/NearPoiResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/NearPoiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/geofencing/1.0": {
      "post": {
        "tags": [
          "Geofencing"
        ],
        "summary": "Natural geocoding",
        "description": "A geo-fence is a virtual perimeter for a real-world geographic area. A geo-fence could be dynamically generated-as in a radius around a point location, or a geo-fence can be a predefined set of boundaries (such as school zones or neighborhood boundaries).",
        "operationId": "compare",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeofencingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeofencingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeofencingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/geocodingBatch/1.0": {
      "post": {
        "tags": [
          "Geocoding"
        ],
        "summary": "Geocoding for batch job",
        "description": "Geocoding is the process of converting textual postal addresses to a geographical longitude and latitude coordinates.",
        "operationId": "search_3",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeocodingForBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingForBatchResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingForBatchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/geocodingBatch/1.0/reverse": {
      "post": {
        "tags": [
          "Geocoding"
        ],
        "summary": "Reverse geocoding for batch job",
        "description": "This service can process a several coordinates in same request. Reverse geocoding is the process of back (reverse) coding of a point location (latitude, longitude) to a readable address or place name. This permits the identification of nearby street addresses, places, and/or areal subdivisions such as neighbourhoods, county, state, or country. Combined with geocoding and routing services, reverse geocoding is a critical component of mobile location-based services and Enhanced 911 to convert a coordinate obtained by GPS to a readable street address which is easier to understand by the end user.",
        "operationId": "search_4",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevGeocodingBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RevGeocodingBatchResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/RevGeocodingBatchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/geocoding/1.0": {
      "post": {
        "tags": [
          "Geocoding"
        ],
        "summary": "Geocoding",
        "description": "Geocoding is the process of converting textual postal address to a geographical longitude and latitude coordinates.",
        "operationId": "search_5",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeocodingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/geocoding/1.0/reverse": {
      "post": {
        "tags": [
          "Geocoding"
        ],
        "summary": "Reverse geocoding",
        "description": "Reverse geocoding is the process of back (reverse) coding of a point location (latitude, longitude) to a readable address or place name. This permits the identification of nearby street addresses, places, and/or areal subdivisions such as neighbourhoods, county, state, or country. Combined with geocoding and routing services, reverse geocoding is a critical component of mobile location-based services and Enhanced 911 to convert a coordinate obtained by GPS to a readable street address which is easier to understand by the end user.",
        "operationId": "search_6",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReverseGeocodingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseGeocodingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseGeocodingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/geocoding/1.0/natural": {
      "post": {
        "tags": [
          "Geocoding"
        ],
        "summary": "Natural geocoding",
        "description": "Natural Geocoding is the process of converting textual postal address (1 line / free text) to a geographical longitude and latitude coordinates.",
        "operationId": "search_7",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeocodingNaturalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/evsmartrouting/vehiclemodels/list/1.0": {
      "get": {
        "tags": [
          "Routing"
        ],
        "summary": "EV vehicles (GET)",
        "description": "Returns the list of available vehicles.",
        "operationId": "getVehiclesGet",
        "parameters": [
          {
            "name": "vehicle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brandId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enableDatasheet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      },
      "post": {
        "tags": [
          "Routing"
        ],
        "summary": "EV vehicles (POST)",
        "description": "Returns the list of available vehicles. Deprecated. Use the vehicle/1.0/findvehicles API.",
        "operationId": "getVehicles",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VehicleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleModelsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-bemap-options": [
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/evsmartrouting/1.0": {
      "post": {
        "tags": [
          "Routing"
        ],
        "summary": "EV smart routing",
        "description": "Perform a calculation of travel dedicated to electrical vehicle. This service return the trip planner with all charging stops will be need to reach the trip.",
        "operationId": "evSmartRouting",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvSmartRoutingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/evreachablearea/1.0": {
      "post": {
        "tags": [
          "Routing"
        ],
        "summary": "EV reachable area",
        "description": "Perform a calculation of reachable area dedicated to electrical vehicle. This service return a geometry of area.",
        "operationId": "evReachableArea",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvReachableAreaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvReachableAreaResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvReachableAreaResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/currency/1.0/convert": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Currency convert",
        "description": "Convert a currency to another.",
        "operationId": "convert_1",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "value",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number",
              "format": "float"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyConvertResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyConvertResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Currency",
            "description": "Allow to get currency information"
          }
        ]
      },
      "post": {
        "tags": [
          "Currency"
        ],
        "summary": "Currency convert",
        "description": "Convert a currency to another.",
        "operationId": "convert_2",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyConvertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyConvertResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyConvertResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Currency",
            "description": "Allow to get currency information"
          }
        ]
      }
    },
    "/chargingstation/tariffs/1.0/search": {
      "post": {
        "tags": [
          "Charging station"
        ],
        "summary": "Get charging station tariffs",
        "description": "Returns tariff information based on providers, charge passes, and connectors.",
        "operationId": "getTariffs",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargingStationTariffsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationTariffsResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationTariffsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingstation/search/1.0": {
      "post": {
        "tags": [
          "Charging station"
        ],
        "summary": "Charging station search",
        "description": "Returns the list of charging station (EVSE) around a coordinate.",
        "operationId": "search_8",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargingStationSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationSearchResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationSearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingcost/1.0": {
      "post": {
        "tags": [
          "Charging station"
        ],
        "summary": "Charging cost calculation",
        "description": "Computes an estimated charging cost and time, based on vehicle, connector power, charge need and prices list.",
        "operationId": "calculation_3",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargingCostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingCostResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingCostResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/chargingTime/1.0": {
      "post": {
        "tags": [
          "Charging time"
        ],
        "summary": "Charging time",
        "description": "Computes an estimated charging time, based on energy vehicle feature (`vehicle` or `evf` parameters), connector power and charge need.",
        "operationId": "search_9",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargingTimeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingTimeResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingTimeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/2.0/evsmartrouting": {
      "post": {
        "tags": [
          "Routing"
        ],
        "summary": "EV smart routing",
        "description": "Perform a calculation of travel dedicated to electrical vehicle. This service return the trip planner with all charging stops will be need to reach the trip.",
        "operationId": "evSmartRouting_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvSmartRoutingRequestV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingResponseV2"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingResponseV2"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV2"
                }
              }
            }
          }
        }
      }
    },
    "/geocoding/autocomplete/1.0": {
      "post": {
        "tags": [
          "Geocoding"
        ],
        "summary": "Auto-complete",
        "description": "From a textual address perform a geographical research to suggest some textual postal address (free text).",
        "operationId": "autocomplete_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutocompleteGeocodingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/AutocompleteGeocodingResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/AutocompleteGeocodingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/vehicle/picture/1.0/getviews": {
      "get": {
        "tags": [
          "Vehicle pictures"
        ],
        "summary": "Available vehicle views",
        "description": "Returns a list of available views of the vehicle.",
        "operationId": "getViews",
        "parameters": [
          {
            "name": "vehicleUuidKey",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "FRONT",
                      "REAR",
                      "SIDE",
                      "PERSPECTIVE",
                      "UP",
                      "NOT_SUPPORTED_VALUE"
                    ],
                    "x-enumDescriptions": {
                      "FRONT": "Front View of the vehicle's picture.",
                      "REAR": "Rear View of the vehicle's picture.",
                      "SIDE": "Side View of the vehicle's picture.",
                      "PERSPECTIVE": "Perspective View of the vehicle's picture.",
                      "UP": "Up View of the vehicle's picture.",
                      "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
                    }
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "FRONT",
                      "REAR",
                      "SIDE",
                      "PERSPECTIVE",
                      "UP",
                      "NOT_SUPPORTED_VALUE"
                    ],
                    "x-enumDescriptions": {
                      "FRONT": "Front View of the vehicle's picture.",
                      "REAR": "Rear View of the vehicle's picture.",
                      "SIDE": "Side View of the vehicle's picture.",
                      "PERSPECTIVE": "Perspective View of the vehicle's picture.",
                      "UP": "Up View of the vehicle's picture.",
                      "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          }
        ]
      }
    },
    "/vehicle/picture/1.0/getone": {
      "get": {
        "tags": [
          "Vehicle pictures"
        ],
        "summary": "Vehicle picture",
        "description": "Returns a picture of the vehicle.",
        "operationId": "getOne",
        "parameters": [
          {
            "name": "vehicleUuidKey",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pictureView",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "FRONT",
                "REAR",
                "SIDE",
                "PERSPECTIVE",
                "UP",
                "NOT_SUPPORTED_VALUE"
              ],
              "x-enumDescriptions": {
                "FRONT": "Front View of the vehicle's picture.",
                "REAR": "Rear View of the vehicle's picture.",
                "SIDE": "Side View of the vehicle's picture.",
                "PERSPECTIVE": "Perspective View of the vehicle's picture.",
                "UP": "Up View of the vehicle's picture.",
                "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          }
        ]
      }
    },
    "/vehicle/picture/1.0/getall": {
      "get": {
        "tags": [
          "Vehicle pictures"
        ],
        "summary": "Vehicle pictures",
        "description": "Returns a list of available pictures of the vehicle.",
        "operationId": "getAll",
        "parameters": [
          {
            "name": "vehicleUuidKey",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VehiclePictureDescription"
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VehiclePictureDescription"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          }
        ]
      }
    },
    "/vehicle/1.1/getmotortypes": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Vehicle motor types",
        "description": "Returns the list of available motor types.",
        "operationId": "getMotorTypes",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "EV",
                      "HEV",
                      "PHEV",
                      "NOT_SUPPORTED_VALUE"
                    ],
                    "x-enumDescriptions": {
                      "EV": "Electric Vehicle.",
                      "HEV": "Hybrid Electric Vehicle.",
                      "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug).",
                      "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
                    }
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "EV",
                      "HEV",
                      "PHEV",
                      "NOT_SUPPORTED_VALUE"
                    ],
                    "x-enumDescriptions": {
                      "EV": "Electric Vehicle.",
                      "HEV": "Hybrid Electric Vehicle.",
                      "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug).",
                      "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.1/getbrands": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Vehicle brands",
        "description": "Returns the list of available vehicle brands.",
        "operationId": "getBrands",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleBrandsResponseV1Dot1"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleBrandsResponseV1Dot1"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.1/getbrandlogolite": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Vehicle brand logo in byte",
        "description": "Returns the logo of the vehicle brand in byte format ready to display.",
        "operationId": "getBrandLogoLite",
        "parameters": [
          {
            "name": "brandId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.1/getbrandlogo": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Vehicle brand logo object",
        "description": "Returns the logo of the vehicle brand with additional informations.",
        "operationId": "getBrandLogo",
        "parameters": [
          {
            "name": "brandId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvBrandLogoDescription"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EvBrandLogoDescription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseV1Dot1"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.0/getmotortypes": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Vehicle motor types",
        "description": "Returns the list of available motor types.",
        "operationId": "getMotorTypes_1",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "EV",
                      "HEV",
                      "PHEV",
                      "NOT_SUPPORTED_VALUE"
                    ],
                    "x-enumDescriptions": {
                      "EV": "Electric Vehicle.",
                      "HEV": "Hybrid Electric Vehicle.",
                      "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug).",
                      "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
                    }
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "EV",
                      "HEV",
                      "PHEV",
                      "NOT_SUPPORTED_VALUE"
                    ],
                    "x-enumDescriptions": {
                      "EV": "Electric Vehicle.",
                      "HEV": "Hybrid Electric Vehicle.",
                      "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug).",
                      "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.0/getlevelvehicleinfo": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Get level vehicle info",
        "description": "Returns the list of available vehicle info for the specified level.",
        "operationId": "getLevelVehicleInfo",
        "parameters": [
          {
            "name": "level",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "NAME",
                "BATTERY_CAPACITY",
                "BATTERY_NAME",
                "MOTOR_TYPE",
                "CHARGE_POWER_DC",
                "CHARGE_POWER_AC"
              ]
            }
          },
          {
            "name": "brandId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batteryCapacity",
            "in": "query",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "motorType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EV",
                "HEV",
                "PHEV"
              ],
              "x-enumDescriptions": {
                "EV": "Electric Vehicle.",
                "HEV": "Hybrid Electric Vehicle.",
                "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug)."
              }
            }
          },
          {
            "name": "chargerPowerDC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "chargerPowerAC",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/vehicle/1.0/getbrands": {
      "get": {
        "tags": [
          "Vehicle"
        ],
        "summary": "Vehicle brands",
        "description": "Returns the list of available vehicle brands.",
        "operationId": "getBrands_1",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleBrandsResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleBrandsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": true,
        "x-bemap-options": [
          {
            "name": "Vehicle",
            "description": "Allow to get the information of vehicle"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/evsmartrouting/vehiclebrands/list/1.0": {
      "get": {
        "tags": [
          "Routing"
        ],
        "summary": "EV vehicle brands",
        "description": "Returns the list of available vehicle brands.",
        "operationId": "getBrands_2",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleBrandsResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleBrandsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/evsmartrouting/servicecategory/autocomplete/1.0": {
      "get": {
        "tags": [
          "Routing"
        ],
        "summary": "Service category",
        "description": "Returns the list of service category (class ID) matching the input.",
        "operationId": "getServiceCategorySuggestions_1",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TextAutocompleteResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TextAutocompleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/EvSmartRoutingErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/currency/1.0/rates": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Currency rates",
        "description": "To get all currency rates.",
        "operationId": "getRates",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyRatesResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyRatesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Currency",
            "description": "Allow to get currency information"
          }
        ]
      }
    },
    "/currency/1.0/rate": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Currency single rate",
        "description": "To get single currency rate for a currency code.",
        "operationId": "getRate",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyRateResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyRateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Currency",
            "description": "Allow to get currency information"
          }
        ]
      }
    },
    "/currency/1.0/codes": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Currency rates",
        "description": "To get all currency rates.",
        "operationId": "getCodes",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyCode"
                  }
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyCode"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Currency",
            "description": "Allow to get currency information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingstation/filter/autocomplete/1.0": {
      "get": {
        "tags": [
          "Charging station"
        ],
        "summary": "Charging station filters autocomplete suggestions",
        "description": "Returns the list of charging station filters matching the input.",
        "operationId": "getChargingStationFilterSuggestions",
        "parameters": [
          {
            "name": "filterVersion",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "byte",
              "default": 1,
              "x-javaType": "byte"
            }
          },
          {
            "name": "levelLimit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "byte",
              "default": 1,
              "x-javaType": "byte"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TextAutocompleteResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TextAutocompleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingstation/connector/list/1.0": {
      "get": {
        "tags": [
          "Charging station"
        ],
        "summary": "Connector list of charging station",
        "description": "Returns the list of connector type used by charging station (EVSE).",
        "operationId": "getConnectorList",
        "parameters": [
          {
            "name": "deprecatedConnector",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorTypeResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorTypeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingstation/chargepass/1.0/list": {
      "get": {
        "tags": [
          "Charging station"
        ],
        "summary": "Charging station charge pass",
        "description": "Returns the list of charge passes.",
        "operationId": "getChargingStationChargePassList",
        "parameters": [
          {
            "name": "geoServer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "providerName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationChargePassResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationChargePassResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingstation/chargepass/1.0/autocomplete": {
      "get": {
        "tags": [
          "Charging station"
        ],
        "summary": "Charging station charge pass autocomplete suggestions",
        "description": "Returns the list of charge passes matching the input.",
        "operationId": "getChargingStationChargePassSuggestions",
        "parameters": [
          {
            "name": "geoServer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "providerName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "input",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationChargePassResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationChargePassResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingstation/brand/autocomplete/1.0": {
      "get": {
        "tags": [
          "Charging station"
        ],
        "summary": "Pool brand autocomplete suggestions",
        "description": "Returns the list of pool brands matching the input.",
        "operationId": "getChargingStationBrandSuggestions",
        "parameters": [
          {
            "name": "geoServer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "providerName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "input",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TextAutocompleteResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/TextAutocompleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    },
    "/chargingstation/brand/1.0/list": {
      "get": {
        "tags": [
          "Charging station"
        ],
        "summary": "Charging station brands",
        "description": "Returns the list of pool brands.",
        "operationId": "getChargingStationBrandList",
        "parameters": [
          {
            "name": "geoServer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "providerName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationBrandResponse"
                }
              },
              "application/json; charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ChargingStationBrandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-bemap-options": [
          {
            "name": "Charging station search",
            "description": "Allow to get the charging station information"
          },
          {
            "name": "EV smart routing",
            "description": "Allow to compute a trip for a electric vehicle"
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Address": {
        "type": "object",
        "description": "Defines a postal address, [Wikipedia link](http://en.wikipedia.org/wiki/Postal_address).",
        "properties": {
          "countryCode": {
            "type": "string",
            "description": "ISO code of country."
          },
          "country": {
            "type": "string",
            "description": "Country name."
          },
          "state": {
            "type": "string",
            "description": "State name."
          },
          "county": {
            "type": "string",
            "description": "County name."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "district": {
            "type": "string",
            "description": "District name of city."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "roadNumber": {
            "type": "string",
            "description": "Road number."
          },
          "street": {
            "type": "string",
            "description": "Street name."
          },
          "streetNumber": {
            "type": "string",
            "description": "House number."
          },
          "oppositeStreetNumber": {
            "type": "string",
            "deprecated": true,
            "description": "Opposite street number."
          }
        }
      },
      "AttributeItem": {
        "type": "object",
        "description": "Class representing an attribute element.",
        "properties": {
          "attributeCode": {
            "type": "string",
            "description": "BeNomad Code of attribute.",
            "enum": [
              "__NOT_MAPPED",
              "KEY",
              "FEATURE_CLASS_CODE",
              "INCLUSION_RELATION",
              "SELF_REF",
              "ADMINISTRATIVE_CLASS",
              "ARABIC_ENGLISH_NAME",
              "ARABIC_NAME",
              "ASSAMESE_NAME",
              "ASSAMESE_LATIN_NAME",
              "AZERBAIJANI_NAME",
              "BELARUSIAN_NAME",
              "BULGARIAN_NAME",
              "BULGARIAN_LATIN_NAME",
              "LANDMARK",
              "BRAND_NAME",
              "BOSNIAN_NAME",
              "BELARUSIAN_LATIN_NAME",
              "BENGALI_NAME",
              "BENGALI_LATIN_NAME",
              "CATALAN_NAME",
              "COUNTRY_CODE",
              "ENCODING",
              "COORDINATE_TYPE",
              "CZECH_NAME",
              "WELSH_NAME",
              "DANISH_NAME",
              "GERMAN_NAME",
              "TRAFFIC_DIRECTION",
              "EXTRA_ATTRIBUTE",
              "GREEK_GREEK_NAME",
              "GREEK_NAME",
              "ENGLISH_NAME",
              "SPANISH_NAME",
              "ESTONIAN_NAME",
              "BASQUE_NAME",
              "FINNISH_NAME",
              "SOURCE_FORMAT",
              "FRENCH_NAME",
              "FRISIAN_NAME",
              "IRISH_NAME",
              "GAELIC_NAME",
              "GALICIAN_NAME",
              "GUARANI_NAME",
              "GEORGIAN_LATIN_NAME",
              "GUJARATI_NAME",
              "GUJARATI_LATIN_NAME",
              "HEADER",
              "HEBREW_NAME",
              "HINDI_NAME",
              "HEBREW_LATIN_NAME",
              "ALPHA_HOUSE_NUMBER",
              "HINDI_LATIN_NAME",
              "HUNGARIAN_NAME",
              "INTERNATIONAL_CODE",
              "INDONESIAN_NAME",
              "ICELANDIC_NAME",
              "ITALIAN_NAME",
              "JAPAN_NAME",
              "JAPAN_LATIN_NAME",
              "KANNADA_NAME",
              "KAZAKH_NAME",
              "KAZAKH_LATIN_NAME",
              "KOREAN_NAME",
              "KOREAN_LATIN_NAME",
              "KANNADA_LATIN_NAME",
              "LANGUAGE",
              "LETZEBURGESCH_NAME",
              "HOUSE_NUMBER_LEFT",
              "LENGTH",
              "LANDMARK_3D",
              "LANE_NUMBER",
              "LEGAL_SPEED",
              "LITHUANIAN_NAME",
              "LATVIAN_NAME",
              "MALAYALAM_NAME",
              "MACEDONIAN_LATIN_NAME",
              "MACEDONIAN_NAME",
              "MOLDAVIAN_NAME",
              "METRO",
              "MALAY_NAME",
              "MALTESE_NAME",
              "NB_BORDER_JUNCTIONS",
              "NB_JUNCTIONS",
              "DUTCH_NAME",
              "NORWEGIAN_NAME",
              "STREET_NAME_AND_HOUSE_NUMBER",
              "OFFICIAL_CODE",
              "NAME",
              "POPULATION_CATEGORY",
              "POPULATION",
              "POLISH_NAME",
              "DATA_PROVIDER",
              "POSTAL_CODE",
              "PORTUGUESE_NAME",
              "HOUSE_NUMBER_RIGHT",
              "RUSSIAN_LATIN_NAME",
              "RHAETO_ROMANCE_NAME",
              "ROUTE_NUMBER",
              "ROMANIAN_NAME",
              "RUSSIAN_NAME",
              "SCALE",
              "SERBO_CROATIAN_NAME",
              "SIGN_INFORMATION",
              "SLOVAK_NAME",
              "SLOVENIAN_NAME",
              "SPEED_CATEGORY",
              "ALBANIAN_NAME",
              "SERBO_CROATIAN_LATIN_NAME",
              "SVS_TYPE",
              "SWEDISH_NAME",
              "TRUCK_ATT_TIME_DOMAIN_ATTRIBUTE",
              "TRUCK_ATTRIBUTE",
              "TIME_DOMAIN_ATTRIBUTE",
              "TEXTURE_COORD",
              "THAI_NAME",
              "TRAFIC_INFO",
              "TELEPHONE",
              "TMC_LOCATION",
              "TOLL_ROAD",
              "TURKISH_NAME",
              "THAI_LATIN_NAME",
              "UKRAINIAN_NAME",
              "UKRAINIAN_LATIN_NAME",
              "UTM_ZONE",
              "VIETNAMESE_NAME",
              "VIETNAMESE_LATIN_NAME",
              "VALENCIAN_NAME",
              "VT_MASK",
              "ANY_LANG",
              "CHINESE_NAME",
              "CHINESE_LATIN_NAME"
            ],
            "x-enumDescriptions": {
              "__NOT_MAPPED": "Not mapped value.",
              "KEY": "Key.",
              "FEATURE_CLASS_CODE": "FCC = feature class code.",
              "INCLUSION_RELATION": "LAB = Inclusion relation.",
              "SELF_REF": "For SIV/VB SDK dynamic objects (self reference).",
              "ADMINISTRATIVE_CLASS": "AC = administrative class of a city (0: capital of a country, 1: capital of an order 1 area, etc.).",
              "ARABIC_ENGLISH_NAME": "AE = ARABIC ENGLISH name (latin alphabet).",
              "ARABIC_NAME": "AR = ARABIC name (arabic alphabet).",
              "ASSAMESE_NAME": "AS = ASSAMESE name (alphabet).",
              "ASSAMESE_LATIN_NAME": "AX = ASSAMESE_LATIN name (alphabet).",
              "AZERBAIJANI_NAME": "AZ = AZERBAIJANI name.",
              "BELARUSIAN_NAME": "BE = BELARUSIAN name (cyrillic alphabet).",
              "BULGARIAN_NAME": "BG = BULGARIAN name (cyrillic alphabet).",
              "BULGARIAN_LATIN_NAME": "BL = BULGARIAN name (latin alphabet).",
              "LANDMARK": "BM = 2D-Landmark meta data.",
              "BRAND_NAME": "BN = brand name.",
              "BOSNIAN_NAME": "BS = BOSNIAN name.",
              "BELARUSIAN_LATIN_NAME": "BT = BELARUSIAN name (latin alphabet).",
              "BENGALI_NAME": "BI = BENGALI name.",
              "BENGALI_LATIN_NAME": "BX = BENGALI name (latin alphabet).",
              "CATALAN_NAME": "CA = CATALAN name.",
              "COUNTRY_CODE": "CC = Country code.",
              "ENCODING": "CH = character encoding.",
              "COORDINATE_TYPE": "CO = coordinates' sytem.",
              "CZECH_NAME": "CS = CZECH name.",
              "WELSH_NAME": "CY = WELSH name.",
              "DANISH_NAME": "DA = DANISH name.",
              "GERMAN_NAME": "DE = GERMAN name.",
              "TRAFFIC_DIRECTION": "DF = direction of traffic flow.",
              "EXTRA_ATTRIBUTE": "EA = extra attributes for POIs objects.",
              "GREEK_GREEK_NAME": "EG = GREEK name (greek alphabet).",
              "GREEK_NAME": "EL = GREEK name (latin alphabet).",
              "ENGLISH_NAME": "EN = ENGLISH name.",
              "SPANISH_NAME": "ES = SPANISH name.",
              "ESTONIAN_NAME": "ET = ESTONIAN name.",
              "BASQUE_NAME": "EU = BASQUE name.",
              "FINNISH_NAME": "FI = FINNISH name.",
              "SOURCE_FORMAT": "F0 = source format.",
              "FRENCH_NAME": "FR = FRENCH name.",
              "FRISIAN_NAME": "FY = FRISISAN name.",
              "IRISH_NAME": "GA = IRISH name.",
              "GAELIC_NAME": "GD = GAELIC name.",
              "GALICIAN_NAME": "GL = GALICIAN name.",
              "GUARANI_NAME": "GN = GUARANI name.",
              "GEORGIAN_LATIN_NAME": "GT = GEORGIAN_LATIN name.",
              "GUJARATI_NAME": "GU = GUJARATI name.",
              "GUJARATI_LATIN_NAME": "GX = GUJARATI_LATIN name.",
              "HEADER": "HD = header.",
              "HEBREW_NAME": "HE = HEBREW name.",
              "HINDI_NAME": "HI = HINDI name.",
              "HEBREW_LATIN_NAME": "HL = HEBREW name (latin).",
              "ALPHA_HOUSE_NUMBER": "HN = Alphanumerical house number.",
              "HINDI_LATIN_NAME": "HT = HINDI name (latin).",
              "HUNGARIAN_NAME": "HU = HUNGARIAN name.",
              "INTERNATIONAL_CODE": "IC = international code.",
              "INDONESIAN_NAME": "IN = INDONESIAN name (ID reserved for LinkIDs).",
              "ICELANDIC_NAME": "IS = ICELANDIC name.",
              "ITALIAN_NAME": "IT = ITALIAN name.",
              "JAPAN_NAME": "JA = JAPAN name.",
              "JAPAN_LATIN_NAME": "JL = JAPAN name (latin).",
              "KANNADA_NAME": "KA = KANNADA name (latin).",
              "KAZAKH_NAME": "KK = KAZAKH name.",
              "KAZAKH_LATIN_NAME": "KL = KAZAKH name (latin alphabet).",
              "KOREAN_NAME": "KO = KOREAN name.",
              "KOREAN_LATIN_NAME": "KT = KOREAN name (latin).",
              "KANNADA_LATIN_NAME": "KX = KANNADA_LATIN name (latin).",
              "LANGUAGE": "LA = language for objects' names.",
              "LETZEBURGESCH_NAME": "LB = LETZEBURGESCH name.",
              "HOUSE_NUMBER_LEFT": "LE = House number left.",
              "LENGTH": "LG = length in meters.",
              "LANDMARK_3D": "LM = 3D landmark texture.",
              "LANE_NUMBER": "LN = number of lanes.",
              "LEGAL_SPEED": "LS = Legal Speed.",
              "LITHUANIAN_NAME": "LT = LITHUANIAN name.",
              "LATVIAN_NAME": "LV = LATVIAN name.",
              "MALAYALAM_NAME": "MA = Malayalam name.",
              "MACEDONIAN_LATIN_NAME": "MC = MACEDONIAN name (latin alphabet).",
              "MACEDONIAN_NAME": "MK = MACEDONIAN name (cyrillic alphabet).",
              "MOLDAVIAN_NAME": "MO = MOLDAVIAN name.",
              "METRO": "MO = Metro (0 : not a metro station; 1 : metro station).",
              "MALAY_NAME": "MS = MALAY name.",
              "MALTESE_NAME": "MT = MALTESE name.",
              "NB_BORDER_JUNCTIONS": "NB = Number border junctions.",
              "NB_JUNCTIONS": "NJ = Number junctions.",
              "DUTCH_NAME": "NL = DUTCH name.",
              "NORWEGIAN_NAME": "NO = NORWEGIAN name.",
              "STREET_NAME_AND_HOUSE_NUMBER": "NS = Street name and house number.",
              "OFFICIAL_CODE": "OC = Official Code.",
              "NAME": "ON = Official Name.",
              "POPULATION_CATEGORY": "PC = Population Category.",
              "POPULATION": "PO = Population.",
              "POLISH_NAME": "PL = POLISH name.",
              "DATA_PROVIDER": "PR = data provider's name.",
              "POSTAL_CODE": "PS = postal code.",
              "PORTUGUESE_NAME": "PT = PORTUGUESE name.",
              "HOUSE_NUMBER_RIGHT": "RE = House number right.",
              "RUSSIAN_LATIN_NAME": "RL = RUSSIAN name (latin alphabet).",
              "RHAETO_ROMANCE_NAME": "RM = RHAETO-ROMANCE name.",
              "ROUTE_NUMBER": "RN = Route number (ex. E15, A6, N7, etc.).",
              "ROMANIAN_NAME": "RO = ROMANIAN name.",
              "RUSSIAN_NAME": "RU = RUSSIAN name (cyrillic alphabet).",
              "SCALE": "SC = coordinates' scale.",
              "SERBO_CROATIAN_NAME": "SH = SERBO-CROATIAN name.",
              "SIGN_INFORMATION": "SI = sign information.",
              "SLOVAK_NAME": "SK = SLOVAK name.",
              "SLOVENIAN_NAME": "SL = SLOVENIAN name.",
              "SPEED_CATEGORY": "SP = speed category (km/h): 0=10;1=20;2=30;3=40;4=50;5=60;6=70;7=80;8=90;9=100;10=110;11=120.",
              "ALBANIAN_NAME": "SQ = ALBANIAN name.",
              "SERBO_CROATIAN_LATIN_NAME": "SR = SERBO-CROATIAN name (latin alphabet).",
              "SVS_TYPE": "ST = SVS type.",
              "SWEDISH_NAME": "SV = SWEDISH name.",
              "TRUCK_ATT_TIME_DOMAIN_ATTRIBUTE": "T0 = Truck Attribute with a Time domain Attribute.",
              "TRUCK_ATTRIBUTE": "TA = Truck Attribute.",
              "TIME_DOMAIN_ATTRIBUTE": "TD = Time domain Attribute.",
              "TEXTURE_COORD": "TE = Texture coordinates (for 3D landmarks).",
              "THAI_NAME": "TH = THAI name.",
              "TRAFIC_INFO": "TI = Traffic Info Attribute.",
              "TELEPHONE": "TL = telephone number.",
              "TMC_LOCATION": "TM = TMC location.",
              "TOLL_ROAD": "TR = toll road.",
              "TURKISH_NAME": "TU = TURKISH name.",
              "THAI_LATIN_NAME": "TX = THAI name (latin alphabet).",
              "UKRAINIAN_NAME": "UK = UKRAINIAN name (cyrillic alphabet).",
              "UKRAINIAN_LATIN_NAME": "UL = UKRAINIAN name (latin alphabet).",
              "UTM_ZONE": "UT = UTM zone : 1 - 60, positif for north, negative for south.",
              "VIETNAMESE_NAME": "VI = VIETNAMESE name.",
              "VIETNAMESE_LATIN_NAME": "VL = VIETNAMESE name (latin alphabet).",
              "VALENCIAN_NAME": "VL = VALENCIAN name.",
              "VT_MASK": "VT = vehicle type mask.",
              "ANY_LANG": "XX = Any language code.",
              "CHINESE_NAME": "ZH = Chinese name.",
              "CHINESE_LATIN_NAME": "ZL = Chinese name (latin alphabet)."
            }
          },
          "key": {
            "type": "string",
            "description": "BeNomad key of attribute."
          },
          "numericKey": {
            "type": "integer",
            "format": "int32",
            "description": "Numeric key."
          },
          "rawData": {
            "type": "boolean",
            "description": "BeNomad raw data."
          },
          "type": {
            "type": "string",
            "description": "Data type.",
            "enum": [
              "NA",
              "BOOLEAN",
              "BYTE",
              "BYTES",
              "CHAR",
              "DOUBLE",
              "FLOAT",
              "INT",
              "LONG",
              "STRING",
              "KEY",
              "LABEL",
              "META",
              "UINT"
            ]
          },
          "value": {
            "type": "string",
            "description": "Data value."
          }
        }
      },
      "AutocompleteElem": {
        "type": "object",
        "description": "Class representing autocomplete element.",
        "properties": {
          "elemType": {
            "type": "string",
            "description": "Type of element result. Auto-complete is able to return items of several types: categoryQuery, chainQuery, place, locality, etc."
          },
          "place": {
            "type": "string",
            "description": "Proposed place."
          },
          "addressLabel": {
            "type": "string",
            "description": "The full address in one text string of the entity result item."
          },
          "address": {
            "$ref": "#/components/schemas/Address",
            "description": "Complete postal address of proposed place."
          },
          "countryCode": {
            "type": "string",
            "description": "Country Code."
          },
          "coordinate": {
            "$ref": "#/components/schemas/CoordinateFullName",
            "description": "Coordinate of proposed place."
          },
          "entrances": {
            "type": "array",
            "description": "List of coordinate of the access to the result (for instance the entrance).",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "distance": {
            "type": "integer",
            "format": "int32",
            "description": "The distance in a straight line in meters from the position specified in the query `coordinate` parameter."
          },
          "locationId": {
            "type": "string",
            "description": "Location Id."
          },
          "language": {
            "type": "string",
            "description": "Language."
          },
          "score": {
            "type": "number",
            "format": "double",
            "description": "Score."
          },
          "placeHighlight": {
            "type": "array",
            "description": "The text slices matching the query. These slices can be used to highlight the related matching place field.",
            "items": {
              "$ref": "#/components/schemas/AutocompleteElemHighlight"
            }
          },
          "addressLabelHighlight": {
            "type": "array",
            "description": "The text slices matching the query. These slices can be used to highlight the related matching address label field.",
            "items": {
              "$ref": "#/components/schemas/AutocompleteElemHighlight"
            }
          },
          "categories": {
            "type": "array",
            "description": "A list of category ids. The primary category has its flag primary set to true.",
            "items": {
              "$ref": "#/components/schemas/AutocompleteElemReference"
            }
          },
          "foodTypes": {
            "type": "array",
            "description": "A list of food-type ids if available The primary category has its flag primary set to true.",
            "items": {
              "$ref": "#/components/schemas/AutocompleteElemReference"
            }
          },
          "chains": {
            "type": "array",
            "description": "Place chains metadata to allow customers to choose a chain icon.",
            "items": {
              "$ref": "#/components/schemas/AutocompleteElemReference"
            }
          },
          "references": {
            "type": "array",
            "description": "Data source ids, when the place result has a contribution from specific suppliers:",
            "items": {
              "$ref": "#/components/schemas/AutocompleteElemReference"
            }
          }
        },
        "required": [
          "coordinate",
          "elemType",
          "place"
        ]
      },
      "AutocompleteElemHighlight": {
        "type": "object",
        "description": "Class representing highlight section of element place or address fields.",
        "properties": {
          "start": {
            "type": "integer",
            "format": "int32"
          },
          "end": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "AutocompleteElemReference": {
        "type": "object",
        "description": "Class representing autocomplete reference of element.",
        "properties": {
          "supplierId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "primary": {
            "type": "boolean"
          }
        }
      },
      "AutocompleteGeocodingRequest": {
        "type": "object",
        "description": "Class representing a geographical research to suggest some textual postal address.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "language": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup. Objects for which defined language code is not available, default language will be used. Values language Code - An US-ASCII string that defines an ISO 639-1 (2-letter) language code. The specials 'IC' (no sensitive case) language code allows you to search for a country  depending on its ISO-3166 Alpha-3 or Alpha-2 country code."
          },
          "place": {
            "type": "string",
            "description": "Textual postal address or POI name. Mandatory."
          },
          "boundingbox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box to limit the auto-complete search area."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "To define the center of research area. Most providers use the parameter as optional, but some others require it to work. You can try a request without it, if the server returns an error message about this required parameter, add it and retry the same request."
          },
          "radius": {
            "type": "integer",
            "format": "int64",
            "description": "Define the radius of research in meters."
          },
          "countryCode": {
            "type": "string",
            "description": "Optional filtering research on country code."
          },
          "addressDetails": {
            "type": "boolean",
            "description": "Set to true to receive the proposed postal addresses in separate fields (country, city, street, etc). false by default."
          },
          "enLocId": {
            "type": "boolean",
            "description": "Used by HERE HLP geo-server; if set to true the Location ID will be returned."
          },
          "enEntrances": {
            "type": "boolean",
            "description": "Enable the generation list of geo-coordinate of the access to the result (for instance the entrance)."
          },
          "enHighlights": {
            "type": "boolean",
            "description": "Enable the generation of text slices matching the query. These slices can be used to highlight the related matching fields."
          },
          "enCategories": {
            "type": "boolean",
            "description": "Enable the generation list of category ids. The primary category has its flag primary set to true."
          },
          "enFoodTypes": {
            "type": "boolean",
            "description": "Enable the generation list of food-type ids if available The primary category has its flag primary set to true."
          },
          "enChains": {
            "type": "boolean",
            "description": "Enable place chains metadata to allow customers to choose a chain icon."
          },
          "enReferences": {
            "type": "boolean",
            "description": "Enable the data source ids, when the place result has a contribution from specific suppliers."
          }
        },
        "required": [
          "coordinate",
          "place"
        ]
      },
      "AutocompleteGeocodingResponse": {
        "type": "object",
        "description": "Class representing autocomplete geocoding response.",
        "properties": {
          "items": {
            "type": "array",
            "description": "List of proposal items.",
            "items": {
              "$ref": "#/components/schemas/AutocompleteElem"
            }
          }
        }
      },
      "BoundingBox": {
        "type": "object",
        "description": "This a model class for creating a rectangle that includes the whole trip which is defined with 4 coordinates.",
        "properties": {
          "minLon": {
            "type": "number",
            "format": "double",
            "description": "Minimum longitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "minLat": {
            "type": "number",
            "format": "double",
            "description": "Minimum latitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "maxLon": {
            "type": "number",
            "format": "double",
            "description": "Maximum longitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "maxLat": {
            "type": "number",
            "format": "double",
            "description": "Maximum latitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          }
        }
      },
      "BoundingBoxFront": {
        "type": "object",
        "description": "This a model class for creating a rectangle that includes the whole trip which is defined with 4 coordinates.",
        "properties": {
          "minLon": {
            "type": "number",
            "format": "double",
            "description": "Minimum longitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "minLat": {
            "type": "number",
            "format": "double",
            "description": "Minimum latitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "maxLon": {
            "type": "number",
            "format": "double",
            "description": "Maximum longitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "maxLat": {
            "type": "number",
            "format": "double",
            "description": "Maximum latitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          }
        }
      },
      "BrandInfo": {
        "type": "object",
        "description": "Class representing a brand information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of brand.ID that can be used in API `findvehicles` and `getlevelvehicleinfo` to get the vehicle models of that brand."
          },
          "label": {
            "type": "string",
            "description": "Name of brand. commercial brand name."
          }
        },
        "required": [
          "id",
          "label"
        ]
      },
      "BrandInfoV1Dot1": {
        "type": "object",
        "description": "Class representing a brand information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of brand.ID that can be used in API `findvehicles` and `getlevelvehicleinfo` to get the vehicle models of that brand."
          },
          "label": {
            "type": "string",
            "description": "Name of brand. commercial brand name."
          }
        },
        "required": [
          "id",
          "label"
        ]
      },
      "ChargeTimeSlot": {
        "type": "object",
        "description": "Represents a time slot which will be used to charge the vehicle. It is defined by a begin time, which should be after the departure time of the route, a end time, and a stop duration which should be inferior to (stopDateTime - startDateTime) and should be strictly superior to the stop time duration For EV Smart Routing, StepPointTimeSlot is valid if:\n  - A departure date and time have been set.\n  - Beginning of the time slot is before end of the time slot.\n  - Stop time duration is strictly positive and strictly superior to the fixed stop time.\n  - Beginning time plus stop time duration is inferior or equal to end time.\n  - Time slot's begin should be after the departure time.\n  - Time slot's begin should be before arrival time once stop is reachable. For EV Smart Routing, a time slot has a margin of +/- 1 minute.\n\n >Note: If forced charges are defined, they take priority over charge times.\n\n",
        "properties": {
          "duration": {
            "type": "integer",
            "format": "int32",
            "description": "Stop duration in seconds."
          },
          "startDateTime": {
            "type": "string",
            "description": "Start local date time in text format ISO YYYY-MM-DDThh:mm:ss (eg: 2020-09-08T12:28:00)."
          },
          "stopDateTime": {
            "type": "string",
            "description": "Stop local date time in text format ISO YYYY-MM-DDThh:mm:ss (eg: 2020-09-08T12:28:00)."
          },
          "serviceCategory": {
            "type": "string",
            "description": "Service category. Semantics:<br/>- !: not (unary).<br/>- &verbar;: or (binary).<br/>- &amp;: and (binary).<br/>- (: open section.<br/>- ): close section.<br/>- any numeric value.<br/>Example: (7315&verbar;9105)&amp;!7395<br/>See the [Class ID list](https://benomad.com/dev/doc/bemap-api/guides/reference/sdk-jsiv-classids/) in Glossary menu."
          },
          "maxWalkingDistance": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum walking distance in meters to the service(s) POI. Value range [50, 1000] between the step point and the service(s). 1000 meters by default."
          }
        },
        "required": [
          "duration"
        ]
      },
      "ChargingCost": {
        "type": "object",
        "description": "Class representing an estimated charging cost and time, based on vehicle, connector power, charge need and prices list.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency ISO 4217 Code."
          },
          "withoutVat": {
            "type": "number",
            "format": "float",
            "description": "Price without VAT."
          },
          "includeVat": {
            "type": "number",
            "format": "float",
            "description": "Price include VAT."
          }
        }
      },
      "ChargingCostCharge": {
        "type": "object",
        "description": "Class representing charging cost charge.",
        "properties": {
          "minPrice": {
            "$ref": "#/components/schemas/ChargingPriceTaxFront",
            "description": "Minimum price for a charging session with this tariff."
          },
          "maxPrice": {
            "$ref": "#/components/schemas/ChargingPriceTaxFront",
            "description": "Maximum price for a charging session with this tariff."
          },
          "curBatLvl": {
            "type": "number",
            "format": "double",
            "description": "Current level of battery (in percent), Range between 0% to 100% for a full battery charge."
          },
          "toBatLvl": {
            "type": "number",
            "format": "double",
            "description": "Desired level of battery after charging (in percent), 100% for a full battery charge. For a full charge, set the value to 100. For a charge to 80% of battery capacity set the value to 80."
          },
          "duration": {
            "type": "integer",
            "format": "int64",
            "description": "Maximum desired time spent to the charge (in seconds)."
          },
          "currentType": {
            "type": "string",
            "description": "Current type (AC/DC).",
            "enum": [
              "NA",
              "AC",
              "AC_SINGLE_PHASE",
              "AC_THREE_PHASES",
              "DC"
            ],
            "x-enumDescriptions": {
              "NA": "Not available (NA).",
              "AC": "Alternating current (AC), but the number of phases is not available.",
              "AC_SINGLE_PHASE": "Alternating current (AC), single phase.",
              "AC_THREE_PHASES": "Alternating current (AC), three phases.",
              "DC": "Direct current (DC)."
            }
          },
          "power": {
            "type": "number",
            "format": "double",
            "description": "Nominal power of connector (in kW). For a charging station can deliver 50 kW, set the value to 50."
          },
          "cnnTypeId": {
            "type": "integer",
            "format": "int32",
            "description": "Connector type ID."
          },
          "currency": {
            "type": "string",
            "description": "Defined the currency used for costs calculation. Currency ISO 4217 Code."
          },
          "startDateTime": {
            "type": "string",
            "description": "The time when this tariff becomes active, in UTC, the time_zone field of the Location can be used to convert to local time. Typically used for a new tariff already given with the location, before it becomes active."
          },
          "endDateTime": {
            "type": "string",
            "description": "The time after which this tariff is no longer valid, in UTC, time_zone field if the Location can be used to convert to local time. Typically used when this tariff is going to be replaced with a different tariff soon."
          },
          "timeZone": {
            "type": "string",
            "description": "Time zone. The value must come from the Pool `timeZone` field. One of IANA tzdata's TZ-values representing the time zone of the location. Examples: \"Europe/Oslo\", \"Europe/Zurich\". (http://www.iana.org/time-zones)"
          },
          "tariffs": {
            "type": "array",
            "description": "List of tariff.",
            "items": {
              "$ref": "#/components/schemas/ChargingTariffItemFront"
            }
          }
        },
        "required": [
          "cnnTypeId",
          "curBatLvl",
          "currency",
          "power",
          "tariffs"
        ]
      },
      "ChargingCostEstimation": {
        "type": "object",
        "description": "Class representing charging cost estimations.",
        "properties": {
          "chargingTime": {
            "type": "integer",
            "format": "int64",
            "description": "Charging time in seconds."
          },
          "energyUsed": {
            "type": "number",
            "format": "double",
            "description": "Energy used in kW to make the charge."
          },
          "batChargeLvl": {
            "type": "number",
            "format": "double",
            "description": "The charge level (in %) of the vehicle at the given charge point."
          },
          "chargingCost": {
            "$ref": "#/components/schemas/ChargingCost",
            "description": "Charging cost."
          }
        }
      },
      "ChargingCostFront": {
        "type": "object",
        "description": "Class representing an estimated charging cost and time, based on vehicle, connector power, charge need and prices list.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency ISO 4217 Code."
          },
          "withoutVat": {
            "type": "number",
            "format": "float",
            "description": "Price without VAT."
          },
          "includeVat": {
            "type": "number",
            "format": "float",
            "description": "Price include VAT."
          },
          "tariffChargePassHashId": {
            "type": "string",
            "description": "Represents the hashed identifier for tariff charge passes that used to calculate the cost."
          }
        }
      },
      "ChargingCostRequest": {
        "type": "object",
        "description": "Class representing a charging cost request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "vehicle": {
            "type": "string",
            "description": "Model of vehicle (key)."
          },
          "time": {
            "type": "integer",
            "format": "int64",
            "description": "Time stamp (in milliseconds). Defines the date and time will be used to apply the price restrictions."
          },
          "temperature": {
            "type": "integer",
            "format": "int32",
            "description": "Temperature in Celsius."
          },
          "cur": {
            "type": "string",
            "description": "Defined the currency used for costs calculation. Currency ISO 4217 Code."
          },
          "charges": {
            "type": "array",
            "description": "List of charging features.",
            "items": {
              "$ref": "#/components/schemas/ChargingCostCharge"
            }
          }
        },
        "required": [
          "charges",
          "temperature",
          "vehicle"
        ]
      },
      "ChargingCostResponse": {
        "type": "object",
        "description": "Class representing a charging cost response",
        "properties": {
          "estimations": {
            "type": "array",
            "description": "List of estimated cost and time.",
            "items": {
              "$ref": "#/components/schemas/ChargingCostEstimation"
            }
          }
        }
      },
      "ChargingPoint": {
        "type": "object",
        "description": "Class describing a charging point.",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of charging point."
          },
          "operatorId": {
            "type": "string",
            "description": "Operator unique identifier like eMI3 format."
          },
          "availabilityStatus": {
            "type": "string",
            "description": "Define the status of availability.",
            "enum": [
              "UNSUPPORTED_VALUE",
              "NA",
              "OUT_OF_ORDER",
              "IN_SERVICE",
              "IN_SERVICE_FREE",
              "IN_SERVICE_BUSY",
              "IN_SERVICE_RESERVED",
              "FUTURE"
            ],
            "x-enumDescriptions": {
              "UNSUPPORTED_VALUE": "Not found, not supported new value.",
              "NA": "Not specified.",
              "OUT_OF_ORDER": "Out Of Order.",
              "IN_SERVICE": "In service.",
              "IN_SERVICE_FREE": "In service and free.",
              "IN_SERVICE_BUSY": "In service but busy.",
              "IN_SERVICE_RESERVED": "In service but reserved.",
              "FUTURE": "Future."
            }
          },
          "availabilityUntil": {
            "type": "integer",
            "format": "int64",
            "description": "Availability available until time (Time stamp in milliseconds)."
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "description": "ID of first connector type."
          },
          "connectorTypes": {
            "type": "array",
            "description": "List of connector type.",
            "items": {
              "$ref": "#/components/schemas/ConnectorTypeFront"
            }
          },
          "currentType": {
            "type": "string",
            "description": "Current type (AC/DC).",
            "enum": [
              "NA",
              "AC",
              "AC_SINGLE_PHASE",
              "AC_THREE_PHASES",
              "DC"
            ],
            "x-enumDescriptions": {
              "NA": "Not available (NA).",
              "AC": "Alternating current (AC), but the number of phases is not available.",
              "AC_SINGLE_PHASE": "Alternating current (AC), single phase.",
              "AC_THREE_PHASES": "Alternating current (AC), three phases.",
              "DC": "Direct current (DC)."
            }
          },
          "voltage": {
            "type": "number",
            "format": "float",
            "description": "Voltage of current."
          },
          "ampere": {
            "type": "number",
            "format": "float",
            "description": "Ampere of current."
          },
          "power": {
            "type": "number",
            "format": "double",
            "description": "Electrical power in kW."
          },
          "currency": {
            "type": "string",
            "description": "Currency ISO 4217 Code."
          },
          "remoteCharging": {
            "type": "boolean",
            "description": "True if a charging session can be started remotely."
          },
          "tariffsType": {
            "type": "string",
            "description": "Represents the type of tariffs, e.i. AD_HOC, MSP."
          },
          "tariffsChargePassHashId": {
            "type": "string",
            "description": "Represents a unique identifier hash associated with the tariffs used for calculating charges."
          },
          "tariffs": {
            "type": "array",
            "description": "List of tariff.",
            "items": {
              "$ref": "#/components/schemas/ChargingTariffItemFront"
            }
          },
          "parkingSpot": {
            "$ref": "#/components/schemas/ParkingVehicleAccessFront",
            "description": "Vehicle access restrictions and parking information for this charging point."
          },
          "tags": {
            "type": "array",
            "description": "List of tags, will be used to perform some filtration based on provider or customer references.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ChargingPower": {
        "type": "object",
        "description": "Class representing charging power.",
        "properties": {
          "currentType": {
            "type": "string",
            "description": "Current type (AC/DC).",
            "enum": [
              "NA",
              "AC",
              "AC_SINGLE_PHASE",
              "AC_THREE_PHASES",
              "DC"
            ],
            "x-enumDescriptions": {
              "NA": "Not available (NA).",
              "AC": "Alternating current (AC), but the number of phases is not available.",
              "AC_SINGLE_PHASE": "Alternating current (AC), single phase.",
              "AC_THREE_PHASES": "Alternating current (AC), three phases.",
              "DC": "Direct current (DC)."
            }
          },
          "power": {
            "type": "number",
            "format": "double",
            "description": "Power in kW will used to charging the vehicle battery."
          },
          "cnnTypeId": {
            "type": "integer",
            "format": "int32",
            "description": "Connector type ID used to charging the vehicle battery."
          }
        }
      },
      "ChargingPrice": {
        "type": "object",
        "description": "Class representing charging price.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of price dimension.",
            "enum": [
              "FLAT",
              "PARKING_TIME",
              "ENERGY",
              "TIME"
            ],
            "x-enumDescriptions": {
              "FLAT": "flat fee, no unit.",
              "PARKING_TIME": "time not charging, defined in hours.",
              "ENERGY": "defined in kWh.",
              "TIME": "time charging, defined in hours."
            }
          },
          "unit": {
            "type": "string",
            "description": "Unit of price.",
            "enum": [
              "NA",
              "PER_HOUR",
              "PER_KWH"
            ]
          },
          "price": {
            "type": "number",
            "format": "float",
            "description": "Price per unit (excluding VAT) for this tariff dimension."
          },
          "vat": {
            "type": "number",
            "format": "float",
            "description": "Applicable VAT percentage for this tariff dimension. If omitted, no VAT is applicable."
          },
          "minAmount": {
            "type": "number",
            "format": "float",
            "description": "Minimum amount to be billed."
          }
        },
        "required": [
          "price",
          "type"
        ]
      },
      "ChargingPriceRestriction": {
        "type": "object",
        "description": "Class representing charging price restrictions.",
        "properties": {
          "startTime": {
            "type": "string",
            "description": "Start time of day (hh:mm)."
          },
          "endTime": {
            "type": "string",
            "description": "End time of day (hh:mm)."
          },
          "startDate": {
            "type": "string",
            "description": "Start date (AAAA-MM-DD)."
          },
          "endDate": {
            "type": "string",
            "description": "End date (AAAA-MM-DD)."
          },
          "minKwh": {
            "type": "number",
            "format": "float",
            "description": "Minimum used energy in kWh for this tariff to be valid."
          },
          "maxKwh": {
            "type": "number",
            "format": "float",
            "description": "Maximum used energy in kWh for this tariff to be valid."
          },
          "minPower": {
            "type": "number",
            "format": "double",
            "description": "Minimum power in kW for this tariff to be valid."
          },
          "maxPower": {
            "type": "number",
            "format": "double",
            "description": "Maximum power in kW for this tariff to be valid."
          },
          "minDuration": {
            "type": "integer",
            "format": "int32",
            "description": "Minimum duration in seconds for this tariff to be valid."
          },
          "maxDuration": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum duration in seconds for this tariff to be valid."
          },
          "dayOfWeek": {
            "type": "array",
            "description": "List of day of the week for this tariff to be valid. Values can be MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.",
            "items": {
              "type": "string",
              "enum": [
                "MONDAY",
                "TUESDAY",
                "WEDNESDAY",
                "THURSDAY",
                "FRIDAY",
                "SATURDAY",
                "SUNDAY"
              ]
            }
          }
        }
      },
      "ChargingPriceTaxFront": {
        "type": "object",
        "description": "Represents a tax applied to a charging price.",
        "properties": {
          "excludeTax": {
            "type": "number",
            "format": "float",
            "description": "Represents the price of a charge without a tax."
          },
          "name": {
            "type": "string",
            "description": "The name of the tax. The intention is that Parties use short names where possible, e.g. VAT."
          },
          "includeTax": {
            "type": "number",
            "format": "float",
            "description": "Represents the price of a charge with tax. The amount of money of this tax that is due."
          }
        },
        "required": [
          "excludeTax",
          "includeTax"
        ]
      },
      "ChargingStation": {
        "type": "object",
        "description": "Class describing a charging station",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of station."
          },
          "operatorId": {
            "type": "string",
            "description": "Operator unique identifier like eMI3 format."
          },
          "nature": {
            "type": "string",
            "description": "Nature define the interpretation and behavior. If VGROUP the data must be interpreted as an no reality object, just like a simple group. If is REAL, the object exist in the reality world.",
            "enum": [
              "VGROUP",
              "REAL"
            ],
            "x-enumDescriptions": {
              "VGROUP": "The data must not be interpreted as an actual physical object, but as a simple group.",
              "REAL": "The object exists in the real world."
            }
          },
          "availabilityStatus": {
            "type": "string",
            "description": "Define the status of availability.",
            "enum": [
              "UNSUPPORTED_VALUE",
              "NA",
              "OUT_OF_ORDER",
              "IN_SERVICE",
              "IN_SERVICE_FREE",
              "IN_SERVICE_BUSY",
              "IN_SERVICE_RESERVED",
              "FUTURE"
            ],
            "x-enumDescriptions": {
              "UNSUPPORTED_VALUE": "Not found, not supported new value.",
              "NA": "Not specified.",
              "OUT_OF_ORDER": "Out Of Order.",
              "IN_SERVICE": "In service.",
              "IN_SERVICE_FREE": "In service and free.",
              "IN_SERVICE_BUSY": "In service but busy.",
              "IN_SERVICE_RESERVED": "In service but reserved.",
              "FUTURE": "Future."
            }
          },
          "authenticationModes": {
            "type": "array",
            "description": "Authentication mode.",
            "items": {
              "type": "string"
            }
          },
          "authenticationInformation": {
            "type": "string",
            "description": "Information about the authentication."
          },
          "paymentModes": {
            "type": "array",
            "description": "Payment mode.",
            "items": {
              "type": "string"
            }
          },
          "paymentInformation": {
            "type": "string",
            "description": "Information about the payment mode."
          },
          "chargePasses": {
            "type": "array",
            "description": "List of charge pass available a station.",
            "items": {
              "$ref": "#/components/schemas/ChargingTariffChargePassFront"
            }
          },
          "bookable": {
            "type": "boolean",
            "description": "Bookable. Set to true if the station is bookable."
          },
          "images": {
            "type": "array",
            "description": "Links to images related to the location such as photos or logos.",
            "items": {
              "$ref": "#/components/schemas/ImageUrl"
            }
          },
          "tags": {
            "type": "array",
            "description": "List of tags, will be used to perform some filtration based on provider or customer references.",
            "items": {
              "type": "string"
            }
          },
          "chargingPoints": {
            "type": "array",
            "description": "List of charging points.",
            "items": {
              "$ref": "#/components/schemas/ChargingPoint"
            }
          }
        }
      },
      "ChargingStationBrandResponse": {
        "type": "object",
        "description": "Class representing charging station brands response.",
        "properties": {
          "brands": {
            "type": "array",
            "description": "List of brands response.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ChargingStationChargePassResponse": {
        "type": "object",
        "description": "Class representing charging station charge pass response.",
        "properties": {
          "chargePasses": {
            "type": "array",
            "description": "List of charge pass.",
            "items": {
              "$ref": "#/components/schemas/ChargingTariffChargePassFront"
            }
          }
        }
      },
      "ChargingStationPool": {
        "type": "object",
        "description": "Class describing a charging station pool.",
        "properties": {
          "providerName": {
            "type": "string",
            "description": "Provider name used by BeMap (bgis)."
          },
          "providerMode": {
            "type": "string",
            "description": "Define if the data come from the local database or directly from provider API.",
            "enum": [
              "LOCAL",
              "REMOTE",
              "NOT_SUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "LOCAL": "The charging station data come from the local database or cache (local request to spatial database).",
              "REMOTE": "The charging station data come directly from the provider database (remote request to provider API).",
              "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
            }
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of pool, come from the provider."
          },
          "operatorId": {
            "type": "string",
            "description": "Operator unique identifier like eMI3 format."
          },
          "sourceProvider": {
            "type": "string",
            "description": "Name of the original provider."
          },
          "customerId": {
            "type": "string",
            "description": "Customer id."
          },
          "updateDate": {
            "type": "integer",
            "format": "int64",
            "description": "Update date, time stamp in milliseconds."
          },
          "tags": {
            "type": "array",
            "description": "List of tags, will be used to perform some filtration based on provider or customer references.",
            "items": {
              "type": "string"
            }
          },
          "brand": {
            "type": "string",
            "description": "Brand name of pool."
          },
          "nameOfPool": {
            "type": "string",
            "description": "Name of pool."
          },
          "accessibility": {
            "type": "string",
            "description": "Define the accessibility of a pool of charging station.",
            "enum": [
              "UNSUPPORTED_VALUE",
              "NA",
              "PUBLIC",
              "PUBLIC_WITH_MEMBERSHIP",
              "PUBLIC_UPON_PRESENTATION",
              "PRIVATE",
              "PRIVATE_EMPLOYEES_ONLY",
              "PRIVATE_CUSTOMERS_ONLY",
              "PRIVATE_RESIDENTS_ONLY",
              "PRIVATE_UPON_PRESENTATION",
              "RESTRICTED",
              "CAR_SHARING_ONLY",
              "OTHER"
            ],
            "x-enumDescriptions": {
              "UNSUPPORTED_VALUE": "Not found, not supported new value.",
              "NA": "Unspecified access to the area.",
              "PUBLIC": "Publicly accessible area.",
              "PUBLIC_WITH_MEMBERSHIP": "Public with membership.",
              "PUBLIC_UPON_PRESENTATION": "Public upon presentation.",
              "PRIVATE": "Private.",
              "PRIVATE_EMPLOYEES_ONLY": "Private employees only.",
              "PRIVATE_CUSTOMERS_ONLY": "Private customers only.",
              "PRIVATE_RESIDENTS_ONLY": "Private residents only.",
              "PRIVATE_UPON_PRESENTATION": "Private upon presentation.",
              "RESTRICTED": "Controlled or restricted area access.",
              "CAR_SHARING_ONLY": "Car sharing only.",
              "OTHER": "Other."
            }
          },
          "availabilityStatus": {
            "type": "string",
            "description": "Define the status of availability.",
            "enum": [
              "UNSUPPORTED_VALUE",
              "NA",
              "OUT_OF_ORDER",
              "IN_SERVICE",
              "IN_SERVICE_FREE",
              "IN_SERVICE_BUSY",
              "IN_SERVICE_RESERVED",
              "FUTURE"
            ],
            "x-enumDescriptions": {
              "UNSUPPORTED_VALUE": "Not found, not supported new value.",
              "NA": "Not specified.",
              "OUT_OF_ORDER": "Out Of Order.",
              "IN_SERVICE": "In service.",
              "IN_SERVICE_FREE": "In service and free.",
              "IN_SERVICE_BUSY": "In service but busy.",
              "IN_SERVICE_RESERVED": "In service but reserved.",
              "FUTURE": "Future."
            }
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal (WGS84) (double)."
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal (WGS84) (double)."
          },
          "countryCode": {
            "type": "string",
            "description": "ISO country code, 2 or 3 letters depends on provider (ISO 3166-1 alpha-2 and alpha-3)."
          },
          "country": {
            "type": "string",
            "description": "Country."
          },
          "postalCode": {
            "type": "string",
            "description": "Zip code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "street": {
            "type": "string",
            "description": "Street name."
          },
          "streetNumber": {
            "type": "string",
            "description": "House number."
          },
          "addressComplement": {
            "type": "string",
            "description": "Pool complement of address."
          },
          "floorNumber": {
            "type": "string",
            "description": "Address floor number."
          },
          "siteType": {
            "type": "string",
            "description": "Textual description of site."
          },
          "siteCategory": {
            "type": "string",
            "description": "Reflects the general category type of the pool.",
            "enum": [
              "NA",
              "UNKNOWN",
              "OTHER",
              "ON_STREET",
              "ON_MOTORWAY",
              "PARKING_LOT",
              "BUILDING_DRIVEWAY",
              "BUILDING_PARKING",
              "UNDERGROUND_PARKING",
              "UNSUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "NA": "Not available.",
              "UNKNOWN": "Unknown category.",
              "OTHER": "Other, not categorized.",
              "ON_STREET": "Parking in public space along a street.",
              "ON_MOTORWAY": "Location on a parking facility/rest area along a motorway, freeway, interstate, highway etc.",
              "PARKING_LOT": "A cleared area that is intended for parking vehicles, i.e. at super markets, bars, etc.",
              "BUILDING_DRIVEWAY": "Location is on the driveway of a house/building.",
              "BUILDING_PARKING": "Multi-storey car park.",
              "UNDERGROUND_PARKING": "Multi-storey car park, mainly underground.",
              "UNSUPPORTED_VALUE": "Not found, not supported new value."
            }
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "timeZone": {
            "type": "string",
            "description": "Time zone. One of IANA tzdata's TZ-values representing the time zone of the location. Examples: \"Europe/Oslo\", \"Europe/Zurich\". (http://www.iana.org/time-zones)"
          },
          "open24x7": {
            "type": "boolean",
            "description": "Pool is opened 24x7 hours."
          },
          "openingHours": {
            "type": "array",
            "description": "List of opening hours.",
            "items": {
              "$ref": "#/components/schemas/PoolOpeningHour"
            }
          },
          "numberOfParkingSpace": {
            "type": "integer",
            "format": "int32",
            "description": "Number of parking space in the pool (parking)."
          },
          "comment": {
            "type": "string",
            "description": "Comment."
          },
          "images": {
            "type": "array",
            "description": "Links to images related to the location such as photos or logos.",
            "items": {
              "$ref": "#/components/schemas/ImageUrl"
            }
          },
          "chargingStations": {
            "type": "array",
            "description": "List of charging stations.",
            "items": {
              "$ref": "#/components/schemas/ChargingStation"
            }
          },
          "summaryOfConnectorTypeIds": {
            "type": "array",
            "description": "Summarized of connector type, used as cache of different connector types present in pool.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "maxNominalPower": {
            "type": "number",
            "format": "double",
            "description": "Maximum of nominal power (in kW) present in pool."
          },
          "numberOfChargingPoint": {
            "type": "integer",
            "format": "int32",
            "description": "Summarized of number of charging point present in pool."
          },
          "reliabilityScore": {
            "type": "integer",
            "format": "int32",
            "description": "Reliability score of the pool. A score of 1 is the least reliable, and a score of 5 is the most reliable."
          },
          "predictedOccupancyTimeSlots": {
            "type": "array",
            "description": "List of predicted occupancy time slots for a charging station. Each time slot provides information about the predicted occupancy level within a specific time range on a given day.",
            "items": {
              "$ref": "#/components/schemas/PredictedOccupancyTimeSlot"
            }
          },
          "vehicleAccess": {
            "$ref": "#/components/schemas/SummaryParkingVehicleAccessFront",
            "description": "Restrictions regarding vehicles."
          }
        }
      },
      "ChargingStationSearchRequest": {
        "type": "object",
        "description": "Class representing charging station search request. The parameters `coordinate`, `corridor`, and `boundingBox` are mutually exclusive. Use one of them is required.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "mode": {
            "type": "string",
            "description": "Mode of charging station research.",
            "enum": [
              "LOCAL",
              "REMOTE",
              "LOCAL_AND_REMOTE",
              "LOCAL_OR_REMOTE",
              "REMOTE_OR_LOCAL",
              "LOCAL_IFNOPOOLS_REMOTE",
              "REMOTE_IFNOPOOLS_LOCAL"
            ],
            "x-enumDescriptions": {
              "LOCAL": "Perform the research only with the local database or cache.",
              "REMOTE": "Transfer and perform the request research to the provider database.",
              "LOCAL_AND_REMOTE": "Perform the research on local database/cache and on provider database (remote), the results are merged in single response.",
              "LOCAL_OR_REMOTE": "Capability preference between local and remote request. If the provider have the local capability mode, the request will executed only in local. If not, the remote mode will be used (if remote is available too).",
              "REMOTE_OR_LOCAL": "Capability preference between remote and local request. If the provider have the remote capability mode, the request will be send to remote provider. If not, the local mode will be used (if local is available too).",
              "LOCAL_IFNOPOOLS_REMOTE": "Capability preference between local and remote request. If the provider have the local capability mode, the request will executed on local database in first. If not pools are found, the remote mode will be used (if remote is available too).",
              "REMOTE_IFNOPOOLS_LOCAL": "Capability preference between remote and local request. If the provider have the remote capability mode, the request will be send to remote provider in first. If not pools are found, the local mode will be used (if local is available too)."
            }
          },
          "options": {
            "type": "array",
            "description": "Options of charging station service.",
            "items": {
              "type": "string",
              "enum": [
                "AVAILABLE_CONNECTOR_TYPES",
                "DEPRECATED_CONNECTOR",
                "PATH_POOL_MAP",
                "PATH_POINT_MAP",
                "PATH_POOL",
                "PATH_STATION",
                "PATH_POINT",
                "PATH_AUTO"
              ],
              "x-enumDescriptions": {
                "AVAILABLE_CONNECTOR_TYPES": "Return the list of available connector type supported by the server.",
                "DEPRECATED_CONNECTOR": "Include all deprecated connector types.",
                "PATH_POOL_MAP": "Depth of path limited to the minimal pool information to display on map. Limited filtering capacity.",
                "PATH_POINT_MAP": "Depth of path limited to the minimal pool information to show on map. But allow filtering based on charging point.",
                "PATH_POOL": "Depth of path limited to the pool information.",
                "PATH_STATION": "Depth of path limited to the station information.",
                "PATH_POINT": "Depth of path limited to the charging point information.",
                "PATH_AUTO": "Automatic switching between PATH_POOL_MAP to PATH_POINT data precision. The depth of a path limits the charging point information."
              }
            }
          },
          "pathAutoMaxPool": {
            "type": "integer",
            "format": "int32",
            "description": "Define the maximum of pool found by request to automatic switching between DepthOfPath. The depth of a path limits the charging point information. See the option PATH_AUTO. 20 by default."
          },
          "providers": {
            "type": "array",
            "description": "Provider names used by BeMap (bgis).",
            "items": {
              "type": "string"
            }
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate research center in degrees decimal (WGS84). The `radius` parameter can be used with this parameter. The parameters `coordinate`, `corridor`, and `boundingBox` are mutually exclusive. Use one of them is required."
          },
          "corridor": {
            "type": "array",
            "description": "List of coordinate in degrees decimal (WGS84) represent the corridor of research. The `radius` parameter can be used with this parameter. The parameters `coordinate`, `corridor`, and `boundingBox` are mutually exclusive. Use one of them is required.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "radius": {
            "type": "integer",
            "format": "int32",
            "description": "Define the radius in meters of search. Required by the center or corridor parameters."
          },
          "bbox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Bounding box in degrees decimal (WGS84) represent the corridor of research. The parameters `coordinate`, `corridor`, and `boundingBox` are mutually exclusive. Use one of them is required."
          },
          "maxPoolResult": {
            "type": "integer",
            "format": "int32",
            "description": "Define the maximum pools will be returned in response."
          },
          "maxProviderResult": {
            "type": "integer",
            "format": "int32",
            "description": "Define the maximum of provider item researched."
          },
          "connectorIdFilters": {
            "type": "array",
            "description": "List of connector type ID to perform a filtration based on those values.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "poolIdFilter": {
            "type": "string",
            "description": "Pool ID filter, return only the pool with the input ID."
          },
          "stationIdFilter": {
            "type": "string",
            "description": "Station ID filter, return only the station with the input ID."
          },
          "pointIdFilter": {
            "type": "string",
            "description": "Point ID filter, return only the point with the input ID."
          },
          "filtersVersion": {
            "type": "string",
            "format": "byte",
            "description": "Represents the version of the filtering logic used in the charging station search query. This field determines which filtering implementation or algorithm is applied during processing. The default is 1.  The available values are: 1, 2.",
            "x-javaType": "byte"
          },
          "filters": {
            "type": "array",
            "description": "Filters, return only the points matching the filters. [Documentation of available filters](https://benomad.com/dev/doc/bemap-api/guides/reference/chargingstation-filter-v1/).",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup."
          }
        }
      },
      "ChargingStationSearchResponse": {
        "type": "object",
        "description": "Class representing charging station search response.",
        "properties": {
          "pools": {
            "type": "array",
            "description": "Pools of charging station.",
            "items": {
              "$ref": "#/components/schemas/ChargingStationPool"
            }
          }
        }
      },
      "ChargingStationTariffsRequest": {
        "type": "object",
        "description": "Class representing a charging station tariffs request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "logTag": {
            "type": "string",
            "description": "Log tag is an UUID tag used during the request calculation in log and send to another provider (if need)."
          },
          "providerName": {
            "type": "string",
            "description": "Provider name used by BeMap (bgis)."
          },
          "chargePassHashIds": {
            "type": "array",
            "description": "Represents a collection of hashed identifiers for tariff charge passes added in response. The tariffs of charge passes are returned in response to the AD/HOC tariffs. The AD/HOC tariffs are always returned when they are available.",
            "items": {
              "type": "string"
            }
          },
          "links": {
            "type": "array",
            "description": "Represents a list of associations between charging tariffs and connectors.",
            "items": {
              "$ref": "#/components/schemas/ChargingTariffConnectorLinkFront"
            }
          }
        },
        "required": [
          "links",
          "providerName"
        ]
      },
      "ChargingStationTariffsResponse": {
        "type": "object",
        "description": "Represents the response containing a list of charging station tariffs. This class is used to encapsulate and manage tariff information retrieved as part of a query related to charging infrastructure.",
        "properties": {
          "items": {
            "type": "array",
            "description": "List of tariffs.",
            "items": {
              "$ref": "#/components/schemas/FindTariffsItemFront"
            }
          }
        },
        "required": [
          "items"
        ]
      },
      "ChargingTariffChargePassFront": {
        "type": "object",
        "description": "Class representing charge pass.",
        "properties": {
          "hashId": {
            "type": "string",
            "description": "Unique identifier of charge pass."
          },
          "networkName": {
            "type": "string",
            "description": "Unique name of charge network."
          },
          "title": {
            "type": "string",
            "description": "Name of charge pass."
          },
          "description": {
            "type": "string",
            "description": "A brief description or summary of the station charge pass."
          },
          "currency": {
            "type": "string",
            "description": "Currency used for the subscription fee. This field stores the currency code or symbol used for the subscription fee."
          },
          "subscriptionType": {
            "type": "string",
            "description": "Type of subscription associated with the entity. This may denote the specific subscription model or tier for accessing the station service."
          },
          "subscriptionFeeExclVat": {
            "type": "number",
            "format": "float",
            "description": "Subscription fee excluding VAT. This field stores the fee amount charged for a subscription before any value-added tax is applied."
          },
          "networkUrl": {
            "type": "string",
            "description": "URL link to the website of charge network."
          },
          "androidAppUrl": {
            "type": "string",
            "description": "URL link to the Android application of charge network."
          },
          "iosAppUrl": {
            "type": "string",
            "description": "URL link to the iOS application of charge network."
          }
        },
        "required": [
          "hashId",
          "title"
        ]
      },
      "ChargingTariffConnectorLinkFront": {
        "type": "object",
        "description": "Represents a link between a charging tariff and a connector.",
        "properties": {
          "poolId": {
            "type": "string",
            "description": "Unique identifier of the charging pool."
          },
          "stationId": {
            "type": "string",
            "description": "Unique identifier of the charging station."
          },
          "chargingPointId": {
            "type": "string",
            "description": "Unique identifier of the charging point. Use the ID field from charging station search service."
          },
          "connectorId": {
            "type": "string",
            "description": "Unique identifier of the charging connector. Use the operator ID field from charging station search service."
          }
        },
        "required": [
          "chargingPointId",
          "connectorId",
          "poolId"
        ]
      },
      "ChargingTariffContentFront": {
        "type": "object",
        "description": "Unique identifier of database entry, generated by the database.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of database entry, generated by the database."
          },
          "providerName": {
            "type": "string",
            "description": "Provider name of data."
          },
          "updateDate": {
            "type": "integer",
            "format": "int64",
            "description": "Update date, time stamp in milliseconds."
          },
          "providerUpdated": {
            "type": "string",
            "description": "Represents the date and time when the charging tariff information was last updated. This timestamp allows tracking changes and updates to the tariff details."
          },
          "providerTariffId": {
            "type": "string",
            "description": "A unique identifier for the tariff provided by a charging service provider. This identifier is used to distinguish between various tariff plans or pricing structures offered by the provider. Typically assigned by the provider, it serves as a reference for mapping and managing charging tariffs."
          },
          "type": {
            "type": "string",
            "description": "Represents the type of charging tariff applied in the context of a charging session.",
            "enum": [
              "AD_HOC",
              "MSP",
              "CPO_SUB"
            ]
          },
          "chargePass": {
            "$ref": "#/components/schemas/ChargingTariffChargePassFront",
            "description": "The charge pass may provide information about specific subscription features, fees, or charge network details relevant to the charging process."
          },
          "tariffExplainTexts": {
            "type": "array",
            "description": "A list of multilingual textual descriptions for explaining the tariff.",
            "items": {
              "$ref": "#/components/schemas/LanguageTextFront"
            }
          },
          "tariffUrl": {
            "type": "string",
            "description": "URL to a web page that contains an explanation of the tariff information in human-readable form."
          },
          "currency": {
            "type": "string",
            "description": "Currency ISO 4217 Code."
          },
          "minPrice": {
            "$ref": "#/components/schemas/ChargingPriceTaxFront",
            "description": "When this field is set, the minimum cost of a Charging Session before taxes cannot be lower than this amount."
          },
          "maxPrice": {
            "$ref": "#/components/schemas/ChargingPriceTaxFront",
            "description": "When this field is set, the maximum cost of a Charging Session before taxes cannot exceed this amount."
          },
          "tariffItems": {
            "type": "array",
            "description": "A list containing tariff items associated with the charging tariff.",
            "items": {
              "$ref": "#/components/schemas/ChargingTariffItemFront"
            }
          }
        },
        "required": [
          "chargePass",
          "currency",
          "id",
          "maxPrice",
          "minPrice",
          "providerName",
          "providerTariffId",
          "tariffItems",
          "type",
          "updateDate"
        ]
      },
      "ChargingTariffItemFront": {
        "type": "object",
        "description": "Class representing charging tariff.",
        "properties": {
          "restriction": {
            "$ref": "#/components/schemas/ChargingPriceRestriction",
            "description": "Restriction information of prices."
          },
          "prices": {
            "type": "array",
            "description": "List of price.",
            "items": {
              "$ref": "#/components/schemas/ChargingPrice"
            }
          }
        },
        "required": [
          "prices"
        ]
      },
      "ChargingTimeRequest": {
        "type": "object",
        "description": "Class representing a charging time request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "vehicle": {
            "type": "string",
            "description": "Vehicle model (UUID key). Mandatory if `energyVehicleFeature` parameter is not set."
          },
          "energyVehicleFeature": {
            "$ref": "#/components/schemas/RoutingEnergyVehicleFtr",
            "description": "Energy vehicle feature for energy consumption estimation. Optional if `vehicle` parameter is defined.",
            "x-aliases": [
              "routingEnergyVehicleFeature"
            ]
          },
          "options": {
            "type": "array",
            "description": "Options of charging time service.",
            "items": {
              "type": "string",
              "enum": [
                "OPTIMUM_BATTERY_CHARGE"
              ],
              "x-enumDescriptions": {
                "OPTIMUM_BATTERY_CHARGE": "Calculate the optimum charge level (in %) of the vehicle battery at the given charge point; Above this level, the power delivered by the charge point decreases, and the charge takes more time."
              }
            }
          },
          "temperature": {
            "type": "integer",
            "format": "int32",
            "description": "Temperature in Celsius. Mandatory if `vehicle` parameter is used. Optional if `evf` parameter is used. By Default `20`."
          },
          "remainingBatteryLevel": {
            "type": "number",
            "format": "double",
            "description": "Remaining battery level in percent. Available value `0` to `100`. By default `0`. Mandatory if `vehicle` parameter is used. Optional if `evf` parameter is used."
          },
          "chargingPointPower": {
            "type": "number",
            "format": "double",
            "description": "Nominal power of connector of the charging station (in kW)."
          },
          "chargingCurrentType": {
            "type": "string",
            "description": "Define the current type of charging point power.",
            "enum": [
              "NA",
              "AC",
              "AC_SINGLE_PHASE",
              "AC_THREE_PHASES",
              "DC"
            ],
            "x-enumDescriptions": {
              "NA": "Not available (NA).",
              "AC": "Alternating current (AC), but the number of phases is not available.",
              "AC_SINGLE_PHASE": "Alternating current (AC), single phase.",
              "AC_THREE_PHASES": "Alternating current (AC), three phases.",
              "DC": "Direct current (DC)."
            }
          },
          "connectorType": {
            "type": "string",
            "description": "Connector type ID, used to perform a power limitation based on those connector."
          },
          "chargingBatteryLevel": {
            "type": "number",
            "format": "double",
            "description": "Desired level of battery after charging (in percent, [1,100]), 100% for a full battery charge."
          }
        },
        "required": [
          "chargingCurrentType",
          "chargingPointPower"
        ]
      },
      "ChargingTimeResponse": {
        "type": "object",
        "description": "Class representing a charging time response.",
        "properties": {
          "optimumBatteryChargeLevel": {
            "type": "number",
            "format": "double",
            "description": "The optimal charge level (in %) of the vehicle at the given charge point; Above this level, the power delivered by the charge point decreases, and the charge takes more time."
          },
          "chargingTime": {
            "type": "integer",
            "format": "int64",
            "description": "The estimated charging time, based on energy vehicle profile (in seconds) or -1 in case of error (that is, if battery capacity = 0, or Connector power inferior or equals to 0, or Maximum charge power inferior or equals to 0)."
          }
        }
      },
      "Condition": {
        "type": "object",
        "description": "Class representing the condition of trip, that contains the options and settings parameters like weather, battery levels, etc.",
        "properties": {
          "optimMode": {
            "type": "string",
            "description": "Optimization mode.",
            "enum": [
              "FASTEST",
              "SHORTEST",
              "ECO_ENERGY"
            ],
            "x-enumDescriptions": {
              "FASTEST": "Find the route which optimizes travel time. Default value.",
              "SHORTEST": "Find the route which optimizes travel distance.",
              "ECO_ENERGY": "Find the route which optimizes travel energy consumption."
            }
          },
          "criterias": {
            "type": "array",
            "description": "The EV's list of criterias.",
            "items": {
              "type": "string",
              "description": "Enum representing the the EV criterion.",
              "enum": [
                "AVOID_FERRIES",
                "AVOID_MOTORWAYS",
                "AVOID_TOLLS",
                "AVOID_UNPAVED",
                "AVOID_CROSSING_BORDER",
                "LESS_EXPENSIVE",
                "TRAFFIC"
              ],
              "x-enumDescriptions": {
                "AVOID_FERRIES": "Find a route with no ferry.",
                "AVOID_MOTORWAYS": "Find a route without motorways.",
                "AVOID_TOLLS": "Find a route with no toll.",
                "AVOID_UNPAVED": "Find a route with no unpaved roads.",
                "AVOID_CROSSING_BORDER": "Find a route without country border crossing (makes sence only when the start and stop points are in the same country).",
                "LESS_EXPENSIVE": "Find the less expensive charging stations. Only with algorithm v2. Deprecated.",
                "TRAFFIC": "Use traffic info for route calculation."
              }
            }
          },
          "alternative": {
            "type": "string",
            "format": "byte",
            "description": "Index of alternative route. 0 to disable. 0 by default.",
            "x-javaType": "byte"
          },
          "startUTurnThreshold": {
            "type": "integer",
            "format": "int32",
            "description": "Specifies the start UTurn threshold. This value determines, at start point or any via point for which a use start angle / avoid UTurn property is set, the threshold (in 1/10th seconds / meters / Wh in resp. FASTEST / SHORTEST / ECO mode) above which the property may be ignored (default = 3000). For instance, in SHORTEST mode, if the route from start to stop leaving start point in the desired direction is more than `startUTurnThreshold` meters longer than the route from start to stop leaving start point in the opposite direction, leave the start point in the opposite direction."
          },
          "departureTime": {
            "type": "string",
            "description": "This parameter is an EPOCH time stamp in milliseconds (UTC) or can take an string with ISO local date time format like '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'. It is used to define the date and time of routing departure."
          },
          "temperature": {
            "type": "integer",
            "format": "int32",
            "description": "Temperature in Celsius. Not used if weather is enabled. 20 by default."
          },
          "minBatLvl": {
            "type": "number",
            "format": "float",
            "description": "Minimal battery level during the journey. This value is in percent. Available value 0 to 100."
          },
          "minArrivalBatLvl": {
            "type": "number",
            "format": "float",
            "description": "Minimal battery level at destination. This value is in percent. Available value 0 to 100. The value of `minArrivalBatLvl` must be superior or equals to the value of `minBatLvl`. If the value of `minArrivalBatLvl` is lower than `minBatLvl`, the value of `minBatLvl` will be used instead of `minArrivalBatLvl`."
          },
          "maxAfterChargeBatLvl": {
            "type": "number",
            "format": "float",
            "description": "Maximal battery level after a charge. This value is in percent. Available value 0 to 100."
          },
          "connectorTypes": {
            "type": "array",
            "description": "List of connector type ID, used to perform a filtration based on those connector.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "chargingStationDeprecatedConnector": {
            "type": "boolean",
            "description": "Set to true to enable the support of charging station deprecated connector types. False by default."
          },
          "chargePluggingTime": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the fixed additional time in seconds for each charging stop. 300 by default."
          },
          "chargeTimeSlots": {
            "type": "array",
            "description": "List of step-point time slots. Note: If forced charges are defined, they take priority over charge times.",
            "items": {
              "$ref": "#/components/schemas/ChargeTimeSlot"
            }
          },
          "restrictedEvse": {
            "type": "boolean",
            "description": "Accept the restricted charging stations."
          },
          "allowNaStatus": {
            "type": "boolean",
            "description": "Allow use of pools with NA availability status. False by default."
          },
          "ignoreAvailableStatus": {
            "type": "boolean",
            "description": "Allow use of any pool regardless of availability status. False by default."
          },
          "drivingStyle": {
            "$ref": "#/components/schemas/DrivingStyle",
            "description": "Driving style definition for an electric vehicle."
          },
          "allowMaxSpeedRecommendation": {
            "type": "boolean",
            "description": "Allow to calculate the maximum speeds to reach destination or step-point. Since algorithm v3."
          },
          "routesheet": {
            "type": "boolean",
            "description": "Enable the route-sheet."
          },
          "routesheetLanguage": {
            "type": "string",
            "description": "Define the language that will be used to render the text of route-sheet."
          },
          "routesheetMode": {
            "type": "string",
            "description": "Define the output mode of route-sheet: only text, only details and both. `TEXT` by default.",
            "enum": [
              "TEXT",
              "DETAILS",
              "TEXT_DETAILS"
            ],
            "x-enumDescriptions": {
              "TEXT": "Render only the text information.",
              "DETAILS": "Render only the detailed information in separated fields.",
              "TEXT_DETAILS": "Render both text and details information."
            }
          },
          "routesheetVerboseLevel": {
            "type": "string",
            "description": "Select the information details level of route-sheet.",
            "enum": [
              "LOW",
              "MEDIUM",
              "HIGH"
            ],
            "x-enumDescriptions": {
              "LOW": "Low verbosity, the minimal information about the route-sheet instruction will be returned.",
              "MEDIUM": "Medium verbosity, the normal information about the route-sheet instruction will be returned.",
              "HIGH": "High verbosity, the maximum details information about the route-sheet instruction will be returned."
            }
          },
          "geometry": {
            "type": "boolean",
            "description": "Set to true to enable the polyline otherwise set to false. True by default."
          },
          "encodedGeometry": {
            "type": "boolean",
            "description": "Set to true to enable the encoded polyline. False by default."
          },
          "co2emissions": {
            "type": "boolean",
            "description": "If set to true CO2 emissions will be calculated in the journey, set to false by default."
          },
          "weather": {
            "type": "boolean",
            "description": "Enable the weather information."
          },
          "weatherProvider": {
            "type": "string",
            "description": "Define the weather provider."
          },
          "currency": {
            "type": "string",
            "description": "Define the currency used for costs calculation. Currency ISO 4217 Code."
          },
          "routeDetails": {
            "type": "boolean",
            "description": "Set to true to enable the route events detailed information like consumption, speed, altitude, etc. False by default. See the `RouteConsumptionFront` class for more details about the returned values."
          },
          "routeDetailsFreq": {
            "type": "integer",
            "format": "int32",
            "description": "Frequency in seconds of route event. 60 seconds by default which is also the minimal authorized value."
          },
          "tollCost": {
            "type": "boolean",
            "description": "Set to true to enable the toll cost calculation and toll events along the route. False by default."
          }
        }
      },
      "ConditionalSpdLimit": {
        "type": "object",
        "description": "Class representing conditional speed limit model.",
        "properties": {
          "speed": {
            "type": "number",
            "format": "float",
            "description": "The speed limit in kph."
          },
          "type": {
            "type": "string",
            "description": "Condition type.",
            "enum": [
              "NONE",
              "HAZMAT",
              "TRAILER",
              "WEIGHT",
              "WEATHER",
              "VEHICLE_TYPE",
              "VEHICULE_TYPE",
              "SCHOOL",
              "ADVISORY"
            ],
            "x-enumDescriptions": {
              "NONE": "No speed situation.",
              "HAZMAT": "Hazardous material.",
              "TRAILER": "Trailer.",
              "WEIGHT": "Weight.",
              "WEATHER": "Weather.",
              "VEHICLE_TYPE": "Vehicle type.",
              "VEHICULE_TYPE": "Vehicle type. Deprecated use VEHICLE_TYPE instead.",
              "SCHOOL": "School.",
              "ADVISORY": "Advisory."
            }
          },
          "value": {
            "type": "string",
            "description": "Condition value (see HAZMAT, WEATHER, WEIGHT...)"
          }
        },
        "required": [
          "speed",
          "type",
          "value"
        ]
      },
      "ConnectorTypeFront": {
        "type": "object",
        "description": "Class representing a connector type.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "BeMap unique identifier of connector."
          },
          "key": {
            "type": "string",
            "description": "BeMap unique identifier text key of connector. Same as id field but with string value."
          },
          "operatorId": {
            "type": "string",
            "description": "Operator unique identifier like eMI3 format."
          },
          "deprecated": {
            "type": "boolean",
            "description": "Set to true if the information is deprecated."
          },
          "name": {
            "type": "string",
            "description": "Name of connector."
          },
          "norm": {
            "type": "string",
            "description": "Norm of connector."
          },
          "maxPower": {
            "type": "number",
            "format": "double",
            "description": "Maximal power in kW of connector. Unlimited is `0`."
          },
          "power": {
            "type": "number",
            "format": "double",
            "description": "Available power in kW can be delivered by the station or charge point."
          },
          "voltage": {
            "type": "number",
            "format": "float",
            "description": "Voltage of current."
          },
          "ampere": {
            "type": "number",
            "format": "float",
            "description": "Ampere of current."
          },
          "acSingle": {
            "type": "boolean",
            "description": "AC single phase."
          },
          "acThree": {
            "type": "boolean",
            "description": "Current type AC three phases."
          },
          "dc": {
            "type": "boolean",
            "description": "Current type DC."
          },
          "cable": {
            "type": "boolean",
            "description": "The connector have a cable."
          }
        }
      },
      "ConnectorTypeResponse": {
        "type": "object",
        "description": "Class representing a connector type response.",
        "properties": {
          "types": {
            "type": "array",
            "description": "Types.",
            "items": {
              "$ref": "#/components/schemas/ConnectorTypeFront"
            }
          }
        }
      },
      "Coordinate": {
        "type": "object",
        "description": "Describe a coordinate which consists of a latitude and longitude.",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "longitude"
            ]
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "latitude"
            ]
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "CoordinateFront": {
        "type": "object",
        "description": "Describe a coordinate which consists of a latitude and longitude.",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "alt": {
            "type": "number",
            "format": "double",
            "description": "Altitude in meters."
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "CoordinateFullName": {
        "type": "object",
        "description": "Describe the coordinate composed by latitude and longitude.",
        "properties": {
          "altitude": {
            "type": "number",
            "format": "double",
            "description": "Altitude in meters."
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal (WGS84) (double)."
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal (WGS84) (double)."
          }
        },
        "required": [
          "latitude",
          "longitude"
        ]
      },
      "CoordinateSat": {
        "type": "object",
        "description": "GPS coordinates.",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "longitude"
            ]
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "latitude"
            ]
          },
          "heading": {
            "type": "number",
            "format": "double",
            "description": "Heading in degrees."
          },
          "speed": {
            "type": "number",
            "format": "float",
            "description": "Speed in km/h."
          },
          "time": {
            "type": "integer",
            "format": "int64",
            "description": "GPS time in milliseconds (EPOCH)."
          },
          "sat": {
            "type": "integer",
            "format": "int32",
            "description": "Number of GPS satellites available."
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "CoordinateV1Dot1": {
        "type": "object",
        "description": "Describe a coordinate which consists of a latitude and longitude.",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "longitude"
            ]
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "latitude"
            ]
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "Currency": {
        "type": "object",
        "properties": {
          "updateDate": {
            "type": "integer",
            "format": "int64",
            "description": "Update date, time stamp in milliseconds."
          },
          "base": {
            "type": "string",
            "description": "Base of rate. Currency ISO 4217 Code."
          },
          "code": {
            "type": "string",
            "description": "Currency ISO 4217 Code."
          },
          "rate": {
            "type": "number",
            "format": "float",
            "description": "Rate of currency."
          },
          "label": {
            "type": "string",
            "description": "Label / name of currency."
          }
        }
      },
      "CurrencyCode": {
        "type": "object",
        "description": "Class representing a currency code.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Currency ISO 4217 Code."
          },
          "label": {
            "type": "string",
            "description": "Label / name of currency."
          },
          "byDefault": {
            "type": "boolean",
            "description": "True if is the currency code of base."
          }
        }
      },
      "CurrencyConvertRequest": {
        "type": "object",
        "description": "Service request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "from": {
            "type": "string",
            "description": "The currency to convert from"
          },
          "value": {
            "type": "number",
            "format": "float",
            "description": "The amount to of the from currency to be converted"
          },
          "to": {
            "type": "string",
            "description": "The currency to convert from"
          }
        },
        "required": [
          "from",
          "to",
          "value"
        ]
      },
      "CurrencyConvertResponse": {
        "type": "object",
        "properties": {
          "lastUpdate": {
            "type": "integer",
            "format": "int64"
          },
          "value": {
            "type": "number",
            "format": "float"
          }
        }
      },
      "CurrencyRateResponse": {
        "type": "object",
        "properties": {
          "lastUpdate": {
            "type": "integer",
            "format": "int64",
            "description": "Time stamp of data will be updated."
          },
          "rate": {
            "$ref": "#/components/schemas/Currency",
            "description": "Rate of currency."
          }
        }
      },
      "CurrencyRatesResponse": {
        "type": "object",
        "properties": {
          "lastUpdate": {
            "type": "integer",
            "format": "int64",
            "description": "Time stamp of data will be updated."
          },
          "rates": {
            "type": "array",
            "description": "List of rates.",
            "items": {
              "$ref": "#/components/schemas/Currency"
            }
          }
        }
      },
      "CustomDt": {
        "type": "object",
        "description": "Class representing a custom data.",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "DrivingStyle": {
        "type": "object",
        "description": "Class representing a driving style.",
        "properties": {
          "mode": {
            "type": "string",
            "description": "Define the driving mode.",
            "enum": [
              "ECO",
              "NORMAL",
              "SPORT",
              "CUSTOM"
            ],
            "x-enumDescriptions": {
              "ECO": "Reduce the acceleration/deceleration, auxiliary consumption and prefer the national road over the high-ways.",
              "NORMAL": "Use the speed limitation in vehicles database.",
              "SPORT": "No speed limitation (only the legal speed limit of roads). Increase the acceleration/deceleration. Prefer the high-ways.",
              "CUSTOM": "Allow to override ponderation parameters."
            }
          },
          "allowOverVehSpdLim": {
            "type": "boolean",
            "description": "Allows to define a maximum speed above the vehicle's maximum speed defined in the vehicle's database."
          },
          "limitMaxSpeed": {
            "type": "integer",
            "format": "int32",
            "description": "Defines vehicle's maximum speed in km/h used during the routing calculation. By default `null`. If `null`, uses the maximum speed defined in the vehicle's database. Note that if the speed is greater than the one defined in the database, it will be bounded by the later except if you activate the parameter `allowOverVehSpdLim`."
          },
          "maxAcc": {
            "type": "number",
            "format": "double",
            "description": "Average vehicle's acceleration in m/s². Must be > 0. For example: 1.25 m/s²."
          },
          "maxDec": {
            "type": "number",
            "format": "double",
            "description": "Average vehicle's deceleration in m/s². Must be < 0. For example: -1.25 m/s²."
          },
          "sps": {
            "type": "array",
            "description": "Speed weight coefficient for the specified road network level. A value < 1 will reduce speeds. A value > 1 will increase speeds.",
            "items": {
              "$ref": "#/components/schemas/SpeedPonderationFront"
            }
          }
        },
        "required": [
          "mode"
        ]
      },
      "EnergyRoutingDest": {
        "type": "object",
        "description": "Class representing an intermediate destination coordinate.",
        "properties": {
          "ignoreVehicleProfile": {
            "type": "boolean"
          },
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "longitude"
            ]
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "latitude"
            ]
          },
          "stopDuration": {
            "type": "integer",
            "format": "int32",
            "description": "Stop duration in seconds associated to the destination coordinate. By default `0`. Note: if charging times are defined. Forced charges take priority over charge times. Note: only about forced charge, stop duration could be linked chargeMaxDist in case of forced charge. To ensure that charge duration is superior to stopDuration + FixedStopTime in EV Smart Routing, the stop duration used is min(stopDuration, KB_MIN_CHARGE_DURATION + FixedStopTime). However the original value stopDuration is not modified."
          },
          "chargeMaxDist": {
            "type": "integer",
            "format": "int32",
            "description": "This parameter should be defined to impose a charge around this destination. It defines the maximum walking distance 3000 meters a charge point can be from this destination to force a charge (0 means no charge forced). By default `0`. NOTE: If you combine this parameter with the `stopDuration` parameter it will define how much time can be used for charging.",
            "x-aliases": [
              "chargeMaxDistance"
            ]
          },
          "maxSpd": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum Speed in km/h associated to this destination coordinate. If not 0 this will force routing calculation to bound all driving speeds between this destination and the next one. If 0 the global maximum speed will be used if defined. By default `0`.",
            "x-aliases": [
              "maxSpeed"
            ]
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "ErrorResponse": {
        "type": "object",
        "description": "Errors response.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Code of error."
          },
          "message": {
            "type": "string",
            "description": "Textual message describing the error."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate of error if available."
          }
        }
      },
      "ErrorResponseV1Dot1": {
        "type": "object",
        "description": "Errors response.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Code of error."
          },
          "message": {
            "type": "string",
            "description": "Textual message describing the error."
          },
          "coordinate": {
            "$ref": "#/components/schemas/CoordinateV1Dot1",
            "description": "Coordinate of error if available."
          }
        }
      },
      "ErrorResponseV2": {
        "type": "object",
        "description": "Errors response.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Code of error."
          },
          "message": {
            "type": "string",
            "description": "Textual message describing the error."
          },
          "coordinate": {
            "$ref": "#/components/schemas/CoordinateFront",
            "description": "Coordinate of error if available."
          }
        }
      },
      "EvBrandLogoDescription": {
        "type": "object",
        "description": "Class representing a brand logo description.",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "Unique identifier of brand."
          },
          "pictureFileFormat": {
            "type": "string",
            "description": "Image file format of the brand logo.",
            "enum": [
              "PNG",
              "PNG24",
              "GIF",
              "JPEG",
              "NOT_SUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "PNG": "PNG 8 bit format: Indexed color (8 bits per pixel).",
              "PNG24": "PNG 24 bit format: RGB + alpha channel (32 bits per pixel).",
              "GIF": "GIF format: Indexed color (8 bits per pixel).",
              "JPEG": "JPEG format: RGB (24 bits per pixel).",
              "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
            }
          },
          "logo": {
            "type": "string",
            "format": "byte",
            "description": "Logo of the brand."
          }
        },
        "required": [
          "brandId",
          "logo",
          "pictureFileFormat"
        ]
      },
      "EvDrivingStyle": {
        "type": "object",
        "description": "Class representing a driving style.",
        "properties": {
          "mode": {
            "type": "string",
            "description": "Define the driving mode.",
            "enum": [
              "ECO",
              "NORMAL",
              "SPORT",
              "CUSTOM"
            ],
            "x-enumDescriptions": {
              "ECO": "Reduces accelerations and decelerations, auxiliary consumption and driving speeds.",
              "NORMAL": "Uses speeds defined in map data, auxiliary consumption, accelerations and decelerations defined in vehicle profile. Set as default.",
              "SPORT": "Increases accelerations and decelerations and driving speeds.",
              "CUSTOM": "Allows to override accelerations, decelerations, driving speeds and maximum speed."
            }
          },
          "limitMaxSpeed": {
            "type": "integer",
            "format": "int32",
            "description": "Defines vehicle's maximum speed in km/h used during the routing calculation. By default `null`. If `null`, uses the maximum speed defined in the vehicle's database. Note that if the speed is greater than the one defined in the database, it will be bounded by the later except if you activate the parameter `allowOverVehSpdLim`."
          },
          "allowOverVehSpdLim": {
            "type": "boolean",
            "description": "Allows to define a maximum speed above the vehicle's maximum speed defined in the vehicle's database."
          },
          "maxAcc": {
            "type": "number",
            "format": "double",
            "description": "Average vehicle's acceleration in m/s². Must be > 0. For example: 1.25 m/s²."
          },
          "maxDec": {
            "type": "number",
            "format": "double",
            "description": "Average vehicle's deceleration in m/s². Must be < 0. For example: -1.25 m/s²."
          },
          "sps": {
            "type": "array",
            "description": "Speed weight coefficient for the specified road network level. A value < 1 will reduce speeds. A value > 1 will increase speeds.",
            "items": {
              "$ref": "#/components/schemas/RoutingSpeedPond"
            }
          }
        },
        "required": [
          "mode"
        ]
      },
      "EvReachableAreaRequest": {
        "type": "object",
        "description": "An electric vehicle reachable area request. Builds a polygon representing the area that can be reached through the road network starting from a given coordinate, a given vehicle model and with a given battery level. In case a second coordinate is defined, the polygon represents the area that can be reached starting from a given coordinate and ending at the second coordinate.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "vehicle": {
            "type": "string",
            "description": "Vehicle model (UUID key)."
          },
          "initBatLvl": {
            "type": "number",
            "format": "double",
            "description": "Initial battery level in percent. Available value 0 to 100. 100% if not defined."
          },
          "weather": {
            "type": "boolean",
            "description": "Enable the weather information."
          },
          "wp": {
            "type": "string",
            "description": "Enable the weather information."
          },
          "temperature": {
            "type": "integer",
            "format": "int32",
            "description": "Temperature in Celsius."
          },
          "payload": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's extra load (consumables or passengers weight for example) (in kg). 75kg by default."
          },
          "extraPayload": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Additional load weight in kg (like passengers, luggage or tools). Deprecated and not supported anymore, use the `payload` field.",
            "x-aliases": [
              "extraPayLoad"
            ]
          },
          "criterias": {
            "type": "array",
            "description": "This field is a list of criteria used by the routing calculator, e.g.: \"`AVOID_MOTORWAYS`\", \"`AVOID_TOLLS`\".",
            "items": {
              "type": "string",
              "enum": [
                "AVOID_FERRIES",
                "AVOID_MOTORWAYS",
                "AVOID_TOLLS",
                "AVOID_UNPAVED",
                "AVOID_CROSSING_BORDER",
                "LESS_EXPENSIVE",
                "TRAFFIC"
              ],
              "x-enumDescriptions": {
                "AVOID_FERRIES": "Find a route with no ferry.",
                "AVOID_MOTORWAYS": "Find a route without motorways.",
                "AVOID_TOLLS": "Find a route with no toll.",
                "AVOID_UNPAVED": "Find a route with no unpaved roads.",
                "AVOID_CROSSING_BORDER": "Find a route without country border crossing (makes sence only when the start and stop points are in the same country).",
                "LESS_EXPENSIVE": "Find the less expensive charging stations. Only with algorithm v2. Deprecated.",
                "TRAFFIC": "Use traffic info for route calculation."
              }
            }
          },
          "startLon": {
            "type": "number",
            "format": "double",
            "description": "Departure longitude in decimal degrees (WGS84).",
            "x-aliases": [
              "longitude"
            ]
          },
          "startLat": {
            "type": "number",
            "format": "double",
            "description": "Departure latitude in decimal degrees (WGS84).",
            "x-aliases": [
              "latitude"
            ]
          },
          "stopLon": {
            "type": "number",
            "format": "double",
            "description": "Arrival longitude in decimal degrees (WGS84)."
          },
          "stopLat": {
            "type": "number",
            "format": "double",
            "description": "Arrival latitude in decimal degrees (WGS84)."
          },
          "geo": {
            "type": "boolean",
            "description": "Set to `true` to enable the geometry of the reachable area's polygon. By default `true`."
          },
          "egeo": {
            "type": "boolean",
            "description": "Set to `true` to enable the encoded geometry of the reachable area's polygon. By default `false`. See `Google Encoded Polyline Algorithm Format` in glossary."
          }
        },
        "required": [
          "startLat",
          "startLon",
          "temperature",
          "vehicle"
        ]
      },
      "EvReachableAreaResponse": {
        "type": "object",
        "description": "Represents an electric vehicle reachable area response.",
        "properties": {
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "The bounding box of the returned polygon geometry."
          },
          "geometry": {
            "type": "array",
            "description": "The reachable area's polygon geometry defined as a list of WGGS84 coordinates.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "encodedGeometry": {
            "type": "string",
            "description": "The reachable area's polygon geometry encoded with Google Algorithm."
          }
        }
      },
      "EvSmartRoutingDebugStat": {
        "type": "object",
        "description": "Class representing an electric vehicle smart routing debug statistics.",
        "properties": {
          "executionTimeChrono": {
            "type": "integer",
            "format": "int64",
            "description": "Total of execution time in milliseconds."
          },
          "executionTimeWithoutChargingStationChrono": {
            "type": "integer",
            "format": "int64",
            "description": "Execution time - execution time of charging station requests, in milliseconds."
          },
          "chargingStationChrono": {
            "type": "integer",
            "format": "int64",
            "description": "Total of execution time of charging station requests in milliseconds."
          },
          "chargingTimeChrono": {
            "type": "integer",
            "format": "int64",
            "description": "Total of execution time of charging time requests in milliseconds."
          },
          "routingChrono": {
            "type": "integer",
            "format": "int64",
            "description": "Total of execution time of routing requests in milliseconds."
          }
        }
      },
      "EvSmartRoutingErrorResponse": {
        "type": "object",
        "description": "Class representing an electric vehicle smart routing error response.",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "Textual message describing the error."
          },
          "coordinate": {
            "$ref": "#/components/schemas/CoordinateFullName",
            "description": "Coordinate of error if available."
          }
        }
      },
      "EvSmartRoutingRequest": {
        "type": "object",
        "description": "Class representing an electric vehicle smart routing request.",
        "properties": {
          "criterias": {
            "type": "array",
            "description": "This field is a list of criteria used by the routing calculator, e.g.: `AVOID_MOTORWAYS`, `AVOID_TOLLS`.",
            "items": {
              "type": "string",
              "enum": [
                "AVOID_FERRIES",
                "AVOID_MOTORWAYS",
                "AVOID_TOLLS",
                "AVOID_UNPAVED",
                "AVOID_CROSSING_BORDER",
                "LESS_EXPENSIVE",
                "TRAFFIC"
              ],
              "x-enumDescriptions": {
                "AVOID_FERRIES": "Find a route with no ferry.",
                "AVOID_MOTORWAYS": "Find a route without motorways.",
                "AVOID_TOLLS": "Find a route with no toll.",
                "AVOID_UNPAVED": "Find a route with no unpaved roads.",
                "AVOID_CROSSING_BORDER": "Find a route without country border crossing (makes sence only when the start and stop points are in the same country).",
                "LESS_EXPENSIVE": "Find the less expensive charging stations. Only with algorithm v2. Deprecated.",
                "TRAFFIC": "Use traffic info for route calculation."
              }
            }
          },
          "optimMode": {
            "type": "string",
            "description": "Routing optimization mode. `FASTEST` by default.",
            "enum": [
              "FASTEST",
              "SHORTEST",
              "ECO_ENERGY"
            ],
            "x-enumDescriptions": {
              "FASTEST": "Find the route which optimizes travel time. Default value.",
              "SHORTEST": "Find the route which optimizes travel distance.",
              "ECO_ENERGY": "Find the route which optimizes travel energy consumption."
            }
          },
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "debugStat": {
            "type": "boolean",
            "description": "Enable the performance statistics of EV Smart Routing service. It's of BeNomad debug only. False by default."
          },
          "csps": {
            "type": "array",
            "description": "List of charging station provider names.",
            "items": {
              "type": "string"
            }
          },
          "csfs": {
            "type": "array",
            "description": "List of charging station filter, return only the points matching the filters. [Documentation of available filters](https://benomad.com/dev/doc/bemap-api/guides/reference/chargingstation-filter-v1/).",
            "items": {
              "type": "string"
            }
          },
          "csdepcnt": {
            "type": "boolean",
            "description": "Set to `true` to enable the support of charging station deprecated connector types.By default `false`."
          },
          "vehicle": {
            "type": "string",
            "description": "Vehicle model (UUID key)."
          },
          "initBatLvl": {
            "type": "number",
            "format": "double",
            "description": "Initial battery level in percent. Available value 0 to 100. 100% if not defined."
          },
          "minBatLvl": {
            "type": "number",
            "format": "double",
            "description": "Minimal battery level during the journey. This value is in percent. Available value 0 to 100. With algorithm version 3 : The `minBatLvl` should be smaller or equal than 50%. If a superior value is given the 50% will be used instead. Note that if `minBatLvl` is greater or equal than `maxAfterChargeBatLvl` - 25% then the value of `maxAfterChargeBatLvl` is set to `minBatLvl` + 25%."
          },
          "minArrivalBatLvl": {
            "type": "number",
            "format": "double",
            "description": "Minimal battery level at destination. This value is in percent. Available value 0 to 100. With algorithm version 3 : The `minArrivalBatLvl` should be smaller or equal than 80%. If a higher value is provided, 80% will be used instead. Note that if `minArrivalBatLvl` is greater or equal than `maxAfterChargeBatLvl` - 15% then the value of `maxAfterChargeBatLvl` is set to `minArrivalBatLvl` + 15%."
          },
          "maxAfterChargeBatLvl": {
            "type": "number",
            "format": "float",
            "description": "Maximal battery level after a charge. This value is in percent. Available value 0 to 100. The default depends of the selected vehicle, but it's around 90%."
          },
          "weather": {
            "type": "boolean",
            "description": "Enable the weather information."
          },
          "wp": {
            "type": "string",
            "description": "Enable the weather information."
          },
          "temperature": {
            "type": "integer",
            "format": "int32",
            "description": "Temperature in Celsius. 20 by default."
          },
          "departureTime": {
            "type": "string",
            "description": "This parameter is an EPOCH time stamp in milliseconds (UTC) or can take an string with ISO date time format like '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'. It is used to define the date and time of routing departure. (For traffic support, this method does not have any effect if the loaded SVS map data does not contain either the HERE Traffic Patterns or TomTom Speed Profiles databases)."
          },
          "stepPointPluggingTime": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the fixed additional time in seconds for each charging stop.",
            "x-aliases": [
              "stepPointPlugingTime"
            ]
          },
          "payload": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's extra load (consumables or passengers weight for example) (in kg). 75kg by default."
          },
          "extraPayload": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Additional load weight in kg (like passengers, luggage or tools). Deprecated and not supported anymore, use the `payload` field.",
            "x-aliases": [
              "extraPayLoad"
            ]
          },
          "startLon": {
            "type": "number",
            "format": "double",
            "description": "Departure longitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format."
          },
          "startLat": {
            "type": "number",
            "format": "double",
            "description": "Departure latitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format."
          },
          "stopLon": {
            "type": "number",
            "format": "double",
            "description": "Arrival longitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format."
          },
          "stopLat": {
            "type": "number",
            "format": "double",
            "description": "Arrival latitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format."
          },
          "vias": {
            "type": "array",
            "description": "List of intermediate (via) points between start and stop points used by the routing calculation.",
            "items": {
              "$ref": "#/components/schemas/EnergyRoutingDest"
            }
          },
          "connectorTypes": {
            "type": "array",
            "description": "List of connector type IDs used to perform a filter based on these connectors.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "restrictedEvse": {
            "type": "boolean",
            "description": "Allows restricted charging stations, like private or employees only."
          },
          "aroundEvse": {
            "type": "boolean",
            "deprecated": true,
            "description": "Provides list of charging stations around the step points in the response."
          },
          "evseStart": {
            "type": "boolean",
            "deprecated": true,
            "description": "Deprecated. If set to `true`, disables the charging station search around start point."
          },
          "evseMid": {
            "type": "boolean",
            "deprecated": true,
            "description": "Deprecated. If set to `true`, disables the charging station search around middle of the route."
          },
          "evseEnd": {
            "type": "boolean",
            "deprecated": true,
            "description": "Deprecated. If set to `true`, disables the charging station search around stop point."
          },
          "pl": {
            "type": "boolean",
            "description": "Set to `true` to provide the route's polyline. Otherwise set to `false`."
          },
          "epl": {
            "type": "boolean",
            "description": "Set to `true` to provide the route's encoded polyline, see `Google Encoded Polyline Algorithm Format` in glossary. Otherwise set to `false`."
          },
          "evt": {
            "type": "boolean",
            "description": "Set to `true` to provide the route timeline information (`events` field in response). By default `false`. Timeline information contains the fields of the `RouteEvent` class. See response for details."
          },
          "evtFreq": {
            "type": "integer",
            "format": "int32",
            "description": "Sampling in seconds of route timeline (`events` field in response). The `evt` parameter is mandatory to use this parameter. By default 60 seconds which is also the minimal authorized value."
          },
          "alr": {
            "type": "integer",
            "format": "int32",
            "description": "Define the index of alternative route. By default `0`. Range `[0, 2]`. If the service fails to find the requested alternative route it will return the initial route (i.e. the alternative route of index `0`)."
          },
          "cur": {
            "type": "string",
            "description": "Defines the currency used for charging costs calculation. Currency should be define according to [ISO 4217 Codes](https://en.wikipedia.org/wiki/ISO_4217)."
          },
          "drivingStyle": {
            "$ref": "#/components/schemas/EvDrivingStyle",
            "description": "Driving style definition."
          },
          "allowNaStatus": {
            "type": "boolean",
            "description": "Allows stops on charging stations with unavailable status (NA). By default `false`."
          },
          "allowMaxSpdReco": {
            "type": "boolean",
            "description": "Allows the service to define maximum speeds between step points. In response the field `maxSpeed` will be computed and returned."
          },
          "stepPointTimeSlots": {
            "type": "array",
            "description": "List of step point time slots. Note: If forced charges are defined, they take priority over charge times.",
            "items": {
              "$ref": "#/components/schemas/StepPointTimeSlot"
            }
          },
          "co2emissions": {
            "type": "boolean",
            "description": "Allows the service to set whether to calculate the CO2 estimation or not"
          }
        },
        "required": [
          "startLat",
          "startLon",
          "stopLat",
          "stopLon"
        ]
      },
      "EvSmartRoutingRequestV2": {
        "type": "object",
        "description": "Class representing an electric vehicle smart routing request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "description": "Switch index."
          },
          "csps": {
            "type": "array",
            "description": "List of charging station provider names.",
            "items": {
              "type": "string"
            }
          },
          "csfsVersion": {
            "type": "string",
            "format": "byte",
            "description": "Represents the version of the filtering logic used in the charging station search query. This field determines which filtering implementation or algorithm is applied during processing. The default is 1.  The available values are: 1, 2.",
            "x-javaType": "byte"
          },
          "csfs": {
            "type": "array",
            "description": "List of charging station filter, return only the points matching the filters. [Documentation of available filters](https://benomad.com/dev/doc/bemap-api/guides/reference/chargingstation-filter-v1/).",
            "items": {
              "type": "string"
            }
          },
          "tariffChargePassHashIds": {
            "type": "array",
            "description": "List of eligible charge pass hash IDs (retrieved from the Charge Pass Service). The backend will select the applicable charge pass based on station, provider, and tariff compatibility to propose the lowest cost for a charge. The effectively applied charge pass is returned in `chargingCost` section.",
            "items": {
              "type": "string"
            }
          },
          "vehicle": {
            "$ref": "#/components/schemas/Vehicle",
            "description": "Vehicle model (UUID key)."
          },
          "condition": {
            "$ref": "#/components/schemas/Condition",
            "description": "Condition of trip, that contains the options and settings parameters like weather, battery levels, etc."
          },
          "start": {
            "$ref": "#/components/schemas/Place",
            "description": "Departure coordinates (start point)."
          },
          "vias": {
            "type": "array",
            "description": "List of via places.",
            "items": {
              "$ref": "#/components/schemas/Via"
            }
          },
          "stop": {
            "$ref": "#/components/schemas/Place",
            "description": "Arrival coordinates (stop point)."
          }
        },
        "required": [
          "start",
          "stop",
          "vehicle"
        ]
      },
      "EvSmartRoutingResponse": {
        "type": "object",
        "description": "Class representing an electric vehicle smart routing response.",
        "properties": {
          "logTag": {
            "type": "string",
            "description": "Log tag is an UUID tag used during the request calculation in log and send to other provider (if need)."
          },
          "journey": {
            "$ref": "#/components/schemas/JourneyFront",
            "description": "Describes the whole itinerary which can be composed of multiple routes."
          },
          "inputInfo": {
            "$ref": "#/components/schemas/InputInfo",
            "description": "Information about the inputs coordinates."
          },
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "The rectangle that encompasses the entire trip, defined by four coordinates."
          },
          "route": {
            "$ref": "#/components/schemas/RouteFront",
            "description": "Describes the calculated route."
          },
          "debugStat": {
            "$ref": "#/components/schemas/EvSmartRoutingDebugStat",
            "description": "Performance statistics of EV Smart Routing service. It's of BeNomad debug only."
          }
        }
      },
      "EvSmartRoutingResponseV2": {
        "type": "object",
        "description": "Class representing an electric vehicle smart routing response.",
        "properties": {
          "logTag": {
            "type": "string",
            "description": "Log tag is an UUID tag used during the request calculation."
          },
          "journeys": {
            "type": "array",
            "description": "Describes the whole itinerary which can be composed of multiple journeys.",
            "items": {
              "$ref": "#/components/schemas/Journey"
            }
          }
        },
        "required": [
          "journeys"
        ]
      },
      "Event": {
        "type": "object",
        "description": "Class representing an Event.",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "The event's type.",
            "enum": [
              "START",
              "STOP",
              "VIA",
              "CHARGE",
              "ROUTE",
              "TOLL",
              "EXCEPTION",
              "NOT_SUPPORTED_ENUM"
            ],
            "x-enumDescriptions": {
              "START": "Start point, event contains information about the start location of trip.",
              "STOP": "Stop point, event contains information about the stop location of trip.",
              "VIA": "Via point, event contains information about the way-point location of trip.",
              "CHARGE": "Charge step, event contains information about the charge step location of trip.",
              "ROUTE": "Route, that represent the route information about part of trip.",
              "TOLL": "Toll along the journey.",
              "EXCEPTION": "Exception event can show the information about a error on the API conversion between backend and frontend.",
              "NOT_SUPPORTED_ENUM": "The event type is not supported by this API version, please check if a newer API is already released."
            }
          }
        },
        "required": [
          "eventType"
        ]
      },
      "ExtractedRoadFront": {
        "type": "object",
        "description": "Class representing an extracted road.",
        "properties": {
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "The coordinate around the middle of the extracted road."
          },
          "angle": {
            "type": "integer",
            "format": "int32",
            "description": "Angle associated with the coordinate of the extracted road. This angle defines the direction this point has to be reached should you use these points to perform a route calculation or trip optimization."
          },
          "label": {
            "type": "string",
            "description": "Label of the road."
          },
          "postalAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Postal address of the extracted road."
          }
        }
      },
      "FindTariffsItemFront": {
        "type": "object",
        "description": "Represents a response item for finding tariffs associated with a charging service.",
        "properties": {
          "poolId": {
            "type": "string",
            "description": "Unique identifier of the charging pool."
          },
          "stationId": {
            "type": "string",
            "description": "Unique identifier of the charging station."
          },
          "chargingPointId": {
            "type": "string",
            "description": "Unique identifier of the charging point."
          },
          "connectorId": {
            "type": "string",
            "description": "Unique identifier of the charging connector."
          },
          "tariffContent": {
            "$ref": "#/components/schemas/ChargingTariffContentFront",
            "description": "Details of the charging tariff."
          }
        },
        "required": [
          "chargingPointId",
          "connectorId",
          "poolId",
          "stationId",
          "tariffContent"
        ]
      },
      "ForecastService": {
        "type": "object",
        "description": "Class representing a weather forecast.",
        "properties": {
          "weathers": {
            "type": "array",
            "description": "Weather.",
            "items": {
              "$ref": "#/components/schemas/WeatherService"
            }
          }
        }
      },
      "GeoFenceRes": {
        "type": "object",
        "description": "Class representing a geocoding fence result.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique ID of fence."
          },
          "type": {
            "type": "string",
            "description": "Type of geometry.",
            "enum": [
              "CIRCLE",
              "POLYGON"
            ],
            "x-enumDescriptions": {
              "CIRCLE": "Circle.",
              "POLYGON": "Polygon."
            }
          },
          "fenceShape": {
            "$ref": "#/components/schemas/GeoFenceShp",
            "description": "Shape of fence used to perform the test."
          },
          "positionState": {
            "type": "string",
            "description": "Defines position state of tested coordinate on the fence geometry.",
            "enum": [
              "INWARD",
              "INSIDE",
              "OUTWARD",
              "OUTSIDE",
              "INTERSECT"
            ],
            "x-enumDescriptions": {
              "INWARD": "Defines if the tested coordinate is an inward intersection.",
              "INSIDE": "Defines if the tested coordinate is in fence.",
              "OUTWARD": "Defines if the tested coordinate is an outward intersection.",
              "OUTSIDE": "Defines if the tested coordinate is out of fence.",
              "INTERSECT": "Position is not completely inside or outside but the shapes are intersected."
            }
          },
          "position": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "The coordinates of the intersection in WGS84."
          },
          "timestamp": {
            "type": "integer",
            "format": "int64",
            "description": "The estimated time stamp of this intersection in milliseconds."
          }
        }
      },
      "GeoFenceShp": {
        "type": "object",
        "description": "Class representing a fence shape.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "The fence id. If value is negative the server will set it with an auto-incrementing number."
          },
          "type": {
            "type": "string",
            "description": "Define the type of geometric shape of fence, like CIRCLE or POLYGON.",
            "enum": [
              "CIRCLE",
              "POLYGON"
            ],
            "x-enumDescriptions": {
              "CIRCLE": "Circle.",
              "POLYGON": "Polygon."
            }
          },
          "center": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Center of circle fence."
          },
          "radius": {
            "type": "integer",
            "format": "int64",
            "description": "Radius of circle fence."
          },
          "vertices": {
            "type": "array",
            "description": "Vertices of polygon fence.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          }
        },
        "required": [
          "center",
          "radius",
          "vertices"
        ]
      },
      "GeocodingAreaAnswr": {
        "type": "object",
        "description": "Class representing reverser geocoding for batch area answer",
        "properties": {
          "extent": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research."
          },
          "elements": {
            "type": "array",
            "description": "Define geocoding elements for a featured road",
            "items": {
              "$ref": "#/components/schemas/GeocodingItem"
            }
          }
        }
      },
      "GeocodingAreaQry": {
        "type": "object",
        "description": "Class representing reverser geocoding for batch area query",
        "properties": {
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research."
          },
          "postalAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Define a postal address according to the geocoding research."
          }
        }
      },
      "GeocodingForBatchRequest": {
        "type": "object",
        "description": "Class representing geocoding for batch request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "queries": {
            "type": "array",
            "description": "Postal address splitted by comma.",
            "items": {
              "$ref": "#/components/schemas/GeocodingAreaQry"
            }
          },
          "assetSearchType": {
            "type": "string",
            "description": "Asset search type.",
            "enum": [
              "OBJECT",
              "POI",
              "CITY_CENTER",
              "ROAD"
            ],
            "example": "ROAD",
            "x-enumDescriptions": {
              "OBJECT": "OBJECT.",
              "POI": "POI.",
              "CITY_CENTER": "CITY_CENTER.",
              "ROAD": "ROAD."
            }
          },
          "searchType": {
            "type": "string",
            "description": "Defines all the possible types of research that can be applied to a textual pattern.",
            "enum": [
              "CONTAINS",
              "FUZZY",
              "KEY_SEARCH",
              "STRICT",
              "STRICT_BEGINNING",
              "WORD_BEGINNING"
            ],
            "example": "FUZZY",
            "x-enumDescriptions": {
              "CONTAINS": "Means that the pattern must be contained in the required strings.",
              "FUZZY": "Means that the pattern will be used to perform a fuzzy search based on. the pattern. (Fuzzy searching can be useful when you are searching text that may contain misspelled words).",
              "KEY_SEARCH": "Specifies a search on key ids. This criteria can be used for retrieving an item by its numerical key.",
              "STRICT": "Means that the required string must be strictly equal to the pattern.",
              "STRICT_BEGINNING": "Means that the required strings must begin with the pattern.",
              "WORD_BEGINNING": "Means that one word of required strings must begin with the pattern (characters ' ', '-' and '/' are considered as word separators)."
            }
          },
          "maximumResults": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of items used to perform the research and returned items by the server.",
            "example": 2,
            "x-aliases": [
              "maximumResult",
              "maximunResult"
            ]
          },
          "language": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup.",
            "example": "fr"
          }
        },
        "required": [
          "language",
          "maximumResults",
          "queries"
        ]
      },
      "GeocodingForBatchResponse": {
        "type": "object",
        "description": "Class representing geocoding for batch response.",
        "properties": {
          "answers": {
            "type": "array",
            "description": "Define a geocoding for batch response according to the request.",
            "items": {
              "$ref": "#/components/schemas/GeocodingAreaAnswr"
            }
          }
        }
      },
      "GeocodingItem": {
        "type": "object",
        "description": "Class describing geocoding item.",
        "properties": {
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Matched coordinate on a road."
          },
          "exactCoordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Exact coordinate is a non map-matched coordinate on road."
          },
          "distanceFromRequest": {
            "type": "number",
            "format": "double",
            "description": "Distance in meters between the request coordinate and the matched coordinate."
          },
          "postalAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Postal address."
          },
          "oppositePostalAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Opposite postal address. Optional field, can be enable with option OPPOSITE_POSTAL_ADDRESS of OPPOSITE_POSTAL_ADDRESS_ALWAYS."
          },
          "postalAddressClassType": {
            "type": "string",
            "description": "Postal address.",
            "enum": [
              "__NOT_MAPPED",
              "EARTH_SURFACE",
              "COUNTRY",
              "ORDRE_1_AREA",
              "ORDRE_2_AREA",
              "ORDRE_3_AREA",
              "ORDRE_4_AREA",
              "ORDRE_5_AREA",
              "ORDRE_6_AREA",
              "ORDRE_7_AREA",
              "ORDRE_8_AREA",
              "ORDRE_9_AREA",
              "POSTAL_DISTRICT",
              "EXT_POSTAL_CODE",
              "ISLAND",
              "BUILT_UP_AREA",
              "BUILT_UP_AREA_2",
              "BUILT_UP_AREA_3",
              "LOW_EM_ZONE",
              "LAND_USAGE",
              "LAND_COVERAGE",
              "WATER_ELEMENT",
              "WATER_ELEMENT_2",
              "WATER_ELEMENT_3",
              "WATER_ELEMENT_4",
              "OTHER_AREAS",
              "AIRPORT_AREA",
              "AIRCRAFT_ROAD",
              "BUILDING",
              "RAILWAY_ELEMENT",
              "ROAD_ELEMENT_MIN",
              "ROAD_FOURTH_PEDESTRIAN",
              "ROAD_FOURTH_ROUNDABOUT",
              "ROAD_FOURTH_SLIPROAD",
              "ROAD_FOURTH",
              "ROAD_FOURTH_MOTORWAY",
              "ROAD_FOURTH_FERRY",
              "ROAD_TERTIARY_PEDESTRIAN",
              "ROAD_TERTIARY_ROUNDABOUT",
              "ROAD_TERTIARY_SLIPROAD",
              "ROAD_TERTIARY",
              "ROAD_TERTIARY_MOTORWAY",
              "ROAD_TERTIARY_FERRY",
              "ROAD_SECONDARY_PEDESTRIAN",
              "ROAD_SECONDARY_ROUNDABOUT",
              "ROAD_SECONDARY_SLIPROAD",
              "ROAD_SECONDARY",
              "ROAD_SECONDARY_MOTORWAY",
              "ROAD_SECONDARY_FERRY",
              "ROAD_MAIN_PEDESTRIAN",
              "ROAD_MAIN_ROUNDABOUT",
              "ROAD_MAIN_SLIPROAD",
              "ROAD_MAIN",
              "ROAD_MAIN_MOTORWAY",
              "ROAD_MAIN_FERRY",
              "ROAD_ELEMENT_MAX",
              "KB_ROUTE_CLASS",
              "TRAFFIC_FLOW",
              "UNDETAILED_MAIN_MOTORWAY",
              "TOLL_SYSTEM",
              "TOLL_STRUCTURE",
              "TMC_LOCATION",
              "COMPLEX_RESTRICTION",
              "POINT_ADDRESS",
              "SIGN_POST_COLOR",
              "LANE_CONNECTION",
              "SIGN_POST_NUMBER",
              "RESTRICTION",
              "JUNCTION",
              "NODE",
              "CAPITAL",
              "WORLD_CAPITALS",
              "POLICE_RADAR",
              "LANDMARKS_2D",
              "VEHICLE_REPAIR",
              "PETROL_STATION",
              "RENT_A_CAR",
              "PARKING_GARAGE",
              "HOTEL_MOTEL",
              "RESTAURANT",
              "TOURIST_OFFICE",
              "MUSEUM",
              "THEATRE",
              "CULTURAL_CENTRE",
              "SPORTS_ACTIVITY",
              "HOSPITAL",
              "POLICE_STATION",
              "CITY_HALL",
              "POST_OFFICE",
              "PHARMACY",
              "BANK",
              "SKI_RESORT",
              "PANORAMIC_VIEW",
              "SWIMMING_POOL",
              "WORSHIP_PLACE",
              "FERRY_TERMINAL",
              "AIRLINE_ACCESS",
              "CAMPING_GROUND",
              "COMMUNITY_CENTRE",
              "EMBASSY",
              "FRONTIER_CROSSING",
              "GOVERNMENT_OFFICE",
              "MOTORING_ORG_OFFICE",
              "OPEN_PARKING_AREA",
              "RECREATION_FACILITY",
              "SCHOOL",
              "SHOPPING_CENTRE",
              "STADIUM",
              "TOURIST_ATTRACTION",
              "UNIVERSITY",
              "BUSINESS_FACILITY",
              "CITY_CENTER",
              "RAILWAY_STATION",
              "HAMLET",
              "AIRPORT",
              "BUS_STATION",
              "EXHIBITION_CENTER",
              "PARK_AND_RIDE",
              "REST_AREA",
              "KB_GOLF_COURSE",
              "ATM",
              "GROCERY_STORE",
              "LIBRARY",
              "MARINA",
              "COMMUTER_RAIL_STATION",
              "COURT_HOUSE",
              "HISTORICAL_MONUMENT",
              "BOWLING_CENTRE",
              "CASINO",
              "CINEMA",
              "ICE_SKATING_RINK",
              "NIGHTLIFE",
              "PUBLIC_SPORT_AIRPORT",
              "SPORTS_CENTRE",
              "WINERY",
              "AUTOMOBILE_DEALERSHP",
              "COMPANY",
              "BEACH",
              "SHOP",
              "PARK_AND_RECREATION_AREA",
              "MOUNTAIN_PEAK",
              "OPERA",
              "CONCERT_HALL",
              "TENNIS_COURT",
              "WATER_SPORT",
              "MUSIC_CENTER",
              "DOCTOR",
              "DENTIST",
              "VETERINARIAN",
              "CONVENTION_CENTER",
              "LEISURE_CENTRE",
              "YACHT_BASIN",
              "BAR_PUB",
              "ENTERTAINMENT",
              "ABBEY",
              "AMUSEMENT_PARK",
              "ARTS_CENTER",
              "BUILDING_FOOTPRINT",
              "CASTLE",
              "CHURCH",
              "FORTRESS",
              "CAR_DEALER",
              "HOLIDAY_AREA",
              "LIGHTHOUSE",
              "MILITARY_CEMETERY",
              "MONASTERY",
              "MONUMENT",
              "NATURAL_RESERVE",
              "PRISON",
              "ROCKS",
              "WALKING_AREA",
              "WATER_MILL",
              "WINDMILL",
              "ZOO",
              "RENT_A_CAR_PARKING",
              "MOUNTAIN_PASS",
              "HIGHLIGHT_CLASS"
            ],
            "x-enumDescriptions": {
              "__NOT_MAPPED": "Not mapped value.",
              "EARTH_SURFACE": "Earth surface.",
              "COUNTRY": "Country.",
              "ORDRE_1_AREA": "State, Region, etc.",
              "ORDRE_2_AREA": "Area 2.",
              "ORDRE_3_AREA": "Area 3.",
              "ORDRE_4_AREA": "Area 4.",
              "ORDRE_5_AREA": "Area 5.",
              "ORDRE_6_AREA": "Area 6.",
              "ORDRE_7_AREA": "Department, etc.",
              "ORDRE_8_AREA": "City.",
              "ORDRE_9_AREA": "District.",
              "POSTAL_DISTRICT": "Postal district.",
              "EXT_POSTAL_CODE": "Extended Digit Postal Code (ie 7-Digit PC on UK).",
              "ISLAND": "Island.",
              "BUILT_UP_AREA": "Urban area, not an administrative area.",
              "BUILT_UP_AREA_2": "Secondary urban areas (not an administrative area).",
              "BUILT_UP_AREA_3": "Other urban areas (not an administrative area).",
              "LOW_EM_ZONE": "Low Emission Zone (LEZ).",
              "LAND_USAGE": "Parc/garden, industrial area, industrial harbour area.",
              "LAND_COVERAGE": "Woodland, moor/heathland, beach/dune/sand.",
              "WATER_ELEMENT": "Ocean, sea, lac, river, etc. Main.",
              "WATER_ELEMENT_2": "Ocean, sea, lac, river, etc. Secondary.",
              "WATER_ELEMENT_3": "Ocean, sea, lac, river, etc. Third.",
              "WATER_ELEMENT_4": "Ocean, sea, lac, river, etc. Fourth.",
              "OTHER_AREAS": "Military base, native american reserve, etc.",
              "AIRPORT_AREA": "Airport contour, ports.",
              "AIRCRAFT_ROAD": "Aircraft roads.",
              "BUILDING": "Building contour.",
              "RAILWAY_ELEMENT": "Railway.",
              "ROAD_ELEMENT_MIN": "Min value for road elements (Range : 4000 - 6899).",
              "ROAD_FOURTH_PEDESTRIAN": "Fourth - Pedestrian.",
              "ROAD_FOURTH_ROUNDABOUT": "Fourth - Roundabout.",
              "ROAD_FOURTH_SLIPROAD": "Fourth - Slip road.",
              "ROAD_FOURTH": "SUNDAY.",
              "ROAD_FOURTH_MOTORWAY": "Fourth - Motorway.",
              "ROAD_FOURTH_FERRY": "Fourth - Ferry.",
              "ROAD_TERTIARY_PEDESTRIAN": "Tertiary - Pedestrian.",
              "ROAD_TERTIARY_ROUNDABOUT": "Tertiary - Roundabout.",
              "ROAD_TERTIARY_SLIPROAD": "Tertiary - Slip road.",
              "ROAD_TERTIARY": "Tertiary.",
              "ROAD_TERTIARY_MOTORWAY": "Tertiary - Motorway.",
              "ROAD_TERTIARY_FERRY": "Tertiary - Ferry.",
              "ROAD_SECONDARY_PEDESTRIAN": "Secondary - Pedestrian.",
              "ROAD_SECONDARY_ROUNDABOUT": "Secondary - Roundabout.",
              "ROAD_SECONDARY_SLIPROAD": "Secondary - Slip road.",
              "ROAD_SECONDARY": "Secondary.",
              "ROAD_SECONDARY_MOTORWAY": "Secondary - Motorway.",
              "ROAD_SECONDARY_FERRY": "Secondary - Ferry.",
              "ROAD_MAIN_PEDESTRIAN": "Main - Pedestrian.",
              "ROAD_MAIN_ROUNDABOUT": "Main - Roundabout.",
              "ROAD_MAIN_SLIPROAD": "Main - Slip road.",
              "ROAD_MAIN": "Main Road.",
              "ROAD_MAIN_MOTORWAY": "Main - Motorway.",
              "ROAD_MAIN_FERRY": "Main - Ferry.",
              "ROAD_ELEMENT_MAX": "Max value for road elements (Range : 4000 - 6899).",
              "KB_ROUTE_CLASS": "Class for dynamic route forms.",
              "TRAFFIC_FLOW": "Class for dynamic traffic flow forms.",
              "UNDETAILED_MAIN_MOTORWAY": "Duplication of ROAD_MAIN_MOTORWAY for undetailed zoom level display.",
              "TOLL_SYSTEM": "Toll Sys.",
              "TOLL_STRUCTURE": "Toll Structures.",
              "TMC_LOCATION": "Class of TMC locations.",
              "COMPLEX_RESTRICTION": "Complex restriction (chained, time dependent, vehicle profile dependent) definitions for manoeuvres in road network.",
              "POINT_ADDRESS": "Point Addresses.",
              "SIGN_POST_COLOR": "Sign Post colors for panels display.",
              "LANE_CONNECTION": "Lane to lane connections in road network.",
              "SIGN_POST_NUMBER": "Sign post number (an exit number).",
              "RESTRICTION": "Restriction definitions for manoeuvres in road network.",
              "JUNCTION": "Border nodes of road network.",
              "NODE": "Nodes of road network.",
              "CAPITAL": "National or regional capitals (cities).",
              "WORLD_CAPITALS": "World capitals (from world.svs file).",
              "POLICE_RADAR": "Police radars (Not contained in default SVS datasets).",
              "LANDMARKS_2D": "2D Landmarks.",
              "VEHICLE_REPAIR": "Vehicle repair facility.",
              "PETROL_STATION": "Petrol station.",
              "RENT_A_CAR": "Rent a car facility.",
              "PARKING_GARAGE": "Parking garage.",
              "HOTEL_MOTEL": "Hotel or motel.",
              "RESTAURANT": "Restaurant.",
              "TOURIST_OFFICE": "Tourist office.",
              "MUSEUM": "Tourist office.",
              "THEATRE": "Theatre.",
              "CULTURAL_CENTRE": "Cultural centre.",
              "SPORTS_ACTIVITY": "Sports activity.",
              "HOSPITAL": "Hospital polyclinic.",
              "POLICE_STATION": "Police station.",
              "CITY_HALL": "City hall.",
              "POST_OFFICE": "Post office.",
              "PHARMACY": "Pharmacy.",
              "BANK": "Bank.",
              "SKI_RESORT": "Ski resort.",
              "PANORAMIC_VIEW": "Scenic / panoramic view.",
              "SWIMMING_POOL": "Swimming pool.",
              "WORSHIP_PLACE": "Place of worship.",
              "FERRY_TERMINAL": "Ferry terminal.",
              "AIRLINE_ACCESS": "Airline access.",
              "CAMPING_GROUND": "Camping ground.",
              "COMMUNITY_CENTRE": "Community centre.",
              "EMBASSY": "Embassy.",
              "FRONTIER_CROSSING": "Frontier crossing.",
              "GOVERNMENT_OFFICE": "Government office.",
              "MOTORING_ORG_OFFICE": "Motoring organization office.",
              "OPEN_PARKING_AREA": "Open parking area.",
              "RECREATION_FACILITY": "Recreation facility.",
              "SCHOOL": "School.",
              "SHOPPING_CENTRE": "Shopping centre.",
              "STADIUM": "Stadium.",
              "TOURIST_ATTRACTION": "Tourist attraction.",
              "UNIVERSITY": "University or college.",
              "BUSINESS_FACILITY": "Business facility.",
              "CITY_CENTER": "City center.",
              "RAILWAY_STATION": "Railway station.",
              "HAMLET": "Hamlet.",
              "AIRPORT": "Airport.",
              "BUS_STATION": "Bus station.",
              "EXHIBITION_CENTER": "Exhibition centre.",
              "PARK_AND_RIDE": "Park and ride.",
              "REST_AREA": "Rest area.",
              "KB_GOLF_COURSE": "Golf course.",
              "ATM": "ATM.",
              "GROCERY_STORE": "Grocery store.",
              "LIBRARY": "Library.",
              "MARINA": "Marina.",
              "COMMUTER_RAIL_STATION": "Commuter rail station.",
              "COURT_HOUSE": "Court house.",
              "HISTORICAL_MONUMENT": "Historical monument.",
              "BOWLING_CENTRE": "Bowling centre.",
              "CASINO": "Casino.",
              "CINEMA": "Cinema.",
              "ICE_SKATING_RINK": "Ice skating rink.",
              "NIGHTLIFE": "Nightlife.",
              "PUBLIC_SPORT_AIRPORT": "Public sport airport.",
              "SPORTS_CENTRE": "Sports centre.",
              "WINERY": "Winery.",
              "AUTOMOBILE_DEALERSHP": "Automobile/Motorcycle dealership.",
              "COMPANY": "Company.",
              "BEACH": "Beach.",
              "SHOP": "Shop.",
              "PARK_AND_RECREATION_AREA": "Park and recreation area.",
              "MOUNTAIN_PEAK": "Mountain peak.",
              "OPERA": "Opera.",
              "CONCERT_HALL": "Concert hall.",
              "TENNIS_COURT": "Tennis court.",
              "WATER_SPORT": "Water sport.",
              "MUSIC_CENTER": "Music center.",
              "DOCTOR": "Doctor.",
              "DENTIST": "Dentist.",
              "VETERINARIAN": "Veterinarian.",
              "CONVENTION_CENTER": "Convention center.",
              "LEISURE_CENTRE": "Leisure centre.",
              "YACHT_BASIN": "Yacht basin.",
              "BAR_PUB": "Bar/Pub.",
              "ENTERTAINMENT": "Entertainment.",
              "ABBEY": "Abbey.",
              "AMUSEMENT_PARK": "Amusement park.",
              "ARTS_CENTER": "Arts center.",
              "BUILDING_FOOTPRINT": "Building footprint.",
              "CASTLE": "Castle.",
              "CHURCH": "Church.",
              "FORTRESS": "Fortress.",
              "CAR_DEALER": "Car dealer.",
              "HOLIDAY_AREA": "Holiday area.",
              "LIGHTHOUSE": "Lighthouse.",
              "MILITARY_CEMETERY": "Military cemetery.",
              "MONASTERY": "Monastery.",
              "MONUMENT": "Monument.",
              "NATURAL_RESERVE": "Natural reserve.",
              "PRISON": "Prison.",
              "ROCKS": "Rocks.",
              "WALKING_AREA": "Walking area.",
              "WATER_MILL": "Water mill.",
              "WINDMILL": "Windmill.",
              "ZOO": "Zoo.",
              "RENT_A_CAR_PARKING": "Rent-a-Car parking.",
              "MOUNTAIN_PASS": "Mountain pass.",
              "HIGHLIGHT_CLASS": "Highlight."
            }
          },
          "postalAddressClassId": {
            "type": "integer",
            "format": "int64",
            "description": "Postal address."
          },
          "postalAddressExactStreeNumber": {
            "type": "boolean",
            "description": "Indicates if the location corresponds exactly to the required street number."
          },
          "angle": {
            "type": "number",
            "format": "double",
            "description": "Angle."
          },
          "administrativeSpeedLimit": {
            "type": "number",
            "format": "float",
            "description": "Speed limit."
          },
          "relevanceScore": {
            "type": "number",
            "format": "double",
            "description": "Global matching error."
          },
          "countryRelevanceScore": {
            "type": "number",
            "format": "double",
            "description": "Matching error of the country."
          },
          "cityRelevanceScore": {
            "type": "number",
            "format": "double",
            "description": "Matching error of the city."
          },
          "postalCodeRelevanceScore": {
            "type": "number",
            "format": "double",
            "description": "Matching error of the postal code (zip code)."
          },
          "streetRelevanceScore": {
            "type": "number",
            "format": "double",
            "description": "Matching error of the place."
          },
          "streetNumberRelevanceScore": {
            "type": "number",
            "format": "double",
            "description": "Matching error of the house number (street number)."
          },
          "roadInfo": {
            "$ref": "#/components/schemas/RoadInfo",
            "description": "Road information."
          },
          "geoElementTypes": {
            "type": "array",
            "description": ".",
            "items": {
              "type": "string",
              "enum": [
                "ALL_ROAD",
                "PEDESTRIAN",
                "ROUNDABOUT",
                "SLIP_ROAD",
                "ROAD",
                "MOTORWAY",
                "FERRY",
                "MAIN_ROAD",
                "SECONDARY_ROAD",
                "TERTIARY_ROAD",
                "FOURTH_ROAD",
                "COUNTRY",
                "STATE",
                "COUNTY",
                "CITY",
                "DISTRICT",
                "POSTAL_CODE",
                "BUILT_UP_AREA_NA",
                "BUILT_UP_AREA_NONE",
                "BUILT_UP_AREA_MAIN",
                "BUILT_UP_AREA_MEDIUM",
                "BUILT_UP_AREA_SMALL",
                "VEHICLE_REPAIR",
                "PETROL_STATION",
                "RENT_A_CAR",
                "PARKING_GARAGE",
                "HOTEL_MOTEL",
                "RESTAURANT",
                "TOURIST_OFFICE",
                "MUSEUM",
                "THEATRE",
                "CULTURAL_CENTRE",
                "SPORTS_ACTIVITY",
                "HOSPITAL",
                "POLICE_STATION",
                "CITY_HALL",
                "POST_OFFICE",
                "PHARMACY",
                "BANK",
                "CAMPING",
                "SHOPPING_CENTRE",
                "STADIUM",
                "TOURIST_ATTRACTION",
                "BUS_STATION",
                "EXHIBITION_CENTER",
                "GOLF_COURSE",
                "GROCERY_STORE",
                "LIBRARY",
                "MARINA",
                "HISTORICAL_MONUMENT",
                "BOWLING",
                "CASINO",
                "CINEMA",
                "SPORTS_CENTRE",
                "BEACH",
                "SHOP",
                "OPERA",
                "TENNIS_COURT",
                "MUSIC_CENTER",
                "AMUSEMENT_PARK",
                "ZOO"
              ],
              "x-enumDescriptions": {
                "ALL_ROAD": "Road types.",
                "MAIN_ROAD": "Road levels.",
                "COUNTRY": "Administrative.",
                "BUILT_UP_AREA_NA": "Urban area information not available.",
                "BUILT_UP_AREA_NONE": "No urban area.",
                "BUILT_UP_AREA_MAIN": "Urban area coverage size main, not an administrative area.",
                "BUILT_UP_AREA_MEDIUM": "Urban area coverage size medium (not an administrative area).",
                "BUILT_UP_AREA_SMALL": "Urban area coverage size small (not an administrative area).",
                "VEHICLE_REPAIR": "POI."
              }
            }
          },
          "polyline": {
            "type": "array",
            "description": "Polyline.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "segmentId": {
            "type": "integer",
            "format": "int64",
            "description": "Segment id."
          },
          "trafficElements": {
            "type": "array",
            "description": ".",
            "items": {
              "$ref": "#/components/schemas/TrafficItem"
            }
          }
        }
      },
      "GeocodingNaturalRequest": {
        "type": "object",
        "description": "Class representing a geocoding natural request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research."
          },
          "assetSearchType": {
            "type": "string",
            "description": "Define the search type of asset.",
            "enum": [
              "OBJECT",
              "POI",
              "CITY_CENTER",
              "ROAD"
            ],
            "x-enumDescriptions": {
              "OBJECT": "OBJECT.",
              "POI": "POI.",
              "CITY_CENTER": "CITY_CENTER.",
              "ROAD": "ROAD."
            }
          },
          "searchType": {
            "type": "string",
            "description": "Defines all the possible types of research that can be applied to a textual pattern.",
            "enum": [
              "CONTAINS",
              "FUZZY",
              "KEY_SEARCH",
              "STRICT",
              "STRICT_BEGINNING",
              "WORD_BEGINNING"
            ],
            "x-enumDescriptions": {
              "CONTAINS": "Means that the pattern must be contained in the required strings.",
              "FUZZY": "Means that the pattern will be used to perform a fuzzy search based on. the pattern. (Fuzzy searching can be useful when you are searching text that may contain misspelled words).",
              "KEY_SEARCH": "Specifies a search on key ids. This criteria can be used for retrieving an item by its numerical key.",
              "STRICT": "Means that the required string must be strictly equal to the pattern.",
              "STRICT_BEGINNING": "Means that the required strings must begin with the pattern.",
              "WORD_BEGINNING": "Means that one word of required strings must begin with the pattern (characters ' ', '-' and '/' are considered as word separators)."
            }
          },
          "maximumResults": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of items used to perform the research and returned items by the server.",
            "x-aliases": [
              "maximunResult"
            ]
          },
          "language": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup."
          },
          "naturalQuery": {
            "type": "string",
            "description": "The free-textual postal address request."
          },
          "locIdEnable": {
            "type": "boolean",
            "description": "Used by HERE HLP geo-server to define the location ID."
          }
        },
        "required": [
          "naturalQuery"
        ]
      },
      "GeocodingRequest": {
        "type": "object",
        "description": "Class representing a geocoding request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research."
          },
          "address": {
            "$ref": "#/components/schemas/Address",
            "description": "The postal address found."
          },
          "assetSearchType": {
            "type": "string",
            "description": "Define the search type of asset.",
            "enum": [
              "OBJECT",
              "POI",
              "CITY_CENTER",
              "ROAD"
            ],
            "x-enumDescriptions": {
              "OBJECT": "OBJECT.",
              "POI": "POI.",
              "CITY_CENTER": "CITY_CENTER.",
              "ROAD": "ROAD."
            }
          },
          "searchType": {
            "type": "string",
            "description": "Defines all the possible types of research that can be applied to a textual pattern.",
            "enum": [
              "CONTAINS",
              "FUZZY",
              "KEY_SEARCH",
              "STRICT",
              "STRICT_BEGINNING",
              "WORD_BEGINNING"
            ],
            "x-enumDescriptions": {
              "CONTAINS": "Means that the pattern must be contained in the required strings.",
              "FUZZY": "Means that the pattern will be used to perform a fuzzy search based on. the pattern. (Fuzzy searching can be useful when you are searching text that may contain misspelled words).",
              "KEY_SEARCH": "Specifies a search on key ids. This criteria can be used for retrieving an item by its numerical key.",
              "STRICT": "Means that the required string must be strictly equal to the pattern.",
              "STRICT_BEGINNING": "Means that the required strings must begin with the pattern.",
              "WORD_BEGINNING": "Means that one word of required strings must begin with the pattern (characters ' ', '-' and '/' are considered as word separators)."
            }
          },
          "maximumResults": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of items used to perform the research and returned items by the server.",
            "x-aliases": [
              "maximumResult",
              "maximunResult"
            ]
          },
          "language": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup. Objects for which defined language code is not available, default language will be used. Values language Code - An US-ASCII string that defines an ISO 639-1 (2-letter) language code. The specials \"IC\" (no sensitive case) language code allows you to search for a country depending on its ISO-3166 Alpha-3 or Alpha-2 country code."
          }
        },
        "required": [
          "address"
        ]
      },
      "GeocodingResponse": {
        "type": "object",
        "description": "Class representing a geocoding natural response.",
        "properties": {
          "extent": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research."
          },
          "elements": {
            "type": "array",
            "description": "Define geocoding elements for a featured road.",
            "items": {
              "$ref": "#/components/schemas/GeocodingItem"
            }
          },
          "maximunResult": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of items used to perform the research and returned items by the server."
          }
        }
      },
      "GeofencingPos": {
        "type": "object",
        "description": "Class representing a geofencing position.",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "longitude"
            ]
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "latitude"
            ]
          },
          "radius": {
            "type": "integer",
            "format": "int64",
            "description": "Radius in meters."
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "GeofencingRequest": {
        "type": "object",
        "description": "Class representing a geofencing request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "fenceShapes": {
            "type": "array",
            "description": "Define a fence shape to perform a intersection test between the route and fence.",
            "items": {
              "$ref": "#/components/schemas/GeoFenceShp"
            }
          },
          "positionType": {
            "type": "string",
            "description": "Define type of `positions` parameter used to perform a comparison between fence shapes and coordinates.",
            "enum": [
              "CIRCLE",
              "POLYLINE",
              "POLYGON"
            ],
            "x-enumDescriptions": {
              "CIRCLE": "Define type of xy parameter as circle to perform a comparison between fence shapes and a circle.",
              "POLYLINE": "Define the interpretation of coordinates of xy parameter to perform a comparison between fence shapes and a polyline.",
              "POLYGON": "Define the interpretation of coordinates of xy parameter to perform a comparison between fence shapes and a polygon."
            }
          },
          "positions": {
            "type": "array",
            "description": "The coordinates will be compared with the fences.",
            "items": {
              "$ref": "#/components/schemas/GeofencingPos"
            }
          },
          "options": {
            "type": "array",
            "description": "Comma-separated list of one or more geo-fencing options.",
            "items": {
              "type": "string",
              "enum": [
                "SEARCH"
              ],
              "x-enumDescriptions": {
                "SEARCH": "Enable to search the fences with coordinate, in this case the parameter `positions` can be use the radius."
              }
            }
          }
        },
        "required": [
          "fenceShapes",
          "positions"
        ]
      },
      "GeofencingRes": {
        "type": "object",
        "description": "Class representing a geofencing result.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Unique ID of fence."
          },
          "type": {
            "type": "string",
            "description": "Type of geometry.",
            "enum": [
              "CIRCLE",
              "POLYGON"
            ],
            "x-enumDescriptions": {
              "CIRCLE": "Circle.",
              "POLYGON": "Polygon."
            }
          },
          "fenceShape": {
            "$ref": "#/components/schemas/GeoFenceShp",
            "description": "Shape of fence used to perform the test."
          },
          "positionStates": {
            "type": "array",
            "description": "Defines position state of tested coordinate on the fence geometry.",
            "items": {
              "type": "string",
              "enum": [
                "INWARD",
                "INSIDE",
                "OUTWARD",
                "OUTSIDE",
                "INTERSECT"
              ],
              "x-enumDescriptions": {
                "INWARD": "Defines if the tested coordinate is an inward intersection.",
                "INSIDE": "Defines if the tested coordinate is in fence.",
                "OUTWARD": "Defines if the tested coordinate is an outward intersection.",
                "OUTSIDE": "Defines if the tested coordinate is out of fence.",
                "INTERSECT": "Position is not completely inside or outside but the shapes are intersected."
              }
            }
          }
        }
      },
      "GeofencingResponse": {
        "type": "object",
        "description": "Class representing a geofencing response.",
        "properties": {
          "fenceResults": {
            "type": "array",
            "description": "Return a list in same order of xy parameters (list of coordinates) with state INSIDE, OUTSIDE or INTERSECT.",
            "items": {
              "$ref": "#/components/schemas/GeofencingRes"
            }
          }
        }
      },
      "GeometricDetPolyline": {
        "type": "object",
        "description": "Class representing a geometric detailed polyline.",
        "properties": {
          "coordinates": {
            "type": "array",
            "description": "Matched coordinate on a road.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "length": {
            "type": "integer",
            "format": "int64",
            "description": "Length of route segment in meters."
          }
        }
      },
      "GeometricPoly": {
        "type": "object",
        "description": "Class representing a polygon's geometry.",
        "properties": {
          "coordinates": {
            "type": "array",
            "description": "Coordinates of the polygon.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          }
        }
      },
      "ImageUrl": {
        "type": "object",
        "description": "Class representing url image.",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL from where the image data can be fetched through a web browser."
          },
          "thumbnailUrl": {
            "type": "string",
            "description": "URL from where a thumbnail of the image can be fetched through a web browser."
          },
          "category": {
            "type": "string",
            "description": "Describes what the image is used for. Values can be CHARGER, ENTRANCE, LOCATION, NETWORK, OPERATOR, OTHER, OWNER.",
            "enum": [
              "CHARGER",
              "ENTRANCE",
              "LOCATION",
              "NETWORK",
              "OPERATOR",
              "OTHER",
              "OWNER",
              "NOT_SUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "CHARGER": "Charger",
              "ENTRANCE": "Entrance",
              "LOCATION": "Location",
              "NETWORK": "Network",
              "OPERATOR": "Operator",
              "OTHER": "Other",
              "OWNER": "Owner",
              "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
            }
          },
          "format": {
            "type": "string",
            "description": "Image format like gif, jpeg, png, svg."
          },
          "width": {
            "type": "integer",
            "format": "int32",
            "description": "Width of the full-scale image."
          },
          "height": {
            "type": "integer",
            "format": "int32",
            "description": "Height of the full-scale image."
          }
        }
      },
      "InputInfo": {
        "type": "object",
        "description": "Class representing information about the inputs coordinates.",
        "properties": {
          "start": {
            "$ref": "#/components/schemas/MatchedInfo",
            "description": "Information about the start input coordinate."
          },
          "vias": {
            "type": "array",
            "description": "Information about the vias input coordinates.",
            "items": {
              "$ref": "#/components/schemas/MatchedInfo"
            }
          },
          "stop": {
            "$ref": "#/components/schemas/MatchedInfo",
            "description": "Information about the stop input coordinate."
          }
        }
      },
      "Journey": {
        "type": "object",
        "description": "Class describing the information about the journey, summary, list of events along the route, etc.",
        "properties": {
          "summary": {
            "$ref": "#/components/schemas/Summary",
            "description": "Summary of journey information."
          },
          "events": {
            "type": "array",
            "description": "Describes all information along the computed journey.",
            "items": {
              "$ref": "#/components/schemas/Event"
            }
          },
          "timeSlotWarns": {
            "type": "array",
            "description": "List of warnings about the time slots request.",
            "items": {
              "$ref": "#/components/schemas/TimeSlotWarning"
            }
          }
        },
        "required": [
          "events",
          "summary"
        ]
      },
      "JourneyFront": {
        "type": "object",
        "description": "Class describing the whole itinerary which can be composed of multiple routes.",
        "properties": {
          "chargingCost": {
            "$ref": "#/components/schemas/ChargingCost",
            "description": "Sum of charging cost."
          },
          "distance": {
            "type": "integer",
            "format": "int64",
            "description": "Distance: sum of distance, in meters."
          },
          "duration": {
            "type": "integer",
            "format": "int64",
            "description": "Duration: sum of duration, in seconds."
          },
          "batteryLevel": {
            "type": "number",
            "format": "double",
            "description": "Remaining battery level (in percentage) at the end of the trip."
          },
          "consumed": {
            "type": "number",
            "format": "double",
            "description": "Sum of consumed values in kWh."
          },
          "chargingTime": {
            "type": "integer",
            "format": "int64",
            "description": "Sum of charging time in seconds."
          },
          "departureTime": {
            "type": "integer",
            "format": "int64",
            "description": "Departure time is an EPOCH time stamp in milliseconds."
          },
          "arrivalTime": {
            "type": "integer",
            "format": "int64",
            "description": "Arrival time is an EPOCH time stamp in milliseconds."
          },
          "vehicle": {
            "type": "string",
            "description": "Vehicle name."
          },
          "savedCo2Emissions": {
            "type": "number",
            "format": "double",
            "description": "Saved CO2 Emissions (kg). This value is calculated from the amount of energy consumed for this journey using the profile of an ICE vehicle similar to the selected electric vehicle."
          }
        }
      },
      "LanguageTextFront": {
        "type": "object",
        "description": "Represents a text value associated with a specific language.",
        "properties": {
          "language": {
            "type": "string",
            "description": "Language code (e.g., 'fr', 'en')."
          },
          "text": {
            "type": "string",
            "description": "The actual text content."
          }
        },
        "required": [
          "language",
          "text"
        ]
      },
      "LevelVehicleInfoRequest": {
        "type": "object",
        "description": "Class representing a level vehicle info request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "level": {
            "type": "string",
            "description": "Level of researched information.",
            "enum": [
              "NAME",
              "VARIANT",
              "YEAR",
              "BATTERY_NAME",
              "MOTOR_TYPE",
              "CHARGE_POWER_DC",
              "CHARGE_POWER_AC",
              "CHARGE_POWER_AC1",
              "CHARGE_POWER_AC3"
            ]
          },
          "brandId": {
            "type": "string",
            "description": "EV vehicle brand ID."
          },
          "name": {
            "type": "string",
            "description": "Vehicle model name."
          },
          "variant": {
            "type": "string",
            "description": "Vehicle model variant name."
          },
          "year": {
            "type": "string",
            "description": "Year of release and end of series in format yyyy or yyyy-yyyy."
          },
          "batteryName": {
            "type": "string",
            "description": "Battery name."
          },
          "batteryCapacity": {
            "type": "string",
            "deprecated": true,
            "description": "Battery capacity."
          },
          "motorType": {
            "type": "string",
            "description": "Define the type of motor (engine), is an electric or PHEV motor.",
            "enum": [
              "EV",
              "HEV",
              "PHEV"
            ],
            "x-enumDescriptions": {
              "EV": "Electric Vehicle.",
              "HEV": "Hybrid Electric Vehicle.",
              "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug)."
            }
          },
          "chargerPowerDC": {
            "type": "number",
            "format": "double",
            "description": "DC Power in kW of vehicle charger."
          },
          "chargerPowerAC": {
            "type": "number",
            "format": "double",
            "description": "AC Power in kW of vehicle charger."
          }
        },
        "required": [
          "level"
        ]
      },
      "LocalWeather": {
        "type": "object",
        "description": "Class representing a local weather.",
        "properties": {
          "temperature": {
            "type": "number",
            "format": "float",
            "description": "Temperature, Unit Celsius."
          },
          "condition": {
            "type": "string",
            "description": "Group of weather parameters (Rain, Snow, Extreme etc.)."
          },
          "description": {
            "type": "string",
            "description": "Weather condition within the group."
          },
          "icon": {
            "type": "string",
            "description": "Weather icon id of provider."
          }
        }
      },
      "MatchedInfo": {
        "type": "object",
        "description": "Class describing matched coordinate on the map.",
        "properties": {
          "address": {
            "type": "string",
            "description": "Address."
          },
          "weather": {
            "$ref": "#/components/schemas/LocalWeather",
            "description": "Weather condition at Step point."
          },
          "maxSpeed": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum speeds in km/h recommended by calculation from the start coordinate to the stop or first step-point coordinate."
          },
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "longitude"
            ]
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)).",
            "x-aliases": [
              "latitude"
            ]
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "NearPoiRequest": {
        "type": "object",
        "description": "Class representing a near poi request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "coordinate": {
            "$ref": "#/components/schemas/CoordinateSat",
            "description": "Coordinate of center of research, will be used with `distance` parameter."
          },
          "distance": {
            "type": "integer",
            "format": "int64",
            "description": "Limit of research in meters."
          },
          "transportType": {
            "type": "string",
            "description": "Define the transportation mode: Car, pedestrian, truck, etc. By default PEDESTRIAN.",
            "enum": [
              "PEDESTRIAN",
              "BICYCLE",
              "MOTORCYCLE",
              "CAR",
              "TAXI",
              "PUBLIC_BUS",
              "EMERGENCY",
              "DELIVERY_TRUCK",
              "TRUCK"
            ],
            "x-enumDescriptions": {
              "PEDESTRIAN": "Pedestrian.",
              "BICYCLE": "Bicycle.",
              "MOTORCYCLE": "Motorcycle.",
              "CAR": "Passenger car.",
              "TAXI": "Taxi.",
              "PUBLIC_BUS": "Public bus.",
              "EMERGENCY": "Emergency vehicle.",
              "DELIVERY_TRUCK": "Delivery truck. Deprecated, use `TRUCK` instead.",
              "TRUCK": "Truck."
            }
          },
          "orderBy": {
            "type": "string",
            "description": "Sort the result by distance or duration in either ascending or descending. Disable by default.",
            "enum": [
              "DISTANCE_ASC",
              "DISTANCE_DESC",
              "DURATION_ASC",
              "DURATION_DESC"
            ],
            "x-enumDescriptions": {
              "DISTANCE_ASC": "Sort by distance in either ascending.",
              "DISTANCE_DESC": "Sort by distance in either descending.",
              "DURATION_ASC": "Sort by duration in either ascending.",
              "DURATION_DESC": "Sort by duration in either descending."
            }
          },
          "pl": {
            "type": "boolean",
            "description": "Enable the output polyline geometry of route. Set to true to enable otherwise false. Disable by default."
          },
          "epl": {
            "type": "boolean",
            "description": "Enable the output encoded polyline geometry of route with Google Algorithm. Set to true to enable otherwise false. Disable by default."
          },
          "serviceCategories": {
            "type": "array",
            "description": "Service categories. POI Class ID (numeric value defining the type of service, see the `Class ID list` in Glossary menu).",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "coordinate",
          "distance"
        ]
      },
      "NearPoiResponse": {
        "type": "object",
        "description": "Class representing a near poi response.",
        "properties": {
          "pois": {
            "type": "array",
            "description": "Points of interests.",
            "items": {
              "$ref": "#/components/schemas/NearPoint"
            }
          }
        }
      },
      "NearPoint": {
        "type": "object",
        "description": "Class representing a near point of interest.",
        "properties": {
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Geographical coordinate of POI."
          },
          "distance": {
            "type": "integer",
            "format": "int64",
            "description": "Distance of travel in meters between the input coordinate and POI."
          },
          "duration": {
            "type": "integer",
            "format": "int64",
            "description": "Duration of travel in seconds between the input coordinate and POI."
          },
          "type": {
            "type": "string",
            "description": "Type of POI."
          },
          "name": {
            "type": "string",
            "description": "Name of POI."
          },
          "telephone": {
            "type": "string",
            "description": "Phone number of POI."
          },
          "comment": {
            "type": "string",
            "description": "Comment."
          },
          "polyline": {
            "type": "array",
            "description": "Polyline geometry of route between start coordinate and the POI.",
            "items": {
              "$ref": "#/components/schemas/CoordinateFullName"
            }
          },
          "encodedPolyline": {
            "type": "string",
            "description": "Polyline geometry of route between start coordinate and the POI. It is a composed of coordinates list and encoded with Google Algorithm."
          }
        }
      },
      "ParkingVehicleAccessFront": {
        "type": "object",
        "description": "Class describing vehicle access to a charging station pool.",
        "properties": {
          "maxHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum height (in cm) of a vehicle to access the parking. Null if no restriction."
          },
          "maxWidth": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum width (in cm) of a vehicle to access the parking. Null if no restriction."
          },
          "maxLength": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum length (in cm) of a vehicle to access the parking. Null if no restriction."
          },
          "maxWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum weight (in tenth of ton) of a vehicle to access the parking. Null if no restriction."
          },
          "dangerousGoodsAllowed": {
            "type": "boolean",
            "description": "Whether vehicles loaded with dangerous goods are allowed to park."
          },
          "overnightParkingAllowed": {
            "type": "boolean",
            "description": "Whether overnight parking is allowed for heavy vehicles."
          },
          "parkingOrientation": {
            "type": "string",
            "description": "The direction in which vehicles are parked at the charging station.",
            "enum": [
              "PARALLEL",
              "PERPENDICULAR",
              "ANGLE",
              "DRIVE_THROUGH"
            ],
            "x-enumDescriptions": {
              "PARALLEL": "Parking happens parallel to the roadway on which vehicles approach the charging station.",
              "PERPENDICULAR": "Parking happens perpendicular to the roadway on which vehicles approach the charging station.",
              "ANGLE": "Parking happens at an angle to the roadway on which vehicles approach the charging station (i.e. echelon parking).",
              "DRIVE_THROUGH": "A vehicle can stop, charge, and proceed without reversing into or out of a parking bay. This is particularly important for heavy vehicles with trailers."
            }
          },
          "transportTypes": {
            "type": "array",
            "description": "List of transport types that can use this parking.",
            "items": {
              "type": "string",
              "description": "Transportation mode, Car, pedestrian, truck, etc.",
              "enum": [
                "PEDESTRIAN",
                "BICYCLE",
                "MOTORCYCLE",
                "CAR",
                "TAXI",
                "PUBLIC_BUS",
                "EMERGENCY",
                "DELIVERY_TRUCK",
                "TRUCK"
              ],
              "x-enumDescriptions": {
                "PEDESTRIAN": "Pedestrian.",
                "BICYCLE": "Bicycle.",
                "MOTORCYCLE": "Motorcycle.",
                "CAR": "Passenger car.",
                "TAXI": "Taxi.",
                "PUBLIC_BUS": "Public bus.",
                "EMERGENCY": "Emergency vehicle.",
                "DELIVERY_TRUCK": "Delivery truck. Deprecated, use `TRUCK` instead.",
                "TRUCK": "Truck."
              }
            }
          }
        }
      },
      "Place": {
        "type": "object",
        "description": "Describe the coordinate a place (like start point or stop point).",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "alt": {
            "type": "number",
            "format": "double",
            "description": "Altitude in meters."
          },
          "heading": {
            "type": "number",
            "format": "double",
            "description": "Heading angle in degrees (optional). For BeNomad engine: If the angle is not available, set this field and speed field to 0."
          },
          "speed": {
            "type": "number",
            "format": "float",
            "description": "Speed in km/h (optional). For BeNomad engine: Use this field only if the heading is available."
          },
          "time": {
            "type": "integer",
            "format": "int64",
            "description": "GPS time in milliseconds."
          },
          "sat": {
            "type": "integer",
            "format": "int32",
            "description": "Number of satellites available."
          },
          "radius": {
            "type": "integer",
            "format": "int32",
            "description": "Radius in meters around the coordinate. This radius defines the maximum distance the route calculation should approach the coordinate."
          },
          "ignorePoint": {
            "type": "boolean",
            "description": "Defines if this coordinate is ignored by the route calculation. `false` by default."
          },
          "ignoreTrafficDirections": {
            "type": "boolean",
            "description": "Defines if traffic directions should be ignored by route calculation between this waypoint and the next one. `false` by default."
          },
          "ignoreRestrictions": {
            "type": "boolean",
            "description": "Defines if forbidden maneuvers and blocked passages should be ignored by route calculation between this coordinate and the next one. `false` by default."
          },
          "avoidUTurn": {
            "type": "boolean",
            "description": "Defines if a UTurn should be avoided by route calculation on this coordinate. Not defined by default."
          },
          "useStartAngle": {
            "type": "boolean",
            "description": "If set to `true` and coordinate is located on a two-way road and heading is defined, coordinate's heading will be used as a general direction for departure from this coordinate. See the `heading` parameter. Not defined by default."
          },
          "useStopRoadSide": {
            "type": "boolean",
            "description": "Defines if route calculation must arrive on this coordinate on its side (if coordinate is on a two-way road). Not defined by default."
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "PlugAndAutoChargeFront": {
        "type": "object",
        "description": "Class defining if the vehicle have the AutoCharge capability. AutoCharge is an EV charging technology that enables automatic authentication and initiation of a charging session by recognising a unique identifier from the EV. AutoCharge shares similarities with Plug and Charge (PnC) technology, but there are important distinctions between the two. PnC is a more comprehensive authentication standard, established by the ISO 15118 protocol.",
        "properties": {
          "available": {
            "type": "boolean",
            "description": "Define if the vehicle has the capability of plug and aotomatic starting the charge. Ture if available."
          },
          "iso15118": {
            "type": "boolean",
            "description": "Plug & Charge: The ISO 15118 standard is supported. If Autocharge is OCPP version 2, the ISO 15118 and OCPP can be checked."
          },
          "ocpp": {
            "type": "boolean",
            "description": "The OCPP standard is supported. The Autocharge use OCPP version 1. If Autocharge is OCPP version 2, the ISO 15118 and OCPP can be checked."
          }
        },
        "required": [
          "available"
        ]
      },
      "PoolOpeningHour": {
        "type": "object",
        "description": "Class defining the opening hour (Date and time) of a pool of charging station.",
        "properties": {
          "dayOfweek": {
            "type": "string",
            "description": "Day of week.",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ],
            "x-enumDescriptions": {
              "MONDAY": "MONDAY.",
              "TUESDAY": "TUESDAY.",
              "WEDNESDAY": "WEDNESDAY.",
              "THURSDAY": "THURSDAY.",
              "FRIDAY": "FRIDAY.",
              "SATURDAY": "SATURDAY.",
              "SUNDAY": "SUNDAY."
            }
          },
          "start": {
            "type": "string",
            "description": "Start time of opened pool."
          },
          "end": {
            "type": "string",
            "description": "End time of opened pool."
          }
        }
      },
      "PredictedOccupancyTimeSlot": {
        "type": "object",
        "description": "Class defining a predicted occupancy time slot for a charging station.",
        "properties": {
          "dayOfweek": {
            "type": "string",
            "description": "Day of week.",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ],
            "x-enumDescriptions": {
              "MONDAY": "MONDAY.",
              "TUESDAY": "TUESDAY.",
              "WEDNESDAY": "WEDNESDAY.",
              "THURSDAY": "THURSDAY.",
              "FRIDAY": "FRIDAY.",
              "SATURDAY": "SATURDAY.",
              "SUNDAY": "SUNDAY."
            }
          },
          "start": {
            "type": "string",
            "description": "Start time of opened pool."
          },
          "end": {
            "type": "string",
            "description": "End time of opened pool."
          },
          "predictedOccupancy": {
            "type": "integer",
            "format": "int32",
            "description": "Predicted occupancy. This value ranges from 0 to 10, where: `0` means the station is least occupied. `10` means the station is fully occupied."
          }
        }
      },
      "RevGeocodingBatchMatched": {
        "type": "object",
        "description": "Class representing reverser geocoding for batch matched segments.",
        "properties": {
          "extent": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research.",
            "example": "&bbox=min X,min Y,max X,max Y"
          },
          "elements": {
            "type": "array",
            "description": "Geocoding for batch elements list found on the matched road segment.",
            "items": {
              "$ref": "#/components/schemas/GeocodingItem"
            }
          }
        },
        "required": [
          "elements",
          "extent"
        ]
      },
      "RevGeocodingBatchRequest": {
        "type": "object",
        "description": "Class representing reverser geocoding for batch request",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "coordinatesSat": {
            "type": "array",
            "description": "GPS coordinates.",
            "example": "&coordinatesSat=lon,lat",
            "items": {
              "$ref": "#/components/schemas/CoordinateSat"
            }
          },
          "transportMode": {
            "type": "string",
            "description": "Transportation mode: Car, pedestrian, truck, etc...",
            "enum": [
              "PEDESTRIAN",
              "BICYCLE",
              "MOTORCYCLE",
              "CAR",
              "TAXI",
              "PUBLIC_BUS",
              "EMERGENCY",
              "DELIVERY_TRUCK",
              "TRUCK"
            ],
            "example": "CAR",
            "x-enumDescriptions": {
              "PEDESTRIAN": "Pedestrian.",
              "BICYCLE": "Bicycle.",
              "MOTORCYCLE": "Motorcycle.",
              "CAR": "Passenger car.",
              "TAXI": "Taxi.",
              "PUBLIC_BUS": "Public bus.",
              "EMERGENCY": "Emergency vehicle.",
              "DELIVERY_TRUCK": "Delivery truck. Deprecated, use `TRUCK` instead.",
              "TRUCK": "Truck."
            }
          },
          "radius": {
            "type": "integer",
            "format": "int64",
            "description": "Maximum search radius around GPS point. The value is in meter..",
            "example": 1000
          },
          "maximumResults": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of items used to perform the research and returned items by the server..",
            "example": 2,
            "x-aliases": [
              "maximunResult"
            ]
          },
          "language": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup. Objects for which defined language code is not available, default language will be used. Values language Code - An US-ASCII string that defines an ISO 639-1 (2-letter) language code. The specials \"IC\" (no sensitive case) language code allows you to search for a country depending on its ISO-3166 Alpha-3 or Alpha-2 country code.",
            "example": "fr"
          },
          "options": {
            "type": "array",
            "description": "Comma-separated list of one or more reverse-geocoding options.",
            "example": "POLYLINE",
            "items": {
              "type": "string",
              "description": "Reverse Geocoding options.",
              "enum": [
                "START_AT_RADIUS",
                "THROUGH_POINT_ADDRESS",
                "SKIP_EMPTY_STREETNAME",
                "OPPOSITE_POSTAL_ADDRESS",
                "OPPOSITE_POSTAL_ADDRESS_ALWAYS",
                "URBAN_AREA",
                "ROAD_FEATURE",
                "SEGMENTID",
                "POLYLINE",
                "TRAFFIC",
                "TRAFFIC_PREDICTIVE",
                "TRAFFIC_HISTORICAL"
              ],
              "x-enumDescriptions": {
                "START_AT_RADIUS": "Force to start research directly at radius passed in parameter.",
                "THROUGH_POINT_ADDRESS": "This option will first attempt to locate a point address within the given radius around the given location. In case a point address is found, the service will return a unique result corresponding to the road-matched location of the point address. Otherwise, the search process behaves as if this option was not enabled.",
                "SKIP_EMPTY_STREETNAME": "Skip elements without a street name if other element(s) have a street name.",
                "OPPOSITE_POSTAL_ADDRESS": "Return the opposite postal address only if different from the postal address field.",
                "OPPOSITE_POSTAL_ADDRESS_ALWAYS": "Return the opposite postal address, always even if the values are the same as the postal address field.",
                "URBAN_AREA": "Set this flag to true if you need to know if the resulting matched point is in an urban area.",
                "ROAD_FEATURE": "Return the network information of a road segment.",
                "SEGMENTID": "Return the segment ID (like link ID).",
                "POLYLINE": "Return the list of coordinates of a road segment.",
                "TRAFFIC": "Return the traffic information.",
                "TRAFFIC_PREDICTIVE": "Return the predictive traffic information. The timestamp defined in each coordinate is used.",
                "TRAFFIC_HISTORICAL": "(Beta) Return the historical traffic information. The timestamp defined in each coordinate is used."
              }
            }
          }
        },
        "required": [
          "coordinatesSat",
          "radius"
        ]
      },
      "RevGeocodingBatchResponse": {
        "type": "object",
        "description": "Class representing reverser geocoding for batch response",
        "properties": {
          "revGeoBatchMatcheds": {
            "type": "array",
            "description": "Matched elements.",
            "items": {
              "$ref": "#/components/schemas/RevGeocodingBatchMatched"
            }
          }
        }
      },
      "ReverseGeocodingRequest": {
        "type": "object",
        "description": "Class representing a reverse geocoding request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "coordinateSat": {
            "$ref": "#/components/schemas/CoordinateSat",
            "description": "GPS coordinates of the request."
          },
          "transportMode": {
            "type": "string",
            "description": "Transportation mode, Car, pedestrian, truck, etc..",
            "enum": [
              "PEDESTRIAN",
              "BICYCLE",
              "MOTORCYCLE",
              "CAR",
              "TAXI",
              "PUBLIC_BUS",
              "EMERGENCY",
              "DELIVERY_TRUCK",
              "TRUCK"
            ],
            "x-enumDescriptions": {
              "PEDESTRIAN": "Pedestrian.",
              "BICYCLE": "Bicycle.",
              "MOTORCYCLE": "Motorcycle.",
              "CAR": "Passenger car.",
              "TAXI": "Taxi.",
              "PUBLIC_BUS": "Public bus.",
              "EMERGENCY": "Emergency vehicle.",
              "DELIVERY_TRUCK": "Delivery truck. Deprecated, use `TRUCK` instead.",
              "TRUCK": "Truck."
            }
          },
          "maximumResults": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of items used to perform the research and returned items by the server.",
            "x-aliases": [
              "maximunResult"
            ]
          },
          "radius": {
            "type": "integer",
            "format": "int64",
            "description": "Maximum search radius around GPS point. The value is in meter."
          },
          "language": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup. Objects for which defined language code is not available, default language will be used. Values language Code - An US-ASCII string that defines an ISO 639-1 (2-letter) language code. The specials \"IC\" (no sensitive case) language code allows you to search for a country depending on its ISO-3166 Alpha-3 or Alpha-2 country code."
          },
          "options": {
            "type": "array",
            "description": "Comma-separated list of one or more reverse-geocoding options.",
            "items": {
              "type": "string",
              "description": "Reverse Geocoding options.",
              "enum": [
                "START_AT_RADIUS",
                "THROUGH_POINT_ADDRESS",
                "SKIP_EMPTY_STREETNAME",
                "OPPOSITE_POSTAL_ADDRESS",
                "OPPOSITE_POSTAL_ADDRESS_ALWAYS",
                "URBAN_AREA",
                "ROAD_FEATURE",
                "SEGMENTID",
                "POLYLINE",
                "TRAFFIC",
                "TRAFFIC_PREDICTIVE",
                "TRAFFIC_HISTORICAL"
              ],
              "x-enumDescriptions": {
                "START_AT_RADIUS": "Force to start research directly at radius passed in parameter.",
                "THROUGH_POINT_ADDRESS": "This option will first attempt to locate a point address within the given radius around the given location. In case a point address is found, the service will return a unique result corresponding to the road-matched location of the point address. Otherwise, the search process behaves as if this option was not enabled.",
                "SKIP_EMPTY_STREETNAME": "Skip elements without a street name if other element(s) have a street name.",
                "OPPOSITE_POSTAL_ADDRESS": "Return the opposite postal address only if different from the postal address field.",
                "OPPOSITE_POSTAL_ADDRESS_ALWAYS": "Return the opposite postal address, always even if the values are the same as the postal address field.",
                "URBAN_AREA": "Set this flag to true if you need to know if the resulting matched point is in an urban area.",
                "ROAD_FEATURE": "Return the network information of a road segment.",
                "SEGMENTID": "Return the segment ID (like link ID).",
                "POLYLINE": "Return the list of coordinates of a road segment.",
                "TRAFFIC": "Return the traffic information.",
                "TRAFFIC_PREDICTIVE": "Return the predictive traffic information. The timestamp defined in each coordinate is used.",
                "TRAFFIC_HISTORICAL": "(Beta) Return the historical traffic information. The timestamp defined in each coordinate is used."
              }
            }
          }
        },
        "required": [
          "coordinateSat",
          "radius"
        ]
      },
      "ReverseGeocodingResponse": {
        "type": "object",
        "description": "Class representing a reverse geocoding response.",
        "properties": {
          "extent": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Define a bounding box (in WGS84 format) to restrict the geocoding research."
          },
          "elements": {
            "type": "array",
            "description": "Define geocoding elements for a featured road.",
            "items": {
              "$ref": "#/components/schemas/GeocodingItem"
            }
          },
          "maximunResult": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of items used to perform the research and returned items by the server."
          }
        }
      },
      "RoadInfo": {
        "type": "object",
        "description": "Class representing a road informations.",
        "properties": {
          "urban": {
            "type": "boolean",
            "description": "Urban / not urban flag."
          },
          "tunnel": {
            "type": "boolean",
            "description": "A flag that indicates if road is part of a tunnel or not."
          },
          "bridge": {
            "type": "boolean",
            "description": "A flag that indicates if road is part of a bridge or not."
          },
          "maxSpeedVerified": {
            "type": "boolean",
            "description": "Maximum speed verified flag (true: verified, false: calculated)."
          },
          "carPool": {
            "type": "boolean",
            "description": "A flag that indicates if road is reserved to carpooling."
          },
          "mainCategory": {
            "type": "boolean",
            "description": "A flag that enables discrimination within road's of a same FCC type (depends of map provider)."
          },
          "dualCarriageway": {
            "type": "integer",
            "format": "int32",
            "description": "A flag that indicates if road is part of a dual carriageway (e.g. with physical separation between opposite traffic sides)."
          },
          "noThroughTr": {
            "type": "integer",
            "format": "int32",
            "description": "No through traffic restriction."
          },
          "toll": {
            "type": "integer",
            "format": "int32",
            "description": "Toll information."
          },
          "tax": {
            "type": "integer",
            "format": "int32",
            "description": "Indicates if road is submitted to a government tax (like German MAUT, etc). 0 means no tax, 1-3 defines the tax category (country dependent)."
          },
          "matchDir": {
            "type": "string",
            "description": "The matching direction.",
            "enum": [
              "CLOSE",
              "OPEN_POS",
              "OPEN_NEG",
              "OPEN"
            ],
            "x-enumDescriptions": {
              "CLOSE": "0 : Undefined matched direction and closed in both directions.",
              "OPEN_POS": "1 : open in positive direction.",
              "OPEN_NEG": "2 : open in negative direction.",
              "OPEN": "3 : Undefined matched direction and open in both directions."
            }
          },
          "nbLanePos": {
            "type": "integer",
            "format": "int32",
            "description": "Number of lanes in positive direction. 0 if traffic closed in positive direction or if lane information is not available."
          },
          "nbLaneNeg": {
            "type": "integer",
            "format": "int32",
            "description": "Number of lanes in negative direction. 0 if traffic closed in negative direction or if lane information is not available."
          },
          "pedestrianInfrastructureType": {
            "type": "string",
            "description": "Enum of pedestrian type.",
            "enum": [
              "UNDEFINED",
              "ZONE",
              "HIKING",
              "UNPAVED_ROAD",
              "ROUGH_ROAD",
              "CONDITION_ROAD",
              "STAIRS",
              "TUNNEL",
              "ELEVATOR",
              "ESCALATOR",
              "FOOTBRIDGE"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "ZONE": "Pedestrian Zone.",
              "HIKING": "Hiking.",
              "UNPAVED_ROAD": "Unpaved Road.",
              "ROUGH_ROAD": "Rough Road.",
              "CONDITION_ROAD": "Poor Condition Road.",
              "STAIRS": "Stairs.",
              "TUNNEL": "Tunnel.",
              "ELEVATOR": "Elevator.",
              "ESCALATOR": "Escalator.",
              "FOOTBRIDGE": "Footbridge."
            }
          },
          "maxSpeed": {
            "type": "number",
            "format": "float",
            "description": "Speed limit in kph (0 if not available)."
          },
          "averageSpeed": {
            "type": "number",
            "format": "float",
            "description": "Average speed in kph."
          },
          "conditionalMaxSpeeds": {
            "type": "array",
            "description": "Optional conditional speed limit.",
            "items": {
              "$ref": "#/components/schemas/ConditionalSpdLimit"
            }
          },
          "length": {
            "type": "integer",
            "format": "int32",
            "description": "Length in meters."
          },
          "directionFlow": {
            "type": "string",
            "description": " The direction of traffic flow per transportation modes (use CartoConst to access to corresponding mode in dirFlow).",
            "enum": [
              "CLOSE",
              "OPEN_POS",
              "OPEN_NEG",
              "OPEN"
            ],
            "x-enumDescriptions": {
              "CLOSE": "0 : closed in both directions.",
              "OPEN_POS": "1 : open in positive direction.",
              "OPEN_NEG": "2 : open in negative direction.",
              "OPEN": "3 : open in both directions."
            }
          }
        }
      },
      "RoadSeg": {
        "type": "object",
        "description": "Class representing an road segment.",
        "properties": {
          "countryCode": {
            "type": "string",
            "description": "Country code (ISO)."
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "ID of segment. -1 if information is not available."
          },
          "reverseDirection": {
            "type": "boolean",
            "description": "True if this segment has been reversed, false otherwise."
          },
          "duration": {
            "type": "number",
            "format": "double",
            "description": "The duration in seconds to travel through this route segment. -1 if information is not available."
          },
          "weight": {
            "type": "integer",
            "format": "int64",
            "description": "The weight in seconds or meters to travel through this route, used only by isochrone calculation. -1 if information is not available."
          },
          "from": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate of first point."
          },
          "to": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate of last point."
          }
        }
      },
      "RoadsExtractorRequest": {
        "type": "object",
        "description": "Class representing a roads extractor request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "outputLanguage": {
            "type": "string",
            "description": "Define the language that will be used to perform the address lookup. Objects for which defined language code is not available, the default language will be used. A US-ASCII string that defines an ISO 639-1 (2-letter) language code. The special \"IC\" (or \"ic\") language code allows you to search for a country depending on its ISO-3166 Alpha-3 or Alpha-2 country code."
          },
          "coordinates": {
            "type": "array",
            "description": "List of coordinates of the polygon.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "transportType": {
            "type": "string",
            "description": "Transportation mode. `CAR` by default.",
            "enum": [
              "PEDESTRIAN",
              "BICYCLE",
              "MOTORCYCLE",
              "CAR",
              "TAXI",
              "PUBLIC_BUS",
              "EMERGENCY",
              "DELIVERY_TRUCK",
              "TRUCK"
            ],
            "x-enumDescriptions": {
              "PEDESTRIAN": "Pedestrian.",
              "BICYCLE": "Bicycle.",
              "MOTORCYCLE": "Motorcycle.",
              "CAR": "Passenger car.",
              "TAXI": "Taxi.",
              "PUBLIC_BUS": "Public bus.",
              "EMERGENCY": "Emergency vehicle.",
              "DELIVERY_TRUCK": "Delivery truck. Deprecated, use `TRUCK` instead.",
              "TRUCK": "Truck."
            }
          },
          "classIdFilters": {
            "type": "array",
            "description": "List of road network class ID to filter by. A class ID can be a number e.g. `4000` or an enumeration string e.g. `ROAD_FOURTH`). No filtering by default. [List of available class ID](https://benomad.com/dev/doc/bemap-api/guides/reference/sdk-jsiv-classids/).",
            "items": {
              "type": "string"
            }
          },
          "adminPath": {
            "type": "boolean",
            "description": "Set this flag to true if you want to retrieve the complete hierarchical path of each `ExtractedRoadFront`. This option is required to get the postal addresses."
          },
          "filterElementsHouseNumbers": {
            "type": "boolean",
            "description": "Set to true to filter road elements with house numbers only."
          },
          "filterClippedElements": {
            "type": "boolean",
            "description": "Set this flag to true if you want to filter out elements which are not fully inside the polygon."
          }
        },
        "required": [
          "coordinates"
        ]
      },
      "RoadsExtractorResponse": {
        "type": "object",
        "description": "Class representing a roads extractor response.",
        "properties": {
          "roads": {
            "type": "array",
            "description": "List of extracted road information.",
            "items": {
              "$ref": "#/components/schemas/ExtractedRoadFront"
            }
          }
        }
      },
      "RouteEventFront": {
        "type": "object",
        "description": "Class representing a route event.",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal (WGS84) (double)."
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal (WGS84) (double)."
          },
          "alt": {
            "type": "number",
            "format": "double",
            "description": "Altitude in meters (double)."
          },
          "time": {
            "type": "integer",
            "format": "int32",
            "description": "The time in seconds between the start of route."
          },
          "distFromStart": {
            "type": "number",
            "format": "double",
            "description": "Distance in meters from start point."
          },
          "speed": {
            "type": "number",
            "format": "double",
            "description": "Speed in meters per second."
          },
          "acceleration": {
            "type": "number",
            "format": "double",
            "description": "Acceleration in meters per second per second."
          },
          "angle": {
            "type": "number",
            "format": "double",
            "description": "Heading in degrees."
          },
          "slope": {
            "type": "number",
            "format": "double",
            "description": "Slope coefficient (0 = 0°, +/-0.5 = +/-30°, etc.)."
          },
          "cumulativeConsumption": {
            "type": "number",
            "format": "double",
            "description": "Cumulative consumption from start  in kWh."
          },
          "consumption": {
            "type": "number",
            "format": "double",
            "description": "Consumption from previous value in kWh."
          },
          "batteryLevel": {
            "type": "number",
            "format": "double",
            "description": "Remaining battery level (in percentage) at this location."
          }
        }
      },
      "RouteFront": {
        "type": "object",
        "description": "Class describing the calculated route.",
        "properties": {
          "stepPoints": {
            "type": "array",
            "description": "Define the list of StepPoint.",
            "items": {
              "$ref": "#/components/schemas/StepPointFront"
            }
          },
          "chargingStationPools": {
            "type": "array",
            "description": "Define the list of ChargingStationPool.",
            "items": {
              "$ref": "#/components/schemas/ChargingStationPool"
            }
          },
          "polyline": {
            "type": "array",
            "description": "Is the route geometry. It is composed of a list of coordinates (e.g routing points).",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "encodedPolyline": {
            "type": "string",
            "description": "Is the route geometry. It is composed of a list of coordinates and encoded with Google Algorithm."
          },
          "events": {
            "type": "array",
            "description": "List of event found on calculated route.",
            "items": {
              "$ref": "#/components/schemas/RouteEventFront"
            }
          },
          "timeSlotWarns": {
            "type": "array",
            "description": "List of warnings regarding the requested time slots.",
            "items": {
              "$ref": "#/components/schemas/TimeSlotWarn"
            }
          }
        }
      },
      "RoutingChargeFtr": {
        "type": "object",
        "description": "Class representing a routing charge feature.",
        "properties": {
          "socAlert": {
            "type": "integer",
            "format": "int32",
            "description": "SOC below which the driver does not want to descend (in % of the vehicle's battery's capacity)."
          },
          "socAtArrival": {
            "type": "integer",
            "format": "int32",
            "description": "Desired SOC at the arrival. If reachChargePointAtArrival is true, this is computed by the algorithm as the SOC to reach the closest charging pool at arrival."
          },
          "reachChargePointAtArrival": {
            "type": "boolean",
            "description": "Specifies that the SOC at arrival must be sufficient to reach a suitable charge point (true by default)."
          },
          "connectorTypeIdFilters": {
            "type": "array",
            "description": "List of connector type ID to perform a filtration based on those values.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "providers": {
            "type": "array",
            "description": "Optional list of authorized charge data providers (by default all providers are authorized).",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RoutingCrossPenaltiesCoef": {
        "type": "object",
        "description": "Defines a cross-penalties coefficient for the specified road element's classification. Note: This parameter has no effect on the Traceroute service.",
        "properties": {
          "ptype": {
            "type": "string",
            "description": "Enumeration taken into account by routing calculation. It defines if speed coefficient applies only for searching the fastest route (only when fastest criteria is set) or for calculating the route's travel time (ETA) or both.",
            "enum": [
              "ALL",
              "CAL",
              "ETA"
            ],
            "writeOnly": true,
            "x-enumDescriptions": {
              "ALL": "Speed coefficient applies both for finding the fastest route and calculating its ETA. Default value.",
              "CAL": "Speed coefficient applies only searching for the fastest route (only when fastest criteria is set).",
              "ETA": "Speed coefficient applies only for calculating route's travel time (ETA)."
            }
          },
          "factor": {
            "type": "number",
            "format": "float",
            "description": "New coefficient factor for cross-penalties (Default = 1)."
          },
          "type": {
            "type": "string",
            "description": "Defines if a new coefficient applies to route calculation or to route ETA or both (Default = ALL).",
            "enum": [
              "ALL",
              "CAL",
              "ETA"
            ],
            "x-enumDescriptions": {
              "ALL": "Speed coefficient applies both for finding the fastest route and calculating its ETA. Default value.",
              "CAL": "Speed coefficient applies only searching for the fastest route (only when fastest criteria is set).",
              "ETA": "Speed coefficient applies only for calculating route's travel time (ETA)."
            }
          }
        },
        "required": [
          "factor"
        ]
      },
      "RoutingDest": {
        "type": "object",
        "description": "Class representing a routing destination.",
        "properties": {
          "coordinateSat": {
            "$ref": "#/components/schemas/CoordinateSat"
          },
          "radius": {
            "type": "integer",
            "format": "int64",
            "description": "Radius in meters of the waypoint. This radius defines the maximum distance the route calculation should approach the waypoint."
          },
          "ignorePoint": {
            "type": "boolean",
            "description": "Defines if this waypoint is ignored by the route calculation."
          },
          "ignoreTrafficDirections": {
            "type": "boolean",
            "description": "Defines if traffic directions should be ignored by route calculation between this waypoint and next one."
          },
          "ignoreRoadBlocks": {
            "type": "boolean",
            "description": "Defines if road blocks should be ignored by route calculation between this waypoint and next one. See the `routingRoadBlocks` parameter."
          },
          "ignoreRestrictions": {
            "type": "boolean",
            "description": "Defines if forbidden maneuvers and blocked passages should be ignored by route calculation between this waypoint and next one."
          },
          "avoidUTurn": {
            "type": "string",
            "description": "Defines if a UTurn should be avoided by route calculation on this waypoint.",
            "enum": [
              "UNDEF",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEF": "Status undefined.",
              "YES": "Status yes.",
              "NO": "Status no."
            }
          },
          "useStartAngle": {
            "type": "string",
            "description": "If set to `YES` and waypoint is located on a two-way road and heading is defined, waypoint's heading will be used as a general direction for departure from this waypoint. See the `heading` parameter.",
            "enum": [
              "UNDEF",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEF": "Status undefined.",
              "YES": "Status yes.",
              "NO": "Status no."
            }
          },
          "useStopRoadSide": {
            "type": "string",
            "description": "Defines if route calculation must arrive on this waypoint on its side (if waypoint is on a two-way road).",
            "enum": [
              "UNDEF",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEF": "Status undefined.",
              "YES": "Status yes.",
              "NO": "Status no."
            }
          },
          "keptByMinimalWp": {
            "type": "boolean",
            "description": "This parameter `keptByMinimalWp` (previously `mandatory`) will be used by the traceroute API. When the value is set to `true` and the option `NO_MINIMAL_WAYPOINTS` is not defined, the waypoint will be kept in the way-points response array.",
            "x-aliases": [
              "mandatory"
            ]
          },
          "stopDuration": {
            "type": "integer",
            "format": "int32",
            "description": "Stop duration in seconds associated to the destination coordinate."
          },
          "customData": {
            "type": "array",
            "description": "Custom data is a list that can be used to set some custom information about the waypoint in input and retrieve in response.",
            "items": {
              "$ref": "#/components/schemas/CustomDt"
            }
          }
        }
      },
      "RoutingEnergyVehicleFtr": {
        "type": "object",
        "description": "Class representing a routing energy vehicle feature.",
        "properties": {
          "scx": {
            "type": "number",
            "format": "double",
            "description": "Product of vehicle's front area and aerodynamic coefficient (in m²)."
          },
          "crr": {
            "type": "number",
            "format": "double",
            "description": "Vehicle's tire rolling resistance coefficient (dimension-less, in interval ]0, 1[)."
          },
          "engineEfficiency": {
            "type": "number",
            "format": "double",
            "description": "Vehicle's efficiency coefficient between engine and gear (dimension-less, in interval ]0, 1[)."
          },
          "batCapacity": {
            "type": "number",
            "format": "double",
            "description": "Vehicle's capacity of the battery (in kWh, only if electric vehicle or hybrid re-chargeable, 0 otherwise)."
          },
          "energyLoad": {
            "type": "number",
            "format": "double",
            "description": "Vehicle's current energy load, state of charge (in kWh)."
          },
          "dryWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's weight without any consumables or passengers (in kg)."
          },
          "payload": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's extra load (consumables or passengers weight for example) (in kg)."
          },
          "auxConsumption": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's instantaneous auxiliary equipments consumption (in W)."
          },
          "maxAccel": {
            "type": "number",
            "format": "double",
            "description": "Maximum acceleration (superior to 0.1, in m/s², based on vehicle's acceleration capacity and expected driving behavior)."
          },
          "maxDecel": {
            "type": "number",
            "format": "double",
            "description": "Maximum deceleration (inferior to -0.1, in m/s², based on vehicle's braking capacity and expected driving behavior)."
          },
          "extTemp": {
            "type": "number",
            "format": "float",
            "description": "Outside temperature (in °C)."
          },
          "maxChargePower": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power AC single phase authorized by the vehicle (in kW)."
          },
          "maxChargePowerAc3": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power AC three phases authorized by the vehicle (in kW)."
          },
          "maxChargePowerDc": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power DC authorized by the vehicle (in kW)."
          },
          "regenerativeBraking": {
            "type": "boolean",
            "description": "Defines if the vehicle supports regenerative braking (default = true)."
          }
        }
      },
      "RoutingEvnt": {
        "type": "object",
        "description": "Class representing a routing event.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of event.",
            "enum": [
              "SEGMENT",
              "SAMPLING_TIME",
              "SAMPLING_DISTANCE"
            ],
            "x-enumDescriptions": {
              "SEGMENT": "Each entry values come from the road segmentation of map data.",
              "SAMPLING_TIME": "Each entry values are sampled by time.",
              "SAMPLING_DISTANCE": "Each entry values are sampled by distance."
            }
          },
          "distanceUnit": {
            "type": "string",
            "description": "Defines the distance unit."
          },
          "timeUnit": {
            "type": "string",
            "description": "Defines the time unit."
          },
          "markers": {
            "type": "array",
            "description": "List of markers.",
            "items": {
              "$ref": "#/components/schemas/RoutingEvntMarker"
            }
          }
        }
      },
      "RoutingEvntEntry": {
        "type": "object",
        "description": "Class representing a routing event entry.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of entry."
          },
          "name": {
            "type": "string",
            "description": "Name of entry."
          },
          "jsonObject": {
            "description": "Representation of object value by JSON."
          }
        }
      },
      "RoutingEvntMarker": {
        "type": "object",
        "description": "Class representing a routing event marker.",
        "properties": {
          "distance": {
            "type": "integer",
            "format": "int64",
            "description": "The travel distance from start of the route."
          },
          "time": {
            "type": "integer",
            "format": "int64",
            "description": "The travel time from start of the route."
          },
          "percent": {
            "type": "number",
            "format": "double",
            "description": "The percentage of distance from start of the route."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "The coordinate of the marker."
          },
          "entries": {
            "type": "array",
            "description": "List of entries.",
            "items": {
              "$ref": "#/components/schemas/RoutingEvntEntry"
            }
          }
        }
      },
      "RoutingInstruc": {
        "type": "object",
        "description": "Class representing a guidance instruction of a route.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Instruction type.",
            "enum": [
              "FOLLOW",
              "FOLLOW_SIGN",
              "TAKE_RAMP",
              "ENTER_MOTORWAY",
              "EXIT_MOTORWAY",
              "ENTER_ROUNDABOUT",
              "EXIT_ROUNDABOUT",
              "TAKE_FERRY",
              "LEAVE_FERRY",
              "STOP",
              "STOP_VIA"
            ],
            "x-enumDescriptions": {
              "FOLLOW": "Follow.",
              "FOLLOW_SIGN": "Follow sign.",
              "TAKE_RAMP": "Take ramp.",
              "ENTER_MOTORWAY": "Enter in motorway.",
              "EXIT_MOTORWAY": "Exit from motorway.",
              "ENTER_ROUNDABOUT": "Enter in roundabout.",
              "EXIT_ROUNDABOUT": "Exit from roundabout.",
              "TAKE_FERRY": "Take ferry.",
              "LEAVE_FERRY": "Leave ferry.",
              "STOP": "Stop.",
              "STOP_VIA": "Stop on via."
            }
          },
          "geoElementType": {
            "type": "string",
            "description": "Geo element type following instruction.",
            "enum": [
              "ALL_ROAD",
              "PEDESTRIAN",
              "ROUNDABOUT",
              "SLIP_ROAD",
              "ROAD",
              "MOTORWAY",
              "FERRY",
              "MAIN_ROAD",
              "SECONDARY_ROAD",
              "TERTIARY_ROAD",
              "FOURTH_ROAD",
              "COUNTRY",
              "STATE",
              "COUNTY",
              "CITY",
              "DISTRICT",
              "POSTAL_CODE",
              "BUILT_UP_AREA_NA",
              "BUILT_UP_AREA_NONE",
              "BUILT_UP_AREA_MAIN",
              "BUILT_UP_AREA_MEDIUM",
              "BUILT_UP_AREA_SMALL",
              "VEHICLE_REPAIR",
              "PETROL_STATION",
              "RENT_A_CAR",
              "PARKING_GARAGE",
              "HOTEL_MOTEL",
              "RESTAURANT",
              "TOURIST_OFFICE",
              "MUSEUM",
              "THEATRE",
              "CULTURAL_CENTRE",
              "SPORTS_ACTIVITY",
              "HOSPITAL",
              "POLICE_STATION",
              "CITY_HALL",
              "POST_OFFICE",
              "PHARMACY",
              "BANK",
              "CAMPING",
              "SHOPPING_CENTRE",
              "STADIUM",
              "TOURIST_ATTRACTION",
              "BUS_STATION",
              "EXHIBITION_CENTER",
              "GOLF_COURSE",
              "GROCERY_STORE",
              "LIBRARY",
              "MARINA",
              "HISTORICAL_MONUMENT",
              "BOWLING",
              "CASINO",
              "CINEMA",
              "SPORTS_CENTRE",
              "BEACH",
              "SHOP",
              "OPERA",
              "TENNIS_COURT",
              "MUSIC_CENTER",
              "AMUSEMENT_PARK",
              "ZOO"
            ],
            "x-enumDescriptions": {
              "ALL_ROAD": "Road types.",
              "MAIN_ROAD": "Road levels.",
              "COUNTRY": "Administrative.",
              "BUILT_UP_AREA_NA": "Urban area information not available.",
              "BUILT_UP_AREA_NONE": "No urban area.",
              "BUILT_UP_AREA_MAIN": "Urban area coverage size main, not an administrative area.",
              "BUILT_UP_AREA_MEDIUM": "Urban area coverage size medium (not an administrative area).",
              "BUILT_UP_AREA_SMALL": "Urban area coverage size small (not an administrative area).",
              "VEHICLE_REPAIR": "POI."
            }
          },
          "length": {
            "type": "integer",
            "format": "int32",
            "description": "Distance in meters of current instruction."
          },
          "duration": {
            "type": "integer",
            "format": "int32",
            "description": "Duration in seconds of current instruction."
          },
          "fromName": {
            "type": "string",
            "description": "Name of last road segment before the maneuver. In specified language define in request, if available in map data"
          },
          "fromPhoneme": {
            "type": "string",
            "description": "Phonetic transcription of the name of last road segment before the maneuver. In specified language define in request, if available in map data"
          },
          "manoeuvre": {
            "type": "string",
            "description": "The direction to follow.",
            "enum": [
              "STRAIGHT",
              "SLIGHT_LEFT",
              "LEFT",
              "SHARP_LEFT",
              "U_TURN",
              "SHARP_RIGHT",
              "RIGHT",
              "SLIGHT_RIGHT",
              "BEAR_LEFT",
              "BEAR_RIGHT"
            ],
            "x-enumDescriptions": {
              "STRAIGHT": "Straight ahead.",
              "SLIGHT_LEFT": "Turn slight left.",
              "LEFT": "Turn left.",
              "SHARP_LEFT": "Turn sharp left.",
              "U_TURN": "Make a u-turn.",
              "SHARP_RIGHT": "Turn sharp right.",
              "RIGHT": "Turn right.",
              "SLIGHT_RIGHT": "Turn slight right.",
              "BEAR_LEFT": "Bear left.",
              "BEAR_RIGHT": "Bear right."
            }
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Position of the maneuver."
          },
          "roundAboutExitNumber": {
            "type": "integer",
            "format": "int32",
            "description": "The exit number of a roundabout."
          },
          "toName": {
            "type": "string",
            "description": "Name (or sign post) of first road segment after the maneuver. In specified language define in request, if available in map data"
          },
          "toOn": {
            "type": "string",
            "description": "Returns the Official Name of next route section (in specified language code if available)."
          },
          "toOnPhoneme": {
            "type": "string",
            "description": "Returns phonetic transcription of the official name of next route section."
          },
          "toPhoneme": {
            "type": "string",
            "description": "Phonetic transcription of the name (or sign post) of first road segment after the maneuver. In specified language define in request, if available in map data"
          },
          "toRn": {
            "type": "string",
            "description": "Route number of first road segment after the maneuver."
          },
          "toRnPhoneme": {
            "type": "string",
            "description": "Phonetic transcription of the route number of first road segment after the maneuver."
          },
          "toSi": {
            "type": "string",
            "description": "Sign post to follow after the maneuver. In specified language define in request, if available in map data."
          },
          "toSiPhoneme": {
            "type": "string",
            "description": "Phonetic transcription of the sign post to follow after the maneuver. In specified language define in request, if available in map data."
          },
          "textDist": {
            "type": "string",
            "description": "Distance instruction in human readable format can be used with text-to-speech."
          },
          "text": {
            "type": "string",
            "description": "Instruction in human readable format can be used with text-to-speech."
          },
          "polylineIndex": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Index in route polyline's points array of first form of this instruction. Deprecated use instead `EVENT`, `EVT_ROUTESHEET` with `EVT_POLYLINE` or `EVT_ENCODED_POLYLINE`."
          }
        }
      },
      "RoutingMaxSpd": {
        "type": "object",
        "description": "Class representing a routing maximal speed.",
        "properties": {
          "maxSpeed": {
            "type": "integer",
            "format": "int32",
            "description": "Specifies a maximum speed for a vehicle in km/h."
          },
          "type": {
            "type": "string",
            "description": "Defines if max speed should be used for route calculation (`CAL`) and/or for route time estimation (`ETA`). By default (`ALL`) the speed applies to both cases.",
            "enum": [
              "ALL",
              "CAL",
              "ETA"
            ],
            "x-enumDescriptions": {
              "ALL": "Maximum speed apply to route calculation and to route ETA.",
              "CAL": "Maximum speed apply only to route calculation.",
              "ETA": "Maximum speed apply only to route ETA."
            }
          }
        }
      },
      "RoutingOffRd": {
        "type": "object",
        "description": "Class representing a routing off road.",
        "properties": {
          "geometry": {
            "type": "array",
            "description": "Geometry representing the offroad section.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "attributes": {
            "type": "array",
            "description": "Attributes.",
            "items": {
              "$ref": "#/components/schemas/AttributeItem"
            }
          }
        }
      },
      "RoutingPrefRoad": {
        "type": "object",
        "description": "Class that defines speed coefficients for specific road attributes. Only when fastest criterium is set.",
        "properties": {
          "factor": {
            "type": "number",
            "format": "float",
            "description": "Speed coefficient. This coefficient will alter the speed defined in the map data. If < 1 it will slow down the speed, if > 1 it will increase the speed (1 = unchanged). Range ]0, 256]."
          },
          "routingRoadAttribute": {
            "type": "string",
            "description": "Defines the road's attribute associated to the specific speed coefficients (`factor` parameter).",
            "enum": [
              "PREFERRED_UNDEFINED",
              "PREFERRED_STAA",
              "PREFERRED_NATIONAL_ACCESS",
              "PREFERRED_TRUCK_ROUTE",
              "PREFERRED_TRUCK_BYPASS",
              "PREFERRED_TRUCK_LOCAL",
              "PREFERRED_HAZMAT_NRHM",
              "PREFERRED_HAZMAT_EXPLOSIVES",
              "PREFERRED_HAZMAT_PIH",
              "PREFERRED_HAZMAT_MEDICAL",
              "PREFERRED_HAZMAT_RADIOACTIVE",
              "PREFERRED_HAZMAT_GENERAL",
              "PREFERRED_TOURIST_SCENIC",
              "PREFERRED_TOURIST_HISTORIC",
              "PREFERRED_B_DOUBLES",
              "PREFERRED_TOURIST_NATIONAL",
              "PREFERRED_TOURIST_REGIONAL",
              "PREFERRED_TOURIST_NATURE",
              "PREFERRED_WEIGHT_DEPENDENT",
              "TOLL_ROAD",
              "BUILT_UP",
              "TUNNEL",
              "BRIDGE",
              "TAX",
              "CARPOOL"
            ],
            "x-enumDescriptions": {
              "PREFERRED_UNDEFINED": "Roads belonging to preferred undefined network.",
              "PREFERRED_STAA": "Roads belonging to preferred STAA network.",
              "PREFERRED_NATIONAL_ACCESS": "Roads belonging to preferred national access network.",
              "PREFERRED_TRUCK_ROUTE": "Roads belonging to preferred route truck network.",
              "PREFERRED_TRUCK_BYPASS": "Roads belonging to preferred bypass truck network.",
              "PREFERRED_TRUCK_LOCAL": "Roads belonging to preferred local truck network.",
              "PREFERRED_HAZMAT_NRHM": "Roads belonging to preferred NRHM hazmat network.",
              "PREFERRED_HAZMAT_EXPLOSIVES": "Roads belonging to preferred explosive hazmat network.",
              "PREFERRED_HAZMAT_PIH": "Roads belonging to preferred PIH hazmat network.",
              "PREFERRED_HAZMAT_MEDICAL": "Roads belonging to preferred medical hazmat network.",
              "PREFERRED_HAZMAT_RADIOACTIVE": "Roads belonging to preferred radioactive hazmat network.",
              "PREFERRED_HAZMAT_GENERAL": "Roads belonging to preferred general hazmat network.",
              "PREFERRED_TOURIST_SCENIC": "Roads belonging to preferred tourist scenic roads.",
              "PREFERRED_TOURIST_HISTORIC": "Roads belonging to preferred tourist historic roads.",
              "PREFERRED_B_DOUBLES": "Roads belonging to preferred B-Doubles.",
              "PREFERRED_TOURIST_NATIONAL": "Roads belonging to preferred tourist national route.",
              "PREFERRED_TOURIST_REGIONAL": "Roads belonging to preferred tourist regional route.",
              "PREFERRED_TOURIST_NATURE": "Roads belonging to preferred tourist nature route.",
              "PREFERRED_WEIGHT_DEPENDENT": "Roads belonging to weight dependent preferred network.",
              "TOLL_ROAD": "Roads with tolls.",
              "BUILT_UP": "Roads belonging to built-up areas.",
              "TUNNEL": "Roads in tunnels.",
              "BRIDGE": "Roads on bridges.",
              "TAX": "Roads submitted to government tax (like German MAUT, etc.).",
              "CARPOOL": "Roads reserved to carpooling."
            }
          },
          "routingPonderationType": {
            "type": "string",
            "description": "Defines if speed coefficient applies only for searching the fastest route or for calculating the route's travel time (ETA) or both. `ALL` by default.",
            "enum": [
              "ALL",
              "CAL",
              "ETA"
            ],
            "x-enumDescriptions": {
              "ALL": "Speed coefficient applies both for finding the fastest route and calculating its ETA. Default value.",
              "CAL": "Speed coefficient applies only searching for the fastest route (only when fastest criteria is set).",
              "ETA": "Speed coefficient applies only for calculating route's travel time (ETA)."
            }
          }
        },
        "required": [
          "factor",
          "routingRoadAttribute"
        ]
      },
      "RoutingRequest": {
        "type": "object",
        "description": "Class representing a routing request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "routingMode": {
            "type": "string",
            "description": "Defines the route calculation mode. Default is `MODE_VIAS`.",
            "enum": [
              "MODE_VIAS",
              "MODE_1_TO_N",
              "MODE_N_TO_1",
              "MODE_N_TO_N",
              "MODE_MATRIX",
              "MODE_ISOCHRONE"
            ],
            "x-enumDescriptions": {
              "MODE_VIAS": "Computes a serie of routes between successive couples of via coordinates. Examples: from C1 to C2 OR from C1 to C2 to ... to Cn.",
              "MODE_1_TO_N": "Computes routes between a start coordinate to a list of destination coordinates. Examples (Cd is departure): from Cd to C1 OR from Cd to C1, from Cd to C2, ..., from Cd to Cn.",
              "MODE_N_TO_1": "Computes routes between a list of start coordinates to a destination coordinate. Examples (Ca is arrival): from C1 to Ca OR from C1 to Ca, from C2 to Ca, ... from Cn  to Ca.",
              "MODE_N_TO_N": "Computes n² routes between each couples of a list of n coordinates.",
              "MODE_MATRIX": "Computes a n x p matrix of path weights between each pair of a list of origin and destination coordinates. Path weights are defined in seconds if `FASTEST` mode, meters if `SHORTEST` mode or Wh (Watt-hour) if `ECO_ENERGY` mode.",
              "MODE_ISOCHRONE": "Builds an isochrone polygon around one or two coordinates. With 1 coordinate: Builds an isochrone polygon representing the area that can be reached through the road network starting from this coordinate with a given limit of time or distance or energy. With two coordinates: Build the isochrone polygon representing the area that can be reached through the road network starting from start, ending at stop and with a given limit of time or distance or energy."
            }
          },
          "destinations": {
            "type": "array",
            "description": "A list of coordinates that will be used to perform the routing calculation, isochrone, matrix, etc. The number of required coordinates depends of the selected routing mode (see `routingMode` parameter).",
            "items": {
              "$ref": "#/components/schemas/RoutingDest"
            }
          },
          "routingCriterias": {
            "type": "array",
            "description": "Criteria used to perform the routing calculation like shortest, fastest. Comma-separated list of one or more criteria. If empty or not set the default value is `FASTEST`.",
            "items": {
              "type": "string",
              "description": "Enumeration of criteria for routing calculation.",
              "enum": [
                "FASTER",
                "FASTEST",
                "SHORTEST",
                "ECO_ENERGY",
                "AVOID_FERRIES",
                "AVOID_MOTORWAYS",
                "AVOID_TOLLS",
                "AVOID_UNPAVED",
                "AVOID_CROSSING_BORDER",
                "CARPOOL"
              ],
              "x-enumDescriptions": {
                "FASTER": "Find the route which optimizes travel time.",
                "FASTEST": "Find the route which optimizes travel time. Default value.",
                "SHORTEST": "Find the route which optimizes travel distance.",
                "ECO_ENERGY": "Find the route which optimizes travel energy consumption.",
                "AVOID_FERRIES": "Finds a route which avoids ferries.",
                "AVOID_MOTORWAYS": "Finds a route which avoids motorways.",
                "AVOID_TOLLS": "Finds a route which avoids tolls.",
                "AVOID_UNPAVED": "Finds a route which avoids unpaved roads.",
                "AVOID_CROSSING_BORDER": "Finds a route which avoids country border crossings (only when all coordinates are in a same country).",
                "CARPOOL": "Finds a route which avoids roads reserved to carpooling."
              }
            }
          },
          "preferredRoads": {
            "type": "array",
            "description": "Defines speed coefficients for specific road attributes. Only when fastest criterium is set. This parameter can be repeated.",
            "items": {
              "$ref": "#/components/schemas/RoutingPrefRoad"
            }
          },
          "routingRoadBlocks": {
            "type": "array",
            "description": "List of road blocks. Specifies a location where route must not go through.",
            "items": {
              "$ref": "#/components/schemas/RoutingRoadBlck"
            }
          },
          "avoidCountryCodes": {
            "type": "array",
            "description": "List of country code will be avoided. The ISO3166 Alpha3 country code of the country to add.",
            "items": {
              "type": "string"
            }
          },
          "options": {
            "type": "array",
            "description": "Comma-separated list of one or more options.",
            "items": {
              "type": "string",
              "enum": [
                "MAPMATCH_AVOID_TUNNEL",
                "MAPMATCH_AVOID_BRIDGE",
                "STARTSTOPINFO_WITHVIA",
                "ROUTESHEET",
                "ROUTESHEET_VERBOSE_LOW",
                "ROUTESHEET_VERBOSE_MEDIUM",
                "ROUTESHEET_VERBOSE_HIGH",
                "FENCE_SHAPE",
                "POLYLINE",
                "DETAILED_POLYLINE",
                "POLYLINE_INDEX",
                "OPENLR",
                "SEGMENTIDS",
                "ROAD_SEGMENTS",
                "JUNCTION_NODES",
                "WAYPOINTS",
                "MINIMAL_WAYPOINTS",
                "WAYPOINTS_POLYLINE",
                "TRAFFIC",
                "TRAFFIC_PREDICTIVE",
                "TRAFFIC_PATTERNS",
                "OPTIMIZED_TRIP",
                "OPTIMIZED_TRIP_ROUND",
                "OPTIMIZED_TRIP_UNDEFSTOP",
                "OPTIMIZED_TRIP_CLOSE",
                "ENERGY_CONSUMPTION",
                "TOLL_COST",
                "TAX_COST",
                "ECO_TAX",
                "SORTBY_USED_ORDER",
                "REVGEO_STRICT_DISABLE",
                "REVGEO_POSTAL_ADDRESS",
                "ISOCHRONE_FORWARD",
                "ISOCHRONE_BACKWARD",
                "OPTIMIZED_ROUTE_FOR_CHARGING_STATION",
                "MATRIX_COMPLEMENT",
                "MATRIX_FOR_ROUND_OPTIM",
                "EVENT",
                "EVT_DUPLICATE_FILTER",
                "EVT_ENTRY_VALUE_AS_OBJECT",
                "EVT_ROAD_FEATURE",
                "EVT_PROHIBITED_DRIVING",
                "EVT_ELEVATION",
                "EVT_ELEVATION2",
                "EVT_OBJECTID_BASE64",
                "EVT_SEGMENT_INFO",
                "EVT_GEOELEMENT_TYPE",
                "EVT_POLYLINE",
                "EVT_ENCODED_POLYLINE",
                "EVT_LENGTH",
                "EVT_DURATION",
                "EVT_ENERGY_CONSUMPTION",
                "EVT_ENERGY_CONSUMPTION_SAMPLE",
                "EVT_CHARGING_STATION",
                "EVT_CHARGING_STATION_DYNAMIC",
                "EVT_TOLL_COST",
                "EVT_TAX_COST",
                "EVT_TRAFFIC",
                "EVT_TRAFFIC_PREDICTIVE",
                "EVT_TRAFFIC_HISTORICAL",
                "EVT_ROUTESHEET",
                "EVT_TRAFFIC_SIGNS",
                "EVT_WAYPOINTS"
              ],
              "x-enumDescriptions": {
                "MAPMATCH_AVOID_TUNNEL": "Avoid tunnel during the map matching of input coordinates.",
                "MAPMATCH_AVOID_BRIDGE": "Avoid bridge during the map matching of input coordinates.",
                "STARTSTOPINFO_WITHVIA": "Returns the start/stop information with via coordinates found by the routing calculation.",
                "ROUTESHEET": "Returns the route sheet.",
                "ROUTESHEET_VERBOSE_LOW": "Low level of verbosity for the route sheet (default).",
                "ROUTESHEET_VERBOSE_MEDIUM": "Medium level of verbosity for the route sheet.",
                "ROUTESHEET_VERBOSE_HIGH": "High level of verbosity for the route sheet.",
                "FENCE_SHAPE": "Enables the tests between route found and geometric fences. Return the shape of fence used to perform the test.",
                "POLYLINE": "Returns the polyline geometry of the entire itinerary. For segmentation of this geometry, see the `EVENT` and `EVT_POLYINE` options.",
                "DETAILED_POLYLINE": "Returns the polyline geometry of the itinerary with more information for each sub-segments. Deprecated, use events system (like `EVENT`, `EVT_POLYLINE`) instead.",
                "POLYLINE_INDEX": "Enables the index calculation of the used destination on the polyline. Deprecated, use events system (like `EVENT`, `EVT_POLYLINE`) instead.",
                "OPENLR": "Attempt to return the geometry of the route as an encoded OpenLR base64 string. Some routes cannot be encoded in OpenLR (like U-turns).",
                "SEGMENTIDS": "Returns the list of segment id of itinerary.",
                "ROAD_SEGMENTS": "Returns the list of road segments of the itinerary. See in response the field `roadSegments`.",
                "JUNCTION_NODES": "Returns the junction nodes of the itinerary. See in response the field `junctionNodes`.",
                "WAYPOINTS": "Returns the waypoints of itinerary. A waypoint is a coordinate with properties that can be used to reproduce the computed route on other device or server.",
                "MINIMAL_WAYPOINTS": "Sub option of `WAYPOINTS` option. Enables the minimal waypoints algorithm. By default the waypoint list contains all waypoints. This option reduces the list to the necessary waypoints to reproduce the route.",
                "WAYPOINTS_POLYLINE": "Returns the polyline of the route including the waypoints coordinate.",
                "TRAFFIC": "Use the traffic info for routing.",
                "TRAFFIC_PREDICTIVE": "Use the predictive traffic info for routing.",
                "TRAFFIC_PATTERNS": "Need the additional `DepartureTime` or `arrivalTime` parameter to work. Use the traffic patterns for routing. This option does not have any effect if the loaded SVS map data does not contain either the HERE Traffic Patterns or TomTom Speed Profiles databases.",
                "OPTIMIZED_TRIP": "Computes an optimized travel through location points. Keep the start and stop points. An optional departure date time (local time) to be used for time dependent restrictions and speeds.",
                "OPTIMIZED_TRIP_ROUND": "See `OPTIMIZED_TRIP` option. Keep the start and come back to the initial point, but don't close the route. To close the route add `OPTIMIZED_TRIP_CLOSED` option.",
                "OPTIMIZED_TRIP_UNDEFSTOP": "See `OPTIMIZED_TRIP` option. Trip from a start point to an undefined final point.",
                "OPTIMIZED_TRIP_CLOSE": "See `OPTIMIZED_TRIP` options. Close the route by performing a routing calculation between the end point and the start point of ordered input coordinates.",
                "ENERGY_CONSUMPTION": "Returns the energy consumption estimation (`energyConsumption` field). This option requires the Energy vehicle feature, see field `routingVehicleProfile` and sub field `routingEnergyVehicleFeature`.",
                "TOLL_COST": "Enables the toll cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. Deprecated replaced by EVT_TOLL_COST option.",
                "TAX_COST": "Enables the tax cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. Deprecated replaced by `EVT_TAX_COST` option.",
                "ECO_TAX": "Enables the eco-tax calculation. The Vehicle feature (vf) and Euro emission class are mandatory. You can use the additional DepartureTime parameter. Deprecated replaced by `EVT_TAX_COST` option.",
                "SORTBY_USED_ORDER": "Sort the UsedDestinations section by the value of `useOrder` field.",
                "REVGEO_STRICT_DISABLE": "Disables the exception event when a coordinate entry is not found.",
                "REVGEO_POSTAL_ADDRESS": "Returns the postal addresses of matched input coordinates.",
                "ISOCHRONE_FORWARD": "Isochrone is built in the direction of traffic flow.",
                "ISOCHRONE_BACKWARD": "Isochrone is built in reverse direction of traffic flow. (by default).",
                "OPTIMIZED_ROUTE_FOR_CHARGING_STATION": "Optimizes electric vehicles charges. Checks if the route is feasible with the. current vehicle profile and the given smart routing profile. If not, the method will try to find optimal (according to the criteria used to compute the route) charging stops. Deprecated used the EV Smart Routing API instead.",
                "MATRIX_COMPLEMENT": "Matrix complement's path weights are defined in meters if fastest mode, seconds otherwise. Also, for performance question, these weights are calculated only for couples of points which are close to each other. For other couples of points, the default value of complement is 0x0FFFFFFF.",
                "MATRIX_FOR_ROUND_OPTIM": "When using the MODE_MATRIX routing mode, this option allows faster matrix computations (by ignoring some coefficients of the matrix) if the returned matrix is intended to be consumed by an external Round Trip Optimization service. Indicates if this method is used to make a round optimization (and therefore number of destination = 0). I this case, some coefficients of the matrix will not be calculated as it is assumed they are not relevant for the route optimization. This allows a faster matrix computation.",
                "EVENT": "Enables structure of events on road. See sub options `EVT_xxxxx` other values. At a minimum the information returned is the country code of every road segment. Each event indicates the distance, travel time and percentage from start.",
                "EVT_DUPLICATE_FILTER": "Sub option of `EVENT` option. Enables filter on repeated values. Avoids repeating events on every road segments when there are no changes.",
                "EVT_ENTRY_VALUE_AS_OBJECT": "Sub option of `EVENT` option. Enables generation of entrie's values as a JSON object instead of encapsulating in a string format.",
                "EVT_ROAD_FEATURE": "Sub option of `EVENT` option. Enables the road features such as: maximum speed, bridge, tunnel, number of lanes in each direction, etc.",
                "EVT_PROHIBITED_DRIVING": "Sub option of `EVENT` option. Enables the prohibited driving information like against traffic direction (`againstTrafficDir`), prohibited turn (`prohibitedTurn`) and prohibited blocked passage (`prohibitedBlockedPassage`).",
                "EVT_ELEVATION": "Sub option of `EVENT` option. Enables the elevation of road segments. Returns the altitude of first point and last point in two entries. Deprecated, use `EVT_ELEVATION2` instead.",
                "EVT_ELEVATION2": "Sub option of `EVENT` option. Enables the elevation of road segments. Returns the altitude of first point and last point in one entry.",
                "EVT_OBJECTID_BASE64": "Add object ID information encoded in base64. An BeNomad Object ID is linked to a map data release.",
                "EVT_SEGMENT_INFO": "Sub option of `EVENT` option. Enables the road segments information. Returns the ID of road segment (if available in the map data) and the reverse direction flag that indicates if the road segment is traveled in the opposite direction of the geometry of the road in map data.",
                "EVT_GEOELEMENT_TYPE": "Sub option of `EVENT` option. Enables the road segment type: The administrative levels (`roadAdminLevel` parameter): `FOURTH_ROAD`, `TERTIARY_ROAD`, `SECONDARY_ROAD`, `MAIN_ROAD`. And the `geoElementType` parameter: `PEDESTRIAN`, `ROUNDABOUT`, `SLIP_ROAD`, `ROAD`, `MOTORWAY`, `FERRY`",
                "EVT_POLYLINE": "Sub option of `EVENT` option. Enables the polyline geometry.",
                "EVT_ENCODED_POLYLINE": "Sub option of `EVENT` option. Enables the [encoded polyline geometry](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-google-encoded-polyline-algorithm-format/).",
                "EVT_LENGTH": "Sub option of `EVENT` option. Enables length in meters of road segment.",
                "EVT_DURATION": "Sub option of `EVENT` option. Enables estimated travel duration in seconds of road segment.",
                "EVT_ENERGY_CONSUMPTION": "Sub option of `EVENT` option. Enables the autonomy limit event estimation. Additionally this option requires the Energy vehicle feature (`routingEnergyVehicleFeature`) parameter. The returned `energyEndOfAutonomyAt` field indicates the distance in meters from start. The returned `energyEndOfAutonomyCoord` field indicates the location of the autonomy limit.",
                "EVT_ENERGY_CONSUMPTION_SAMPLE": "Sub option of `EVENT` option. Enables the energy consumption estimation with samples data in events structure. Additionally this option requires the Energy vehicle feature (`routingEnergyVehicleFeature`) parameter. The returned energy sample (`EnergySample`) contains the following fields for each second: `distFromStart` in meters, `speed` in m/s, `acceleration` in m/s², `angle` in degrees, `slope` (coefficient), `cumulativeConsumption` in Wh, `pos` coordinate ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)) and altitude in meters of event.",
                "EVT_CHARGING_STATION": "Sub option of `EVENT` option. Add electrical charging station information (static data). Deprecated Use the API Charging Station.",
                "EVT_CHARGING_STATION_DYNAMIC": "Sub option of `EVENT` option. Add electrical charging station information (dynamic data). Deprecated Use the API Charging Station.",
                "EVT_TOLL_COST": "Sub option of `EVENT` option. Enables the toll cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. See the response structure `RoutingTollCst` and `Tol` of entry type `TollCost`. Contact the support for the required map data.",
                "EVT_TAX_COST": "Sub option of `EVENT` option. Enables the tax cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. See the response structure `RoutingTaxCst` and `RoutingTaxSect` of entry type `TaxCost`. Contact the support for the required map data.",
                "EVT_TRAFFIC": "Sub option of `EVENT` option. Returns the real time traffic info in event structure of type `TrafficElement`. The information contains the `jamFactor` in percentage, `reason` (text), `currentAvrSpeed` in km/h, `freeFlowAvrSpeed` in km/h, etc. NOTE: This option does not affect the route calculation, use the option `TRAFFIC` for that. Contact the support for the required map data.",
                "EVT_TRAFFIC_PREDICTIVE": "Sub option of `EVENT` option. Returns the real time predictive traffic info in event structure of type `TrafficElement`. The information contains the `jamFactor` in percentage, `reason` (text), `currentAvrSpeed` in km/h, `freeFlowAvrSpeed` in km/h, etc. NOTE: This option does not affect the route calculation. The route calculation is never affect by predictive traffic. Contact the support for the required map data.",
                "EVT_TRAFFIC_HISTORICAL": "(Beta) Sub option of `EVENT` option. Returns the historical traffic info  (i.e. the real time in the past) in event structure of type `TrafficElement`. Requires a `departureTime` in the past. The information contains the `jamFactor` in percentage, `reason` (text), `currentAvrSpeed` in km/h, `freeFlowAvrSpeed` in km/h, etc. NOTE: This option does not affect the route calculation. The route calculation is never affect by predictive traffic. Contact the support for the required map data.",
                "EVT_ROUTESHEET": "Sub option of `EVENT` option. Enables the route-sheet turn-by-turn instructions in event structure with type `Routesheet`. See the class `RoutingInstruc`.",
                "EVT_TRAFFIC_SIGNS": "Sub option of `EVENT` option. Enables the traffic sign information in event structure with type `TrafficSign`. `text` (optional) text displayed below traffic sign, `matchedCoordinate` location of traffic sign, `category`, see available values: `NOT_SUPPORTED`, `ROAD_NARROWS`, `SHARP_CURVE_LEFT`, `SHARP_CURVE_RIGHT`, `WINDING_RD_LEFT`, `WINDING_RD_RIGHT`, `STEEP_HILL_UP`, `STEEP_HILL_DOWN`, `LATERAL_WIND`, `GENERAL_WARNING`, `RISK_OF_GROUNDING`, `GENERAL_CURVE`, `GENERAL_HILL`, `OBJECT_OVERHANG`, `ST_NO_OVERTAKING`, `END_NO_OVERTAKING`, `PR_OVERTAKING_EL`, `PR_OVERTAKING_ELR`, `PR_OVERTAKING_ELL`, `LANE_MERGE_RIGHT`, `LANE_MERGE_LEFT`, `LANE_MERGE_CENTER`, `RAILWAY_CROSS_PR`, `RAILWAY_CROSS_UNPR`, `ST_NO_OVERTAKING_TRUCKS`, `END_NO_OVERTAKING_TRUCKS`, `STOP`, `END_OF_ALL_RESTRICTIONS`, `ANIMAL_CROSSING`, `ICY_CONDITIONS`, `SLIPPERY_ROAD`, `FALLING_ROCKS`, `SCHOOL_ZONE`, `TRAMWAY_CROSSING`, `CONGESTION_HAZARD`, `ACCIDENT_HAZARD`, `PRIORITY_ONCOMING`, `YIELD_ONCOMING`, `RIGHT_PRIORITY`, `PEDESTRIAN_CROSSING`, `YIELD`, `NO_ENGINE_BRAKE`, `ENDOF_NO_ENGINE_BRAKE`, `NO_IDLING`, `TRUCK_ROLLOVER`, `LOW_GEAR`, `ENDOF_LOW_GEAR`, `LIGHT`, `DOUBLE_HAIRPIN`, `TRIPLE_HAIRPIN`, `TWO_WAY_TRAFFIC`, `URBAN_AREA`, `HUMP_BRIDGE`, `UNEVEN_ROAD`, `BICYCLE_CROSSING`, `YIELD_TO_BICYCLES`, `NO_TOWED_CARAVAN`, `NO_TOWED_TRAILER`, `NO_CAMPER`, `NO_TURN_ON_RED`, `TURN_ON_RED`, `EMBANKMENT`, `FLOOD_AREA`, `OBSTACLE`, `ROAD_SPLIT`.",
                "EVT_WAYPOINTS": "Sub option of `EVENT` option. Returns the waypoints of route in event structure. A waypoint is a coordinate with properties that can be used to reproduce the computed route on other device or server."
              }
            }
          },
          "routingVehicleProfile": {
            "$ref": "#/components/schemas/RoutingVehicleProf",
            "description": "A routing vehicle profile defines physical, legal, toll and energetic characteristics."
          },
          "xyRadius": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum search radius around GPS point."
          },
          "startUTurnThreshold": {
            "type": "integer",
            "format": "int32",
            "description": "Specifies the start UTurn threshold. This value determines, at start point or any via point for which a use start angle / avoid UTurn property is set, the threshold (in 1/10th seconds / meters / Wh in resp. FASTEST / SHORTEST / ECO mode) above which the property may be ignored (default = 3000). For instance, in SHORTEST mode, if the route from start to stop leaving start point in the desired direction is more than `startUTurnThreshold` meters longer than the route from start to stop leaving start point in the opposite direction, leave the start point in the opposite direction."
          },
          "departureTime": {
            "type": "string",
            "description": "This parameter is an EPOCH timestamp in milliseconds (UTC) or a string with ISO local date time format like '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'. It is used to define the date and time of routing departure."
          },
          "arrivalTime": {
            "type": "string",
            "description": "Use this parameter to define the date and time of routing arrival. Can only work with 1 to 1 routing computation mode, no vias are currently permitted or another computation mode like 1 to n, n to 1, n to n and matrix. This parameter is an EPOCH timestamp in milliseconds (UTC) or a string with ISO local date time format like '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'. It is used to define the date and time of routing arrival."
          },
          "isoChroneLimit": {
            "type": "integer",
            "format": "int64",
            "description": "The limit of the isochrone. Either meters, seconds or watt/hour depending on the criteria argument (meters if `SHORTEST`, seconds if `FASTEST` and Wh if `ECO_ENERGY`)."
          },
          "corridorRadius": {
            "type": "integer",
            "format": "int32",
            "description": "Builds a corridor along the calculated route with the given radius. Corridor radius in meters (notes: the corridor width = 2 * `corridorRadius`)."
          },
          "fenceShapes": {
            "type": "array",
            "description": "Defines fence shapes to perform an intersection test between the route and the fences.",
            "items": {
              "$ref": "#/components/schemas/GeoFenceShp"
            }
          },
          "outputLanguage": {
            "type": "string",
            "description": "Defines the preferred language that will be used by the options `ROUTESHEET`, `EVT_ROUTESHEET`, `REVGEO_POSTAL_ADDRESS`, etc. Values of language code: An ASCII string that defines an (ISO 639-1)[https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1] (2-letter) language code."
          },
          "maxAlternativeRoutes": {
            "type": "integer",
            "format": "int32",
            "description": "Define the maximum number of alternative routes (in range between 0 to 2)."
          },
          "routingChargeFeature": {
            "$ref": "#/components/schemas/RoutingChargeFtr",
            "description": "Features of Electrical charge used during the routing calculation."
          },
          "matrixStartCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of destination points (`xy` parameter) to be used as start points (all other points will be used as stop points). `0` to disable: all destination points are used both as start and stop points."
          },
          "customData": {
            "type": "array",
            "description": "Custom data. The parameter customData can be repeated and contains a key and value.",
            "items": {
              "$ref": "#/components/schemas/CustomDt"
            }
          }
        },
        "required": [
          "destinations"
        ]
      },
      "RoutingResponse": {
        "type": "object",
        "description": "Class representing a routing response.",
        "properties": {
          "usedDestinations": {
            "type": "array",
            "description": "List of used destinations according to the request. The coordinates used for routing calculation: includes the raw coordinates and the map matched coordinates.",
            "items": {
              "$ref": "#/components/schemas/RoutingUsedDest"
            }
          },
          "routingRoutes": {
            "type": "array",
            "description": "Defines a list of computed routes.",
            "items": {
              "$ref": "#/components/schemas/RoutingRt"
            }
          }
        }
      },
      "RoutingRoadBlck": {
        "type": "object",
        "description": "Class representing a routing road block. A road block defines a speed coefficient on a specific road segment. If coefficient is 0, this will close the segment, if not it will affect speed on that segment but will only have an effect if fastest criterium is set.",
        "properties": {
          "objectIdBase64": {
            "type": "string",
            "description": "Segment object ID to apply the road block."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate WGS84."
          },
          "heading": {
            "type": "integer",
            "format": "int32",
            "description": "Heading in degrees (optional)."
          },
          "uniDirectional": {
            "type": "boolean",
            "description": "If true, this road block will only apply in direction defined by a heading (optional). Applies only if a `heading` parameter has been defined"
          },
          "ponderation": {
            "type": "number",
            "format": "float",
            "description": "The speed coefficient in range [0, 256] of this road block (0 will close the road segment)."
          },
          "ponderationType": {
            "type": "string",
            "description": "Defines if speed coefficient applies only for searching the fastest route or for calculating the route's travel time (ETA) or both. `ALL` by default.",
            "enum": [
              "ALL",
              "CAL",
              "ETA"
            ],
            "x-enumDescriptions": {
              "ALL": "Speed coefficient applies both for finding the fastest route and calculating its ETA. Default value.",
              "CAL": "Speed coefficient applies only searching for the fastest route (only when fastest criteria is set).",
              "ETA": "Speed coefficient applies only for calculating route's travel time (ETA)."
            }
          }
        }
      },
      "RoutingRouteStartStopInf": {
        "type": "object",
        "description": "Class representing a routing route start/stop information.",
        "properties": {
          "start": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Start (first) coordinate of the computed route."
          },
          "stop": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Stop (last) coordinate of the computed route."
          },
          "distanceFirstMatched": {
            "type": "number",
            "format": "double",
            "description": "Distance between first matched coordinate and the start coordinate of route found by the routing calculation. This distance is not 0 when the input matched coordinate is unaccessible."
          },
          "distanceLastMatched": {
            "type": "number",
            "format": "double",
            "description": "Distance between last matched coordinate and the stop coordinate of route found by the routing calculation. This distance is not 0 when the input matched coordinate is unaccessible."
          },
          "interDests": {
            "type": "array",
            "description": "List of intermediate destination coordinates reached by the computed route.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          }
        }
      },
      "RoutingRt": {
        "type": "object",
        "description": "Class representing a computed route.",
        "properties": {
          "exceptionMessage": {
            "type": "string",
            "description": "Error message returned when the route is not feasible."
          },
          "length": {
            "type": "integer",
            "format": "int64",
            "description": "Length of route in meters."
          },
          "duration": {
            "type": "integer",
            "format": "int64",
            "description": "Total driving time in seconds."
          },
          "totalDuration": {
            "type": "integer",
            "format": "int64",
            "description": "The total duration in seconds represent the duration of travel + stop time."
          },
          "trafficDelay": {
            "type": "integer",
            "format": "int64",
            "description": "Delay in seconds due to real time traffic and statistical traffic."
          },
          "departureTime": {
            "type": "integer",
            "format": "int64"
          },
          "arrivalTime": {
            "type": "integer",
            "format": "int64"
          },
          "averageSpeed": {
            "type": "number",
            "format": "float",
            "description": "Average speed in km/h."
          },
          "maximumSpeed": {
            "type": "number",
            "format": "float",
            "description": "Maximum speed in km/h."
          },
          "startUTurnThreshold": {
            "type": "integer",
            "format": "int32",
            "description": "The start UTurn threshold. This value determines, at start point or any via point for which a use start angle / avoid UTurn property is set, the threshold (in 1/10th seconds / meters / Wh in resp. FASTEST / SHORTEST / ECO mode) above which the property may be ignored. For instance, in SHORTEST mode, if the route from start to stop leaving start point in the desired direction is more than `startUTurnThreshold` meters longer than the route from start to stop leaving start point in the opposite direction, leave the start point in the opposite direction."
          },
          "energyConsumption": {
            "type": "number",
            "format": "double",
            "description": "Energy needed to travel route, in kWh. See options `ENERGY_CONSUMPTION`, `EVT_ENERGY_CONSUMPTION`."
          },
          "routingTollCost": {
            "$ref": "#/components/schemas/RoutingTollCst",
            "description": "Total toll cost range along the route. See option `EVT_TOLL_COST`."
          },
          "routingTaxCost": {
            "$ref": "#/components/schemas/RoutingTaxCst",
            "description": "Total tax cost range along the route. See option `EVT_TAX_COST`."
          },
          "routingInstructions": {
            "type": "array",
            "description": "List of guidance instructions. Use `ROUTESHEET` option in request.",
            "items": {
              "$ref": "#/components/schemas/RoutingInstruc"
            }
          },
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Bounding box of the route."
          },
          "corridor": {
            "type": "array",
            "description": "Corridor around the route. Use the parameter `corridorRadius` in request.",
            "items": {
              "$ref": "#/components/schemas/GeometricPoly"
            }
          },
          "fenceResults": {
            "type": "array",
            "description": "List of tested fences.",
            "items": {
              "$ref": "#/components/schemas/GeoFenceRes"
            }
          },
          "startStopInfo": {
            "$ref": "#/components/schemas/RoutingRouteStartStopInf",
            "description": "Information about the start and stop coordinates of a route found by the routing calculation."
          },
          "polyline": {
            "type": "array",
            "description": "Route polyline geometry. See the option `POLYLINE`.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "detailedPolylines": {
            "type": "array",
            "deprecated": true,
            "description": "Polyline geometry of itinerary with more information for each sub-segments. See the option `DETAILED_POLYLINE`. Deprecated Use events system (like `EVENT`, `EVT_POLYLINE`) instead.",
            "items": {
              "$ref": "#/components/schemas/GeometricDetPolyline"
            }
          },
          "openLrBase64": {
            "type": "string",
            "description": "Route geometry encoded as OpenLR (in base64 encoding)."
          },
          "segmentIds": {
            "type": "array",
            "deprecated": true,
            "description": "List of segment ID of computed route.",
            "items": {
              "type": "integer",
              "format": "int64",
              "deprecated": true
            }
          },
          "roadSegments": {
            "type": "array",
            "deprecated": true,
            "description": "Route segments. Deprecated use events system (like `EVENT`, `EVT_SEGMENT_INFO`, `EVT_POLYLINE`) instead.",
            "items": {
              "$ref": "#/components/schemas/RoadSeg"
            }
          },
          "junctionNodes": {
            "type": "array",
            "deprecated": true,
            "description": "Junction nodes of route.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "waypoints": {
            "type": "array",
            "description": "Waypoints of route.",
            "items": {
              "$ref": "#/components/schemas/RoutingWaypnt"
            }
          },
          "waypointPolyline": {
            "type": "array",
            "description": "Waypoints polyline of route. This polyline is composed of the coordinates of the route with inserted waypoint matched coordinates.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "events": {
            "type": "array",
            "description": "Events on road. See the `EVENT` option.",
            "items": {
              "$ref": "#/components/schemas/RoutingEvnt"
            }
          }
        }
      },
      "RoutingSpeedPond": {
        "type": "object",
        "description": "Class representing a routing speed ponderation. Defines a speed coefficient for the specified road element's classification. Note: This parameter has no effect on Traceroute service.",
        "properties": {
          "factor": {
            "type": "number",
            "format": "float",
            "description": "Specifies the speed coefficient. A value under 1 to reduce the speed, e.g: 0.8. A value over 1 to increase the speed, e.g: 1.3. `1` by default."
          },
          "level": {
            "type": "integer",
            "format": "int32",
            "description": "Road element's level (0: all 4 levels, 1: main level, 2: secondary level, 3: third level, 4: fourth level)."
          },
          "roadType": {
            "type": "string",
            "description": "Define the road type.",
            "enum": [
              "ALL",
              "DEFAULT",
              "FERRY",
              "MOTORWAY",
              "PEDESTRIAN",
              "ROUNDABOUNT",
              "SLIPROAD"
            ],
            "x-enumDescriptions": {
              "ALL": "All road network.",
              "DEFAULT": "Default.",
              "FERRY": "Ferry line.",
              "MOTORWAY": "Motorway.",
              "PEDESTRIAN": "Pedestrian.",
              "ROUNDABOUNT": "Roundabout.",
              "SLIPROAD": "Slip road."
            }
          },
          "pondType": {
            "type": "string",
            "description": "Define the ponderation type.",
            "enum": [
              "ALL",
              "CAL",
              "ETA"
            ],
            "x-enumDescriptions": {
              "ALL": "Speed coefficient applies both for finding the fastest route and calculating its ETA. Default value.",
              "CAL": "Speed coefficient applies only searching for the fastest route (only when fastest criteria is set).",
              "ETA": "Speed coefficient applies only for calculating route's travel time (ETA)."
            }
          }
        },
        "required": [
          "factor",
          "level"
        ]
      },
      "RoutingSumF": {
        "type": "object",
        "description": "Class representing the range of total toll or tax fees of a route. Depending of how precise the vehicle profile (field `routingVehicleProfile`) has been defined, the total toll or tax fees can be within a range (`feeMin`, `feeMax`) more or less wide.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency in norm ISO 4217, more details on Wikipedia ISO 4217 https://en.wikipedia.org/wiki/ISO_4217."
          },
          "feeMin": {
            "type": "number",
            "format": "double",
            "description": "The minimum fee."
          },
          "feeMax": {
            "type": "number",
            "format": "double",
            "description": "The maximum fee."
          }
        }
      },
      "RoutingTaxCst": {
        "type": "object",
        "description": "Class representing tax cost information of a route.",
        "properties": {
          "taxSections": {
            "type": "array",
            "description": "List of tax sections.",
            "items": {
              "$ref": "#/components/schemas/RoutingTaxSect"
            }
          },
          "sumFees": {
            "type": "array",
            "description": "List of total tax fees of route. In most cases this list contains only one entry. Only when the tax fees along the route use several currencies will the list contains several entries (one for each currency).",
            "items": {
              "$ref": "#/components/schemas/RoutingSumF"
            }
          }
        }
      },
      "RoutingTaxSect": {
        "type": "object",
        "description": "Class representing a tax section of a route.",
        "properties": {
          "taxCategory": {
            "type": "string",
            "description": "Tax category.",
            "enum": [
              "TAX_CATEGORY_NONE",
              "TAX_CATEGORY_1",
              "TAX_CATEGORY_2",
              "TAX_CATEGORY_3"
            ],
            "x-enumDescriptions": {
              "TAX_CATEGORY_NONE": "No tax.",
              "TAX_CATEGORY_1": "Tax category 1.",
              "TAX_CATEGORY_2": "Tax category 2.",
              "TAX_CATEGORY_3": "Tax category 3."
            }
          },
          "meanOfPayments": {
            "type": "array",
            "description": "List of mean of payment.",
            "items": {
              "type": "string",
              "enum": [
                "PAYMENT_CASH",
                "PAYMENT_BANK_CARD",
                "PAYMENT_CREDIT_CARD",
                "PAYMENT_PASS_SUBSCRIPTION",
                "PAYMENT_TRANSPONDER",
                "PAYMENT_VIDEO_TOLL_CHARGE",
                "PAYMENT_EXACT_CASH",
                "PAYMENT_TRAVEL_CARD"
              ],
              "x-enumDescriptions": {
                "PAYMENT_CASH": "Cash.",
                "PAYMENT_BANK_CARD": "Bank card.",
                "PAYMENT_CREDIT_CARD": "Credit card.",
                "PAYMENT_PASS_SUBSCRIPTION": "Pass or subscription.",
                "PAYMENT_TRANSPONDER": "Transponder.",
                "PAYMENT_VIDEO_TOLL_CHARGE": "Video toll charge.",
                "PAYMENT_EXACT_CASH": "Exact cash.",
                "PAYMENT_TRAVEL_CARD": "Travel card."
              }
            }
          },
          "countryCode": {
            "type": "string",
            "description": "The ISO country code ([ISO 3166 alpha 3](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)) of current tax section."
          },
          "length": {
            "type": "integer",
            "format": "int32",
            "description": "Length of section in meters."
          },
          "firstFrmIdx": {
            "type": "integer",
            "format": "int32",
            "description": "Index of the first route's segment event of the tax section. See the options `EVENT`, `EVT_POLYLINE`, `EVT_SEGMENT_INFO`."
          },
          "lastFrmIdx": {
            "type": "integer",
            "format": "int32",
            "description": "Index of the last route's segment event of the tax section. See the options `EVENT`, `EVT_POLYLINE`, `EVT_SEGMENT_INFO`."
          },
          "taxCharges": {
            "type": "array",
            "description": "List of tax charge.",
            "items": {
              "$ref": "#/components/schemas/TaxChrg"
            }
          }
        }
      },
      "RoutingTollCst": {
        "type": "object",
        "description": "Class representing toll cost information of a route.",
        "properties": {
          "tolls": {
            "type": "array",
            "description": "List of tolls.",
            "items": {
              "$ref": "#/components/schemas/Tol"
            }
          },
          "sumFees": {
            "type": "array",
            "description": "List of total toll fees of route. In most cases this list contains only one entry. Only when the toll fees along the route use several currencies will the list contains several entries (one for each currency).",
            "items": {
              "$ref": "#/components/schemas/RoutingSumF"
            }
          }
        }
      },
      "RoutingUsedDest": {
        "type": "object",
        "description": "Class representing coordinates used for routing calculation: includes the raw coordinates and the map matched coordinates.",
        "properties": {
          "inputOrder": {
            "type": "integer",
            "format": "int32",
            "description": "Original order number of input coordinates."
          },
          "used": {
            "type": "boolean",
            "description": "Indicates if this coordinate has been used by the routing calculator."
          },
          "usedOrder": {
            "type": "integer",
            "format": "int32",
            "description": "Final order number of input coordinates. The order can be changed by options `OPTIMIZED_TRIP`, `OPTIMIZED_TRIP_CLOSE`, `OPTIMIZED_TRIP_ROUND`, `OPTIMIZED_TRIP_UNDEFSTOP`."
          },
          "matchedCoordinateGps": {
            "$ref": "#/components/schemas/CoordinateSat",
            "description": "Map matched coordinate (i.e. snapped on a map road element)."
          },
          "matchedPostalAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Postal address of map matched coordinate."
          },
          "confidenceValue": {
            "type": "number",
            "format": "double",
            "description": "Confidence score of map matched coordinate in range ]0,1]."
          },
          "distanceFromRequest": {
            "type": "number",
            "format": "double",
            "description": "Distance in meters between raw coordinate and map matched coordinate."
          },
          "exceptionMessage": {
            "type": "string",
            "description": "The exception message of the destination. Returned only when the option `REVGEO_STRICT_DISABLE` is defined in request."
          },
          "polylineIndex": {
            "type": "integer",
            "format": "int64",
            "deprecated": true,
            "description": "The index of corresponding coordinate in route's polyline. Only when the option `POLYLINE_INDEX` is defined in request, otherwise the value is set to `-1`."
          },
          "waypointPolylineIndex": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "duration": {
            "type": "integer",
            "format": "int64",
            "description": "The travel time (ETA) in seconds from start coordinate of this destination."
          },
          "length": {
            "type": "integer",
            "format": "int64",
            "description": "The length in meters from start coordinate of this destination."
          },
          "customData": {
            "type": "array",
            "description": "Custom data is a list that can be used to set some custom information about the destination in input.",
            "items": {
              "$ref": "#/components/schemas/CustomDt"
            }
          }
        }
      },
      "RoutingVehicleFtr": {
        "type": "object",
        "description": "Class representing a routing vehicle features. A routing vehicle feature defines physical, legal and toll characteristics. The map data contains restrictions which are related to vehicle features such as: height, width, length, weight and hazardous materials. Therefore the vehicle features can affect the route calculation. Routing vehicle features can also affect toll and tax cost calculation.",
        "properties": {
          "height": {
            "type": "integer",
            "format": "int32",
            "description": "Height of vehicle in centimeters. Affects route calculation. Physical restriction."
          },
          "width": {
            "type": "integer",
            "format": "int32",
            "description": "Width of vehicle in centimeters. Affects route calculation. Physical restriction."
          },
          "length": {
            "type": "integer",
            "format": "int32",
            "description": "Length of vehicle in centimeters. Affects route calculation. Physical restriction."
          },
          "weight": {
            "type": "integer",
            "format": "int32",
            "description": "Weight of vehicle in tens of metric tons, i.e.: `35` = 3.5t. Affects route calculation. Legal and physical restrictions."
          },
          "axleWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Axle weight in tens of metric tons, i.e.: `12` = 1.2t. Affects route calculation. Legal and physical restrictions."
          },
          "hazardousMaterials": {
            "type": "string",
            "description": "Hazardous materials carried by the vehicle. Affects route calculation. Legal restriction.",
            "enum": [
              "NONE",
              "ALL",
              "EXPLOSIVE",
              "WATER",
              "US_CORROSIVE",
              "US_EXPLOSIVES",
              "US_FLAM",
              "US_FLAM_SOL",
              "US_GAS",
              "US_ORGANIC",
              "US_OTHER",
              "US_PIH",
              "US_POISON",
              "US_RADIO_ACTIVE",
              "TUNNEL_CAT_B",
              "TUNNEL_CAT_B1000C",
              "TUNNEL_CAT_BD",
              "TUNNEL_CAT_BE",
              "TUNNEL_CAT_C",
              "TUNNEL_CAT_C5000D",
              "TUNNEL_CAT_CD",
              "TUNNEL_CAT_CE",
              "TUNNEL_CAT_D",
              "TUNNEL_CAT_DE",
              "TUNNEL_CAT_E"
            ],
            "x-enumDescriptions": {
              "NONE": "No hazardous material.",
              "ALL": "General hazardous materials.",
              "EXPLOSIVE": "Trucks with Explosive and Flammable Goods.",
              "WATER": "Trucks with Goods Harmful for Water.",
              "US_CORROSIVE": "USA only : Corrosive materials (e.g., hydrochloric acid, sulfuric acid, mercury, sodium hydroxide).",
              "US_EXPLOSIVES": "USA only : Explosives (e.g., TNT, ammunition, flares, fireworks).",
              "US_FLAM": "USA only : Flammable and combustible liquids (e.g., jet fuel, gasoline, fuel oil, alcohols).",
              "US_FLAM_SOL": "USA only : Flammable solids, spontaneously combustible materials and water reactive substances (e.g., matches, white phosphorus, potassium).",
              "US_GAS": "USA only : Flammable, compressed and poisonous gases (e.g., propane, compressed oxygen, chlorine).",
              "US_ORGANIC": "USA only : Oxidizers and organic peroxides (e.g., ammonium nitrate and benzoyl peroxide).",
              "US_OTHER": "USA only : Miscellaneous hazardous materials (e.g., asbestos, dry ice, lithium batteries).",
              "US_PIH": "USA only : Poisonous inhalation hazards (PIH).",
              "US_POISON": "USA only : Poisonous (toxic) and infectious substances (e.g., cyanide, most mercury-based compounds, viruses, toxins and regulated medical waste).",
              "US_RADIO_ACTIVE": "USA only : Radioactive materials (e.g., plutonium-239 and uranium-235).",
              "TUNNEL_CAT_B": "Tunnel Category B.",
              "TUNNEL_CAT_B1000C": "Tunnel Category B1000C.",
              "TUNNEL_CAT_BD": "Tunnel Category B/D.",
              "TUNNEL_CAT_BE": "Tunnel Category B/E.",
              "TUNNEL_CAT_C": "Tunnel Category C.",
              "TUNNEL_CAT_C5000D": "Tunnel Category C5000D.",
              "TUNNEL_CAT_CD": "Tunnel Category C/D.",
              "TUNNEL_CAT_CE": "Tunnel Category C/E.",
              "TUNNEL_CAT_D": "Tunnel Category D.",
              "TUNNEL_CAT_DE": "Tunnel Category D/E.",
              "TUNNEL_CAT_E": "Tunnel Category E."
            }
          },
          "nbTrailer": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's number of trailers (`-1`: not defined, `0`: no trailer). Affects route calculation. Legal restriction."
          },
          "tollTransportCategory": {
            "type": "string",
            "description": "Defines the toll vehicle category. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "MOTORCYCLE",
              "AUTO",
              "TRUCK",
              "MOTOR_HOME",
              "MINIBUS",
              "BUS",
              "SIDECAR",
              "TRICYCLE",
              "DLV_TRUCK",
              "SNOWMOBILE",
              "PICK_UP",
              "TRACTOR"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "MOTORCYCLE": "Motorcycle.",
              "AUTO": "Automobile.",
              "TRUCK": "Truck.",
              "MOTOR_HOME": "Motor home.",
              "MINIBUS": "Mini bus.",
              "BUS": "Bus.",
              "SIDECAR": "Sidecar (EU only).",
              "TRICYCLE": "Tricycle (EU only).",
              "DLV_TRUCK": "Delivery truck (EU only).",
              "SNOWMOBILE": "Snowmobile (US only).",
              "PICK_UP": "Pick up (US only).",
              "TRACTOR": "Tractor (US only)."
            }
          },
          "caravan": {
            "type": "string",
            "description": "Defines if the vehicle has a caravan. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "hybrid": {
            "type": "string",
            "description": "Defines if vehicle has a hybrid engine. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "disEquipped": {
            "type": "string",
            "description": "Defines if vehicle is equipped for disabled people. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "pollMin": {
            "type": "string",
            "description": "Defines if vehicle has minimal pollution. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "hov": {
            "type": "string",
            "description": "Defines if vehicle is a High Occupancy Vehicle (USA only). See [Wikipedia: High-occupancy vehicle lane](http://en.wikipedia.org/wiki/High-occupancy_vehicle_lane). Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "cial": {
            "type": "string",
            "description": "Defines if vehicle is a commercial vehicle. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "nbVehAxles": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of axles of the vehicle (optional). Affects toll calculation."
          },
          "nbTrailAxles": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of axles of the trailer (optional). Affects toll calculation."
          },
          "nbTires": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of tires (optional). Affects toll calculation."
          },
          "nbPassengers": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of passengers (optional). Affects toll calculation."
          },
          "vehHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Defines vehicle's height in centimeters (optional, use field `height` to define total height : vehicle + trailer). Affects toll calculation."
          },
          "trailHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Defines trailer's height in centimeters (optional, use field `height` to define total height : vehicle + trailer). Affects toll calculation."
          },
          "vehWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Defines vehicle's weight in tens of tons (optional, use field `weight` to define total weight : vehicle + trailer). Affects toll calculation."
          },
          "emissionClass": {
            "type": "string",
            "description": "Defines vehicle's emission type (optional). See [Wikipedia: European emission standards](http://en.wikipedia.org/wiki/European_emission_standards). Affects toll calculation.",
            "enum": [
              "UNDEFINED",
              "EURO1",
              "EURO2",
              "EURO3",
              "EURO4",
              "EURO5",
              "EURO6",
              "EURO_EEV",
              "ELECTRIC",
              "EURO0",
              "EURO2_PRC",
              "EURO3_PRC",
              "EURO6_CO2_1",
              "EURO6_CO2_2",
              "EURO6_CO2_3",
              "EURO6_CO2_4",
              "EURO6_CO2_5",
              "MAX"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "EURO1": "EURO I.",
              "EURO2": "EURO II.",
              "EURO3": "EURO III.",
              "EURO4": "EURO IV.",
              "EURO5": "EURO V.",
              "EURO6": "EURO VI.",
              "EURO_EEV": "EURO EEV.",
              "ELECTRIC": "EURO Electric.",
              "EURO0": "EURO 0",
              "EURO2_PRC": "EURO II with PRC (Particle Reduction Composite/System)",
              "EURO3_PRC": "EURO III with PRC (Particle Reduction Composite/System)",
              "EURO6_CO2_1": "EURO VI CO2 1",
              "EURO6_CO2_2": "EURO VI CO2 2",
              "EURO6_CO2_3": "EURO VI CO2 3",
              "EURO6_CO2_4": "EURO VI CO2 4",
              "EURO6_CO2_5": "EURO VI CO2 5",
              "MAX": "Maximal value."
            }
          },
          "adrTunnelCategory": {
            "type": "string",
            "description": "ADR tunnel category defines all supported ADR (EU only, European Agreement concerning the International Carriage of Dangerous Goods by Road). Affects route calculation.",
            "enum": [
              "NONE",
              "CAT_B",
              "CAT_C",
              "CAT_D",
              "CAT_E"
            ],
            "x-enumDescriptions": {
              "NONE": "No tunnel category restriction (category A).",
              "CAT_B": "Tunnel Category B.",
              "CAT_C": "Tunnel Category C.",
              "CAT_D": "Tunnel Category D.",
              "CAT_E": "Tunnel Category E."
            }
          },
          "onlyPhysical": {
            "type": "boolean",
            "description": "Defines if vehicle's weight (weight, weight per axle and trailers) and hazardous materials (hazardous materials and ADR) should be ignored outside respectively bridges and tunnels. `false` by default. Affects route calculation."
          }
        }
      },
      "RoutingVehicleProf": {
        "type": "object",
        "description": "Class representing a routing vehicle profile. A routing vehicle profile defines physical, legal, toll and energetic characteristics.",
        "properties": {
          "transportMode": {
            "type": "string",
            "description": "Defines the transportation mode: Car, pedestrian, truck, etc. Default value is `CAR`, except for Traceroute service for which default value is `EMERGENCY`. The map data contains information which are related to transportation mode such as: traffic directions, turn restrictions and road accessibility. Therefore the transportation mode can affect the route calculation.",
            "enum": [
              "PEDESTRIAN",
              "BICYCLE",
              "MOTORCYCLE",
              "CAR",
              "TAXI",
              "PUBLIC_BUS",
              "EMERGENCY",
              "DELIVERY_TRUCK",
              "TRUCK"
            ],
            "x-enumDescriptions": {
              "PEDESTRIAN": "Pedestrian.",
              "BICYCLE": "Bicycle.",
              "MOTORCYCLE": "Motorcycle.",
              "CAR": "Passenger car.",
              "TAXI": "Taxi.",
              "PUBLIC_BUS": "Public bus.",
              "EMERGENCY": "Emergency vehicle.",
              "DELIVERY_TRUCK": "Delivery truck. Deprecated, use `TRUCK` instead.",
              "TRUCK": "Truck."
            }
          },
          "maxSpeeds": {
            "type": "array",
            "description": "Defines a maximum speed in km/h for the vehicle. It is possible to discriminate two different maximum speeds: one to be used for route calculation (`CAL`) and another one for route time estimation (`ETA`). By default (`ALL`) the speed applies to both cases.",
            "items": {
              "$ref": "#/components/schemas/RoutingMaxSpd"
            }
          },
          "routingVehicleFeature": {
            "$ref": "#/components/schemas/RoutingVehicleFtr",
            "description": "Defines the routing vehicle feature. A routing vehicle feature defines physical, legal and toll characteristics."
          },
          "routingEnergyVehicleFeature": {
            "$ref": "#/components/schemas/RoutingEnergyVehicleFtr",
            "description": "Energy vehicle feature for energy consumption estimation."
          },
          "routingEnergyVehicleConnectorTypeIds": {
            "type": "array",
            "deprecated": true,
            "description": "Connector (plug) type of electrical vehicle, used for energy consumption estimation. Deprecated Use the API Charging Station.",
            "items": {
              "type": "integer",
              "format": "int32",
              "deprecated": true
            }
          },
          "routingEnergyVehicleRanges": {
            "type": "array",
            "deprecated": true,
            "description": "Energy vehicle range. Define the pre-calculated electric vehicle autonomy in meters.",
            "items": {
              "type": "integer",
              "format": "int64",
              "deprecated": true
            }
          },
          "chargingStationProviderName": {
            "type": "string",
            "deprecated": true,
            "description": "Name of charging station provider used to research the chargning station pools. Deprecated Use the API Charging Station."
          },
          "routingSpeedPonderations": {
            "type": "array",
            "description": "Defines a speed coefficient for the specified road element's classification. Note: This parameter has no effect on the Traceroute service.",
            "items": {
              "$ref": "#/components/schemas/RoutingSpeedPond"
            }
          },
          "routingCrossPenaltiesCoefficients": {
            "type": "array",
            "description": "Defines a cross-penalties coefficient for the specified road element's classification. Note: This parameter has no effect on the Traceroute service.",
            "items": {
              "$ref": "#/components/schemas/RoutingCrossPenaltiesCoef"
            }
          }
        }
      },
      "RoutingWaypnt": {
        "type": "object",
        "description": "Class representing a routing waypoint. A waypoint is a coordinate with properties that can be used to reproduce the computed trip on other device or server.",
        "properties": {
          "usedDestinationIndex": {
            "type": "integer",
            "format": "int32",
            "description": "The index of the used destinations (destinations). -1 if not available."
          },
          "polylineIndex": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "The index of the waypoint polyline. -1 if not available."
          },
          "waypointPolylineIndex": {
            "type": "integer",
            "format": "int32",
            "description": "The coordinate index of the waypoint polyline."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate of waypoint."
          },
          "angle": {
            "type": "number",
            "format": "double",
            "description": "Angle in degrees of the road segment (clock-wise)."
          },
          "radius": {
            "type": "integer",
            "format": "int64",
            "description": "Radius (in meters) of the waypoint."
          },
          "uturn": {
            "type": "boolean",
            "description": "Defines if a UTurn is done on this via point."
          },
          "ignorePoint": {
            "type": "boolean",
            "description": "Defines if this waypoint is ignored by the planner for its route calculation."
          },
          "ignoreTrafficDirections": {
            "type": "boolean",
            "description": "Defines if traffic directions should be ignored by route planner between this waypoint and next one."
          },
          "ignoreRoadBlocks": {
            "type": "boolean",
            "description": "Defines if road blocks should be ignored by route planner between this waypoint and next one."
          },
          "ignoreRestrictions": {
            "type": "boolean",
            "description": "Defines if forbidden manoeuvres and blocked passages should be ignored by route planner between this waypoint and next one."
          },
          "avoidUTurn": {
            "type": "string",
            "description": "Defines if a UTurn should be avoided (if possible) by route planner at this location.",
            "enum": [
              "UNDEF",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEF": "Status undefined.",
              "YES": "Status yes.",
              "NO": "Status no."
            }
          },
          "useStartAngle": {
            "type": "string",
            "description": "If set to `YES` and location is on is on a 2 way road, location's angle will be used as a general direction for departure from location.",
            "enum": [
              "UNDEF",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEF": "Status undefined.",
              "YES": "Status yes.",
              "NO": "Status no."
            }
          },
          "useStopRoadSide": {
            "type": "string",
            "description": "Defines if route planner must arrive on this waypoint on waypoint's side (if waypoint is on a 2 way road).",
            "enum": [
              "UNDEF",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEF": "Status undefined.",
              "YES": "Status yes.",
              "NO": "Status no."
            }
          },
          "offRoad": {
            "$ref": "#/components/schemas/RoutingOffRd",
            "description": "Polyline representing the offroad section following this waypoint."
          }
        }
      },
      "SpeedPonderationFront": {
        "type": "object",
        "description": "Class representing a routing speed ponderation.",
        "properties": {
          "factor": {
            "type": "number",
            "format": "float",
            "description": "Specifies a new ponderation factor for speeds (Default = 1). A value under 0 to reduce the speed, i.g: 0.8. A value upper to 1 for increase the speed, i.g: 1.3."
          },
          "level": {
            "type": "integer",
            "format": "int32",
            "description": "Road network level (0: all 4 levels, 1: main level, 2: secondary level, 3: third level, 4: fourth level)."
          },
          "roadType": {
            "type": "string",
            "description": "Define the road type.",
            "enum": [
              "ALL",
              "DEFAULT",
              "FERRY",
              "MOTORWAY",
              "PEDESTRIAN",
              "ROUNDABOUNT",
              "SLIPROAD"
            ],
            "x-enumDescriptions": {
              "ALL": "All road network.",
              "DEFAULT": "Default.",
              "FERRY": "Ferries way.",
              "MOTORWAY": "Motor-way.",
              "PEDESTRIAN": "Pedestrian.",
              "ROUNDABOUNT": "Roundabout.",
              "SLIPROAD": "Slip road."
            }
          },
          "pondType": {
            "type": "string",
            "description": "Define the ponderation type.",
            "enum": [
              "ALL",
              "CAL",
              "ETA"
            ],
            "x-enumDescriptions": {
              "ALL": "Speed coefficient applies both for finding the fastest route and calculating its ETA. Default value.",
              "CAL": "Speed coefficient applies only searching for the fastest route.",
              "ETA": "Speed coefficient applies only for calculating route's travel time (ETA)."
            }
          }
        },
        "required": [
          "factor",
          "level"
        ]
      },
      "StepPointFront": {
        "type": "object",
        "description": "Class describing a step point.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of pool, come from the provider."
          },
          "operatorId": {
            "type": "string",
            "description": "Operator unique identifier like eMI3 format."
          },
          "brand": {
            "type": "string",
            "description": "Brand name of pool."
          },
          "nameOfPool": {
            "type": "string",
            "description": "Name of pool."
          },
          "accessibility": {
            "type": "string",
            "description": "Define the accessibility of a pool of charging station."
          },
          "availabilityStatus": {
            "type": "string",
            "description": "Define the status of availability."
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal (WGS84) (double)."
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal (WGS84) (double)."
          },
          "distance": {
            "type": "integer",
            "format": "int64",
            "description": "Distance between this step-point and previous step-point or start point, in meters."
          },
          "duration": {
            "type": "integer",
            "format": "int64",
            "description": "Duration of travel between this step-point and previous step-point or start point in seconds."
          },
          "arrivalTime": {
            "type": "integer",
            "format": "int64",
            "description": "Time stamp in milliseconds of arrival to the step point."
          },
          "departureTime": {
            "type": "integer",
            "format": "int64",
            "description": "Time stamp in milliseconds of departure from the step point."
          },
          "consumed": {
            "type": "number",
            "format": "double",
            "description": "Battery capacity consumed in kWh."
          },
          "arrivalBatteryLevel": {
            "type": "number",
            "format": "double",
            "description": "Battery level at arrival to the step point (in percent)."
          },
          "departureBatteryLevel": {
            "type": "number",
            "format": "double",
            "description": "Battery level at departure of step point (in percent)."
          },
          "chargingPower": {
            "$ref": "#/components/schemas/ChargingPower",
            "description": "Power in kW will used to charge the vehicle battery. This information override the power of charging point."
          },
          "chargingTime": {
            "type": "integer",
            "format": "int64",
            "description": "Charging time in seconds."
          },
          "chargingCost": {
            "$ref": "#/components/schemas/ChargingCost",
            "description": "Charging cost."
          },
          "weather": {
            "$ref": "#/components/schemas/LocalWeather",
            "description": "Weather condition at Step point."
          },
          "countryCode": {
            "type": "string",
            "description": "ISO country code, 2 digits."
          },
          "country": {
            "type": "string",
            "description": "Country name."
          },
          "postalCode": {
            "type": "string",
            "description": "Zip code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "street": {
            "type": "string",
            "description": "Street name."
          },
          "streetNumber": {
            "type": "string",
            "description": "House number."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "timeZone": {
            "type": "string",
            "description": "Time zone. One of IANA tzdata's TZ-values representing the time zone of the location. Examples: \"Europe/Oslo\", \"Europe/Zurich\". (http://www.iana.org/time-zones)"
          },
          "open24x7": {
            "type": "boolean",
            "description": "Pool is opened 24x7 hours."
          },
          "openingHours": {
            "type": "array",
            "description": "List of opening hours.",
            "items": {
              "$ref": "#/components/schemas/PoolOpeningHour"
            }
          },
          "comment": {
            "type": "string",
            "description": "Comment."
          },
          "images": {
            "type": "array",
            "description": "Links to images related to the location such as photos or logos.",
            "items": {
              "$ref": "#/components/schemas/ImageUrl"
            }
          },
          "chargingStations": {
            "type": "array",
            "description": "List of charging stations.",
            "items": {
              "$ref": "#/components/schemas/ChargingStation"
            }
          },
          "theoreticalOptimalSpeed": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Theoretical optimal speed in km/h. Deprecated replaced by `maxSpeed`."
          },
          "optimalSpeedProposal": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Optimal speed proposal in km/h. Deprecated replaced by `maxSpeed`."
          },
          "maxSpeed": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum speeds in km/h recommended by calculation from this step-point coordinate to the stop or next step-point coordinate. To enable this computation use the parameter `allowMaxSpdReco` in the request. Note: to get the maximum speed from the start to the first step-point or stop point see the `inputInfo.maxSpeed` field."
          }
        }
      },
      "StepPointTimeSlot": {
        "type": "object",
        "description": "Represents a time slot which will be used to charge the vehicle. It is defined by a begin date/time an end date/time and a stop duration in seconds. For EV Smart Routing, StepPointTimeSlot is valid if:\n  - A departure date and time has been set.\n  - Beginning of the time slot is before end of the time slot.\n  - Stop time duration is strictly superior to the step-point's plugging time.\n  - Beginning time plus stop time duration is inferior or equal to end time.\n  - Time slot's begin should be after the departure time.\n  - Time slot's end should be before arrival time once stop is reachable.\n\n >Note: If forced charges are defined, they take priority over charge times.\n\n",
        "properties": {
          "duration": {
            "type": "integer",
            "format": "int32",
            "description": "Stop duration in seconds."
          },
          "startDateTime": {
            "type": "string",
            "description": "Start local date time in text format ISO YYYY-MM-DDThh:mm:ss (e.g: 2020-09-08T12:28:00)."
          },
          "stopDateTime": {
            "type": "string",
            "description": "Stop local date time in text format ISO YYYY-MM-DDThh:mm:ss (e.g: 2020-09-08T12:28:00)."
          },
          "serviceCategory": {
            "type": "string",
            "description": "Service category that can be associated to a time slot. This parameter describes, in combination with an optional maximum pedestrian walking distance (see parameter `maxWalkingDistance`), a boolean expression with all the services requested or unwanted.\nSemantics:\n  - `!`: not (unary).\n  - `|`: or (binary).\n  - `&`: and (binary).\n  - `(`: open section.\n  - `)`: close section.\n  - POI Class ID (numeric value defining the type of service, see the `Class ID list` in Glossary menu).\nFor example to specify that you want either a restaurant OR a grocery store AND NOT a rest area, the corresponding expression is: (7315|9105)&!7395"
          },
          "maxWalkingDistance": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum walking distance in meters in range [50, 1000] between the step point and the service(s). 1000 meters by default."
          }
        },
        "required": [
          "duration",
          "startDateTime",
          "stopDateTime"
        ]
      },
      "Summary": {
        "type": "object",
        "description": "Class describing the trip's summary.",
        "properties": {
          "vehicleInfo": {
            "$ref": "#/components/schemas/VehicleInfoV2",
            "description": "Vehicle information used to compute the journey."
          },
          "distance": {
            "type": "integer",
            "format": "int64",
            "description": "Distance: sum of distance, in meters."
          },
          "duration": {
            "type": "integer",
            "format": "int64",
            "description": "Duration: sum of duration, in seconds."
          },
          "batteryLevel": {
            "type": "number",
            "format": "double",
            "description": "Remaining battery level (in percentage) at the end of the trip."
          },
          "consumed": {
            "type": "number",
            "format": "double",
            "description": "Sum of consumed values in kWh."
          },
          "chargingTime": {
            "type": "integer",
            "format": "int64",
            "description": "Sum of charging time in seconds."
          },
          "departureTime": {
            "type": "integer",
            "format": "int64",
            "description": "Departure time in milliseconds."
          },
          "arrivalTime": {
            "type": "integer",
            "format": "int64",
            "description": "Arrival time in milliseconds."
          },
          "savedCo2Emissions": {
            "type": "number",
            "format": "float",
            "description": "Saved CO2 Emissions (kg). This value is calculated from the amount of energy consumed for this journey using the profile of an ICE vehicle similar to the selected electric vehicle."
          },
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBoxFront",
            "description": "The rectangle that encompasses the entire trip, defined by four coordinates."
          },
          "chargingCost": {
            "$ref": "#/components/schemas/ChargingCostFront",
            "description": "Sum of charging cost."
          },
          "tollSumFees": {
            "$ref": "#/components/schemas/TollSumFeesFront",
            "description": "Sum of toll cost."
          }
        },
        "required": [
          "arrivalTime",
          "batteryLevel",
          "boundingBox",
          "chargingTime",
          "consumed",
          "departureTime",
          "distance",
          "duration",
          "vehicleInfo"
        ]
      },
      "SummaryParkingVehicleAccessFront": {
        "type": "object",
        "description": "Describing the summary of vehicle access to most accessible charging stations in pool. See the vehicle access of charging points if available for more precise information on the parking place.",
        "properties": {
          "maxHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum height (in cm) of a vehicle to access the parking. Null if no restriction."
          },
          "maxWidth": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum width (in cm) of a vehicle to access the parking. Null if no restriction."
          },
          "maxLength": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum length (in cm) of a vehicle to access the parking. Null if no restriction."
          },
          "maxWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum weight (in tenth of ton) of a vehicle to access the parking. Null if no restriction."
          },
          "dangerousGoodsAllowed": {
            "type": "boolean",
            "description": "Whether vehicles loaded with dangerous goods are allowed to park."
          },
          "overnightParkingAllowed": {
            "type": "boolean",
            "description": "Whether overnight parking is allowed for heavy vehicles."
          },
          "parkingOrientation": {
            "type": "string",
            "description": "The direction in which vehicles are parked at the charging station.",
            "enum": [
              "PARALLEL",
              "PERPENDICULAR",
              "ANGLE",
              "DRIVE_THROUGH"
            ],
            "x-enumDescriptions": {
              "PARALLEL": "Parking happens parallel to the roadway on which vehicles approach the charging station.",
              "PERPENDICULAR": "Parking happens perpendicular to the roadway on which vehicles approach the charging station.",
              "ANGLE": "Parking happens at an angle to the roadway on which vehicles approach the charging station (i.e. echelon parking).",
              "DRIVE_THROUGH": "A vehicle can stop, charge, and proceed without reversing into or out of a parking bay. This is particularly important for heavy vehicles with trailers."
            }
          },
          "transportTypes": {
            "type": "array",
            "description": "List of transport types that can use this parking.",
            "items": {
              "type": "string",
              "description": "Transportation mode, Car, pedestrian, truck, etc.",
              "enum": [
                "PEDESTRIAN",
                "BICYCLE",
                "MOTORCYCLE",
                "CAR",
                "TAXI",
                "PUBLIC_BUS",
                "EMERGENCY",
                "DELIVERY_TRUCK",
                "TRUCK"
              ],
              "x-enumDescriptions": {
                "PEDESTRIAN": "Pedestrian.",
                "BICYCLE": "Bicycle.",
                "MOTORCYCLE": "Motorcycle.",
                "CAR": "Passenger car.",
                "TAXI": "Taxi.",
                "PUBLIC_BUS": "Public bus.",
                "EMERGENCY": "Emergency vehicle.",
                "DELIVERY_TRUCK": "Delivery truck. Deprecated, use `TRUCK` instead.",
                "TRUCK": "Truck."
              }
            }
          },
          "parkingOrientations": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "PARALLEL",
                "PERPENDICULAR",
                "ANGLE",
                "DRIVE_THROUGH"
              ]
            }
          }
        }
      },
      "TaxChrg": {
        "type": "object",
        "description": "Class representing tax charge.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency in norm ISO 4217, more details on Wikipedia ISO 4217 https://en.wikipedia.org/wiki/ISO_4217."
          },
          "category": {
            "type": "string",
            "description": "A textual definition of vehicle category."
          },
          "price": {
            "type": "number",
            "format": "double",
            "description": "Price."
          }
        }
      },
      "TextAutocompleteResponse": {
        "type": "object",
        "description": "Class representing a text-only autocomplete response.",
        "properties": {
          "suggestions": {
            "type": "array",
            "description": "Autocomplete suggestions.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "TimeSlotWarn": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "string",
            "description": "Code of the time slot status."
          },
          "message": {
            "type": "string",
            "description": "Describes a time slot status: if the time slot has been validated by a EV route."
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "TimeSlotWarning": {
        "type": "object",
        "description": "Class describing a timeslot warning.",
        "properties": {
          "statusCode": {
            "type": "string",
            "description": "Code of the time slot status. Available codes:<br/> - `TSS_UNINITIALIZED`: Time slot status uninitialized.<br/>- `TSS_NO_POOL_FOUND`: No pool found during this time slot (default value before EVRoute computation).<br/>- `TSS_NO_POOL_FOUND_WITH_SERVICE`: No pool found with the requested services.<br/>- `TSS_NOT_SELECTED_TOO_MUCH_ENERGY_NEEDED`: Too much additional energy needed to reach pools during this time slot.<br/>- `TSS_NOT_SELECTED_OPENING_TIME`: Opening Time are incorrect for pools found during these time slot.<br/>- `TSS_NOT_SELECTED`: Route with the pools found during this time slot validate less time slot that this current itinerary OR charge during time slot is useless.<br/>- `TSS_IGNORED_DEPARTURE_DATE_TIME_NOT_SET`: Time slot ignored: Departure date and time is not set.<br/>- `TSS_IGNORED_END_BEFORE_DEPARTURE`: Time slot ignored: Time slot end is before route departure OR stop duration implied to stop before route departure.<br/>- `TSS_IGNORED_BEGIN_AFTER_ARRIVAL`: Time slot ignored: Time slot begins after arrival date and time.<br/>- `TSS_IGNORED_INTERNAL_ERROR`: Time slot ignored: Internal error.<br/>- `TSS_NOT_VALID_BEGIN_AFTER_END`: Time slot not valid: Time slot begins after time slot end.<br/>- `TSS_NOT_VALID_DURATION_TOO_SHORT`: Time slot not valid: Stop duration is too short (should be superior to fixed stop time).<br/>- `TSS_NOT_VALID_DURATION_TOO_LONG`: Time slot not valid: Stop duration is too long (should be inferior to time slot duration).<br/>- `TSS_NOT_VALID_SERVICE`: Time slot not valid: Requested service format is incorrect\")."
          },
          "message": {
            "type": "string",
            "description": "Describes a time slot status: if the time slot has been validated by a EV route."
          }
        },
        "required": [
          "message",
          "statusCode"
        ]
      },
      "Tol": {
        "type": "object",
        "description": "Class representing toll.",
        "properties": {
          "tollType": {
            "type": "string",
            "description": "Type of toll.",
            "enum": [
              "TOLL_FIXED_FEE",
              "TOLL_OBTAIN_TICKET",
              "TOLL_PAY_PER_TICKET",
              "TOLL_ELECTRONIC"
            ],
            "x-enumDescriptions": {
              "TOLL_FIXED_FEE": "Fixed fee (does not depend of origin).",
              "TOLL_OBTAIN_TICKET": "Obtain ticket (no fee).",
              "TOLL_PAY_PER_TICKET": "Pay per ticket (depends of origin).",
              "TOLL_ELECTRONIC": "Electronic."
            }
          },
          "meanOfPayments": {
            "type": "array",
            "description": "List of mean of payment.",
            "items": {
              "type": "string",
              "enum": [
                "PAYMENT_CASH",
                "PAYMENT_BANK_CARD",
                "PAYMENT_CREDIT_CARD",
                "PAYMENT_PASS_SUBSCRIPTION",
                "PAYMENT_TRANSPONDER",
                "PAYMENT_VIDEO_TOLL_CHARGE",
                "PAYMENT_EXACT_CASH",
                "PAYMENT_TRAVEL_CARD"
              ],
              "x-enumDescriptions": {
                "PAYMENT_CASH": "Cash.",
                "PAYMENT_BANK_CARD": "Bank card.",
                "PAYMENT_CREDIT_CARD": "Credit card.",
                "PAYMENT_PASS_SUBSCRIPTION": "Pass or subscription.",
                "PAYMENT_TRANSPONDER": "Transponder.",
                "PAYMENT_VIDEO_TOLL_CHARGE": "Video toll charge.",
                "PAYMENT_EXACT_CASH": "Exact cash.",
                "PAYMENT_TRAVEL_CARD": "Travel card."
              }
            }
          },
          "polylineIndex": {
            "type": "integer",
            "format": "int64",
            "description": "Index of polyline coordinate."
          },
          "tollCharges": {
            "type": "array",
            "description": "List of toll charge.",
            "items": {
              "$ref": "#/components/schemas/TollChrg"
            }
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate of toll."
          }
        }
      },
      "TollChrg": {
        "type": "object",
        "description": "Class representing a toll charge.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency unit in norm ISO 4217, more details on [Wikipedia ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)."
          },
          "category": {
            "type": "string",
            "description": "A textual definition of vehicle category."
          },
          "price": {
            "type": "number",
            "format": "double",
            "description": "Price."
          }
        }
      },
      "TollSumFeesFront": {
        "type": "object",
        "description": "Class describing the total of toll fees.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency in norm ISO 4217, more details on Wikipedia ISO 4217 https://en.wikipedia.org/wiki/ISO_4217."
          },
          "feeMin": {
            "type": "number",
            "format": "double",
            "description": "The minimum fee."
          },
          "feeMax": {
            "type": "number",
            "format": "double",
            "description": "The maximum fee."
          }
        },
        "title": "Toll cost"
      },
      "TraceRouteDest": {
        "type": "object",
        "description": "Class representing a trace route GPS coordinates.",
        "properties": {
          "coordinateSat": {
            "$ref": "#/components/schemas/CoordinateSat"
          },
          "keptByMinimalWp": {
            "type": "boolean",
            "description": "This parameter `keptByMinimalWp` (previously `mandatory`) will be used by the traceroute API. When the value is set to `true` and the option `NO_MINIMAL_WAYPOINTS` is not defined, the coordinate will be kept in the waypoints array of the response.",
            "x-aliases": [
              "mandatory"
            ]
          },
          "customData": {
            "type": "array",
            "description": "Custom data is a list that can be used to set some custom information about the coordinate in input and returned in response.",
            "items": {
              "$ref": "#/components/schemas/CustomDt"
            }
          }
        }
      },
      "TraceRouteRequest": {
        "type": "object",
        "description": "Class representing a trace route request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "destinations": {
            "type": "array",
            "description": "Defines an array of GPS coordinates and other parameters.",
            "items": {
              "$ref": "#/components/schemas/TraceRouteDest"
            }
          },
          "options": {
            "type": "array",
            "description": "Options of trace route service.",
            "items": {
              "type": "string",
              "description": "Enumeration that defines the traceroute's options.",
              "enum": [
                "USED_DESTINATIONS_OFF",
                "ROUTESHEET",
                "ROUTESHEET_VERBOSE_LOW",
                "ROUTESHEET_VERBOSE_MEDIUM",
                "ROUTESHEET_VERBOSE_HIGH",
                "FENCE_SHAPE",
                "POLYLINE",
                "DETAILED_POLYLINE",
                "POLYLINE_INDEX",
                "OPENLR",
                "SEGMENTIDS",
                "ROAD_SEGMENTS",
                "JUNCTION_NODES",
                "WAYPOINTS",
                "NO_MINIMAL_WAYPOINTS",
                "OFFROADS",
                "OFFROADS_RAWDATA",
                "WAYPOINTS_POLYLINE",
                "ENERGY_CONSUMPTION",
                "TOLL_COST",
                "TAX_COST",
                "ECO_TAX",
                "REVGEO_POSTAL_ADDRESS",
                "EVENT",
                "EVT_DUPLICATE_FILTER",
                "EVT_ENTRY_VALUE_AS_OBJECT",
                "EVT_ROAD_FEATURE",
                "EVT_PROHIBITED_DRIVING",
                "EVT_ELEVATION",
                "EVT_ELEVATION2",
                "EVT_SEGMENT_INFO",
                "EVT_GEOELEMENT_TYPE",
                "EVT_POLYLINE",
                "EVT_ENCODED_POLYLINE",
                "EVT_LENGTH",
                "EVT_DURATION",
                "EVT_ENERGY_CONSUMPTION",
                "EVT_ENERGY_CONSUMPTION_SAMPLE",
                "EVT_CHARGING_STATION",
                "EVT_CHARGING_STATION_DYNAMIC",
                "EVT_TOLL_COST",
                "EVT_TAX_COST",
                "EVT_TRAFFIC",
                "EVT_TRAFFIC_PREDICTIVE",
                "EVT_TRAFFIC_HISTORICAL",
                "EVT_ROUTESHEET",
                "EVT_TRAFFIC_SIGNS",
                "EVT_WAYPOINTS"
              ],
              "x-enumDescriptions": {
                "USED_DESTINATIONS_OFF": "Disables used destinations list in the response.",
                "ROUTESHEET": "Returns the route sheet.",
                "ROUTESHEET_VERBOSE_LOW": "Low level of verbosity for the route sheet (default).",
                "ROUTESHEET_VERBOSE_MEDIUM": "Medium level of verbosity for the route sheet.",
                "ROUTESHEET_VERBOSE_HIGH": "High level of verbosity for the route sheet.",
                "FENCE_SHAPE": "Enables the tests between route found and geometric fences. Return the shape of fence used to perform the test.",
                "POLYLINE": "Returns the polyline (geometry) of the entire itinerary. For segmentation of this geometry, see the `EVENT` and `EVT_POLYINE` options.",
                "DETAILED_POLYLINE": "Returns the polyline (geometry) of itinerary with more information for each sub-segments. Deprecated, use events system (like `EVENT`, `EVT_POLYLINE`) instead.",
                "POLYLINE_INDEX": "Enables the index calculation of used destination on the polyline. Deprecated, use events system (like `EVENT`, `EVT_POLYLINE`) instead.",
                "OPENLR": "Attempt to return the geometry of route as an encoded OpenLR base64 string. Some routes cannot be encoded in OpenLR (like U-turns).",
                "SEGMENTIDS": "Returns the list of segments id of itinerary.",
                "ROAD_SEGMENTS": "Returns the list of road segments of itinerary. See in response the field `roadSegments`.",
                "JUNCTION_NODES": "Returns the junction nodes of itinerary. See in response the field `junctionNodes`.",
                "WAYPOINTS": "Returns the waypoints of itinerary. A waypoint is a coordinate with properties that can be used to reproduce the computed route on other device or server.",
                "NO_MINIMAL_WAYPOINTS": "Sub option of `WAYPOINTS` option. Disables the minimal waypoints algorithm. By default the waypoint list contains only the waypoints necessary to reproduce the route. With this option all waypoints are returned (faster computation).",
                "OFFROADS": "Sub option of `WAYPOINTS` option. Returns the off-road polylines in the `waypoints` array of the response. See the field `waypoints.offRoad` in response.",
                "OFFROADS_RAWDATA": "Sub option of `OFFROADS` option. Returns the native value of map attributes of the Off-road section.",
                "WAYPOINTS_POLYLINE": "Returns the polyline of the route including the waypoints coordinate.",
                "ENERGY_CONSUMPTION": "Returns the energy consumption estimation (`energyConsumption` field). This option requires the Energy vehicle feature, see field `routingVehicleProfile` and sub field `routingEnergyVehicleFeature`.",
                "TOLL_COST": "Enables the toll cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. Deprecated replaced by EVT_TOLL_COST option.",
                "TAX_COST": "Enables the tax cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. Deprecated replaced by EVT_TAX_COST option.",
                "ECO_TAX": "Enables the eco-tax calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. Deprecated replaced by EVT_TAX_COST option.",
                "REVGEO_POSTAL_ADDRESS": "Returns the postal addresses of matched input coordinates.",
                "EVENT": "Enables structure of events on road. See sub options `EVT_xxxxx` other values. At a minimum the information returned is the country code of every road segment. Each event indicates the distance, travel time and percentage from start.",
                "EVT_DUPLICATE_FILTER": "Sub option of `EVENT` option. Enables filter on repeated values. Avoids repeating events on every road segments when there are no changes.",
                "EVT_ENTRY_VALUE_AS_OBJECT": "Sub option of `EVENT` option. Enables generation of entrie's values as a JSON object instead of encapsulating in a string format.",
                "EVT_ROAD_FEATURE": "Sub option of `EVENT` option. Enables the road features such as: maximum speed, bridge, tunnel, number of lanes in each direction, etc.",
                "EVT_PROHIBITED_DRIVING": "Sub option of `EVENT` option. Enables the prohibited driving information like against traffic direction (`againstTrafficDir`), prohibited turn (`prohibitedTurn`) and prohibited blocked passage (`prohibitedBlockedPassage`).",
                "EVT_ELEVATION": "Sub option of `EVENT` option. Enables the elevation of road segments. Returns the altitude of first point and last point in two entries. Deprecated, use `EVT_ELEVATION2` instead.",
                "EVT_ELEVATION2": "Sub option of `EVENT` option. Enables the elevation of road segments. Returns the altitude of first point and last point in one entry.",
                "EVT_SEGMENT_INFO": "Sub option of `EVENT` option. Enables the road segments information. Returns the ID of road segment (if available in the map data) and the reverse direction flag that indicates if the road segment is traveled in the opposite direction of the geometry of the road in map data.",
                "EVT_GEOELEMENT_TYPE": "Sub option of `EVENT` option. Enables the road segment type: The administrative levels (`roadAdminLevel` parameter): `FOURTH_ROAD`, `TERTIARY_ROAD`, `SECONDARY_ROAD`, `MAIN_ROAD`. And the `geoElementType` parameter: `PEDESTRIAN`, `ROUNDABOUT`, `SLIP_ROAD`, `ROAD`, `MOTORWAY`, `FERRY`",
                "EVT_POLYLINE": "Sub option of `EVENT` option. Enables the polyline geometry.",
                "EVT_ENCODED_POLYLINE": "Sub option of `EVENT` option. Enables the [encoded polyline geometry](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-google-encoded-polyline-algorithm-format/).",
                "EVT_LENGTH": "Sub option of `EVENT` option. Enables length in meters of road segment.",
                "EVT_DURATION": "Sub option of `EVENT` option. Enables estimated travel duration in seconds of road segment.",
                "EVT_ENERGY_CONSUMPTION": "Sub option of `EVENT` option. Enables the autonomy limit event estimation. Additionally this option requires the Energy vehicle feature (`routingEnergyVehicleFeature`) parameter. The returned `energyEndOfAutonomyAt` field indicates the distance in meters from start. The returned `energyEndOfAutonomyCoord` field indicates the location of the autonomy limit.",
                "EVT_ENERGY_CONSUMPTION_SAMPLE": "Sub option of `EVENT` option. Enables the energy consumption estimation with samples data in events structure. Additionally this option requires the Energy vehicle feature (`routingEnergyVehicleFeature`) parameter. The returned energy sample (`EnergySample`) contains the following fields for each second: `distFromStart` in meters, `speed` in m/s, `acceleration` in m/s², `angle` in degrees, `slope` (coefficient), `cumulativeConsumption` in Wh, `pos` coordinate ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/)) and altitude in meters of event.",
                "EVT_CHARGING_STATION": "Sub option of `EVENT` option. Add electrical charging station information (static data). Deprecated Use the API Charging Station.",
                "EVT_CHARGING_STATION_DYNAMIC": "Sub option of `EVENT` option. Add electrical charging station information (dynamic data). Deprecated Use the API Charging Station.",
                "EVT_TOLL_COST": "Sub option of `EVENT` option. Enables the toll cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. See the response structure `RoutingTollCst` and `Tol` of entry type `TollCost`. Contact the support for the required map data.",
                "EVT_TAX_COST": "Sub option of `EVENT` option. Enables the tax cost calculation. This option requires the Vehicle Profile, see field `routingVehicleProfile` and sub field `routingVehicleFeature`. Contact the support for the required map data. See the response structure `RoutingTaxCst` and `RoutingTaxSect` of entry type `TaxCost`. Contact the support for the required map data.",
                "EVT_TRAFFIC": "Sub option of `EVENT` option. Returns the real time traffic info in event structure of type `TrafficElement`. The information contains the `jamFactor` in percentage, `reason` (text), `currentAvrSpeed` in km/h, `freeFlowAvrSpeed` in km/h, etc. NOTE: This option does not affect the route calculation, use the option `TRAFFIC` for that.",
                "EVT_TRAFFIC_PREDICTIVE": "Sub option of `EVENT` option. Returns the real time predictive traffic info in event structure of type `TrafficElement`. The information contains the `jamFactor` in percentage, `reason` (text), `currentAvrSpeed` in km/h, `freeFlowAvrSpeed` in km/h, etc. NOTE: This option does not affect the route calculation. The route calculation is never affect by predictive traffic. Contact the support for the required map data.",
                "EVT_TRAFFIC_HISTORICAL": "(Beta) Sub option of `EVENT` option. Returns the historical traffic info (i.e. the real time in the past) in event structure of type `TrafficElement`. Requires a `departureTime` in the past. The information contains the `jamFactor` in percentage, `reason` (text), `currentAvrSpeed` in km/h, `freeFlowAvrSpeed` in km/h, etc. NOTE: This option does not affect the route calculation. The route calculation is never affect by predictive traffic. Contact the support for the required map data.",
                "EVT_ROUTESHEET": "Sub option of `EVENT` option. Enables the route-sheet turn-by-turn instructions in event structure with type `Routesheet`. See the class `RoutingInstruc`.",
                "EVT_TRAFFIC_SIGNS": "Sub option of `EVENT` option. Enables the traffic sign information in event structure with type `TrafficSign`. `text` (optional) text displayed below traffic sign, `matchedCoordinate` location of traffic sign, `category`, see available values: `NOT_SUPPORTED`, `ROAD_NARROWS`, `SHARP_CURVE_LEFT`, `SHARP_CURVE_RIGHT`, `WINDING_RD_LEFT`, `WINDING_RD_RIGHT`, `STEEP_HILL_UP`, `STEEP_HILL_DOWN`, `LATERAL_WIND`, `GENERAL_WARNING`, `RISK_OF_GROUNDING`, `GENERAL_CURVE`, `GENERAL_HILL`, `OBJECT_OVERHANG`, `ST_NO_OVERTAKING`, `END_NO_OVERTAKING`, `PR_OVERTAKING_EL`, `PR_OVERTAKING_ELR`, `PR_OVERTAKING_ELL`, `LANE_MERGE_RIGHT`, `LANE_MERGE_LEFT`, `LANE_MERGE_CENTER`, `RAILWAY_CROSS_PR`, `RAILWAY_CROSS_UNPR`, `ST_NO_OVERTAKING_TRUCKS`, `END_NO_OVERTAKING_TRUCKS`, `STOP`, `END_OF_ALL_RESTRICTIONS`, `ANIMAL_CROSSING`, `ICY_CONDITIONS`, `SLIPPERY_ROAD`, `FALLING_ROCKS`, `SCHOOL_ZONE`, `TRAMWAY_CROSSING`, `CONGESTION_HAZARD`, `ACCIDENT_HAZARD`, `PRIORITY_ONCOMING`, `YIELD_ONCOMING`, `RIGHT_PRIORITY`, `PEDESTRIAN_CROSSING`, `YIELD`, `NO_ENGINE_BRAKE`, `ENDOF_NO_ENGINE_BRAKE`, `NO_IDLING`, `TRUCK_ROLLOVER`, `LOW_GEAR`, `ENDOF_LOW_GEAR`, `LIGHT`, `DOUBLE_HAIRPIN`, `TRIPLE_HAIRPIN`, `TWO_WAY_TRAFFIC`, `URBAN_AREA`, `HUMP_BRIDGE`, `UNEVEN_ROAD`, `BICYCLE_CROSSING`, `YIELD_TO_BICYCLES`, `NO_TOWED_CARAVAN`, `NO_TOWED_TRAILER`, `NO_CAMPER`, `NO_TURN_ON_RED`, `TURN_ON_RED`, `EMBANKMENT`, `FLOOD_AREA`, `OBSTACLE`, `ROAD_SPLIT`.",
                "EVT_WAYPOINTS": "Sub option of `EVENT` option. Returns the waypoints of route in event structure. A waypoint is a coordinate with properties that can be used to reproduce the computed route on other device or server."
              }
            }
          },
          "routingVehicleProfile": {
            "$ref": "#/components/schemas/RoutingVehicleProf",
            "description": "A routing vehicle profile defines physical, legal, toll and energetic characteristics."
          },
          "departureTime": {
            "type": "string",
            "description": "This parameter is an EPOCH timestamp in milliseconds (UTC) or a string with ISO local date time format like '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'. It is used to define the date and time of routing departure."
          },
          "adjustEta": {
            "type": "boolean",
            "description": "Defines if the calculated route's ETA should match with field `time` of input `destinations` (GPS time in milliseconds (EPOCH)). The field `time` of input `destinations` must be filled."
          },
          "allowOffRoad": {
            "type": "boolean",
            "description": "Defines if the returned route are computed with off-roads. Otherwise, no off-road are created. True by default."
          },
          "corridorRadius": {
            "type": "integer",
            "format": "int32",
            "description": "Builds a corridor along the calculated route with the given radius. Corridor radius in meters (notes: the corridor width = 2 * `corridorRadius`)."
          },
          "fenceShapes": {
            "type": "array",
            "description": "Defines fence shapes to perform an intersection test between the route and the fences.",
            "items": {
              "$ref": "#/components/schemas/GeoFenceShp"
            }
          },
          "language": {
            "type": "string",
            "description": "Defines the preferred language that will be used by the options `ROUTESHEET`, `EVT_ROUTESHEET`, `REVGEO_POSTAL_ADDRESS`, etc. Values of language code: An ASCII string that defines an (ISO 639-1)[https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1] (2-letter) language code."
          },
          "customData": {
            "type": "array",
            "description": "Custom data. The parameter customData can be repeated and contains a key and value.",
            "items": {
              "$ref": "#/components/schemas/CustomDt"
            }
          }
        },
        "required": [
          "destinations",
          "routingVehicleProfile"
        ]
      },
      "TrafficElementInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "copyright": {
            "type": "string"
          },
          "releaseDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdateDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "TrafficItem": {
        "type": "object",
        "description": "Traffic item.",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/TrafficElementInfo",
            "description": "Traffic information of element."
          },
          "elementId": {
            "type": "string",
            "description": "Element ID."
          },
          "reverseDirection": {
            "type": "boolean",
            "description": "True for inverse road direction."
          },
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Bounding box of geometry in WGS84."
          },
          "jamFactor": {
            "type": "number",
            "format": "float",
            "description": "Percent (%) of traffic jam. Between 0.00 (free way) to 100.00 (full jam)."
          },
          "reason": {
            "type": "string",
            "description": "TrafficReason.",
            "enum": [
              "NA",
              "CONGESTION",
              "CARRIAGEWAY_REDUCED",
              "ACCIDENT",
              "INCIDENT",
              "INFORMATION",
              "NON_RECOMMANDED_ROAD",
              "ROAD_CONDITION_DETERIORATED",
              "BLOCKED_ROAD",
              "ROAD_UNDER_CONTRUCTION"
            ],
            "x-enumDescriptions": {
              "NA": "Not available.",
              "CONGESTION": "traffic congestion (jam).",
              "CARRIAGEWAY_REDUCED": "Carriage-way reduced.",
              "ACCIDENT": "Accident.",
              "INCIDENT": "Incident.",
              "INFORMATION": "Information.",
              "NON_RECOMMANDED_ROAD": "Non re-commanded road.",
              "ROAD_CONDITION_DETERIORATED": "Road condition deteriorated.",
              "BLOCKED_ROAD": "Blocked road.",
              "ROAD_UNDER_CONTRUCTION": "Road under construction."
            }
          },
          "reasonComments": {
            "type": "array",
            "description": "List of reason comments.",
            "items": {
              "$ref": "#/components/schemas/TrafficResComment"
            }
          },
          "reasonCoordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Coordinate of the reason event."
          },
          "polyline": {
            "type": "array",
            "description": "Polyline.",
            "items": {
              "$ref": "#/components/schemas/Coordinate"
            }
          },
          "segmentInfos": {
            "type": "array",
            "description": "Segment Info.",
            "items": {
              "$ref": "#/components/schemas/TrafficSegInfo"
            }
          },
          "tmcInternalId": {
            "type": "integer",
            "format": "int64",
            "description": "AlertcTrafficElement."
          },
          "alertcEbuCountryCode": {
            "type": "string",
            "description": "AlertcTrafficElement."
          },
          "alertcTableId": {
            "type": "integer",
            "format": "int64",
            "description": "AlertcTrafficElement."
          },
          "alertcLocationId": {
            "type": "integer",
            "format": "int64",
            "description": "AlertcTrafficElement."
          },
          "alertcExtend": {
            "type": "integer",
            "format": "int32",
            "description": "AlertcTrafficElement."
          },
          "alertcCode": {
            "type": "integer",
            "format": "int32",
            "description": "AlertcTrafficElement."
          },
          "openLrBase64": {
            "type": "string",
            "description": "OpenLrTrafficElement."
          }
        }
      },
      "TrafficRequest": {
        "type": "object",
        "description": "Class representing a traffic request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "countryCode": {
            "type": "string",
            "description": "Country ISO Code. Performs a data extract operation inside the specified Iso code filter."
          },
          "timestamp": {
            "type": "integer",
            "format": "int64",
            "description": "Time stamp in milliseconds."
          },
          "boundingBox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "The bounding box make a filter on an specific area."
          },
          "elementId": {
            "type": "string",
            "description": "Traffic element ID."
          },
          "reverseDirection": {
            "type": "boolean",
            "description": "Define the side of road will be used."
          },
          "options": {
            "type": "array",
            "description": "Options of traffic info service.",
            "items": {
              "type": "string",
              "enum": [
                "STATS",
                "POLYLINE",
                "SYNC",
                "ALERTC",
                "OPENLR",
                "TRAFFIC_PREDICTIVE",
                "TRAFFIC_HISTORICAL",
                "ONLY_BLOCKED_ROAD",
                "EXCLUDE_BLOCKED_ROAD"
              ],
              "x-enumDescriptions": {
                "STATS": "Enable the data outputs like jam factor, speed and other information.",
                "POLYLINE": "Enable the polyline geometry output.",
                "ALERTC": "Enable the Alert-C outputs.",
                "OPENLR": "Enable the OpenLR outputs.",
                "TRAFFIC_PREDICTIVE": "Enable the predictive traffic information.",
                "TRAFFIC_HISTORICAL": "(Beta) Enable the historical traffic information.",
                "ONLY_BLOCKED_ROAD": "To get only the blocked roads (closed).",
                "EXCLUDE_BLOCKED_ROAD": "To exclude all blocked roads (closed)."
              }
            }
          },
          "previousUpdateTimestamp": {
            "type": "integer",
            "format": "int64",
            "deprecated": true,
            "description": "The previous time stamp of update, can be used for synchronization mode."
          },
          "outputLanguage": {
            "type": "string",
            "description": "Output language."
          }
        }
      },
      "TrafficResComment": {
        "type": "object",
        "description": "Class representing a traffic reason comment.",
        "properties": {
          "language": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          }
        }
      },
      "TrafficRespElement": {
        "type": "object",
        "description": "Class representing a traffic response element.",
        "properties": {
          "trafficItem": {
            "$ref": "#/components/schemas/TrafficItem",
            "description": "Traffic Item."
          }
        }
      },
      "TrafficResponse": {
        "type": "object",
        "description": "Class representing a traffic response.",
        "properties": {
          "countryInitialized": {
            "type": "boolean",
            "description": "Country initialized."
          },
          "trafficResponseElements": {
            "type": "array",
            "description": "Traffic response elements.",
            "items": {
              "$ref": "#/components/schemas/TrafficRespElement"
            }
          }
        }
      },
      "TrafficSegInfo": {
        "type": "object",
        "description": "Class representing a traffic segment information.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of road segment."
          },
          "reverseDirection": {
            "type": "boolean",
            "description": "The route travel is in opposite way of geometry."
          }
        }
      },
      "Vehicle": {
        "type": "object",
        "description": "Class representing a Vehicle.",
        "properties": {
          "key": {
            "type": "string",
            "description": "The vehicle's UUID key. You can fin the UUID key in the API Vehicles."
          },
          "initBatLvl": {
            "type": "number",
            "format": "float",
            "description": "Initial battery level in percent. Available value 0 to 100. Default value 100."
          },
          "payload": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's payload in kg (i.e: passengers, luggage and consumables weight). 75 kg by default."
          },
          "feature": {
            "$ref": "#/components/schemas/VehicleFeatureFront",
            "description": "Vehicle features is used to set the information about the vehicle."
          }
        },
        "required": [
          "key"
        ]
      },
      "VehicleBrandsResponse": {
        "type": "object",
        "description": "Class representing a vehicle brands response.",
        "properties": {
          "brands": {
            "type": "array",
            "description": "A list of brands.",
            "items": {
              "$ref": "#/components/schemas/BrandInfo"
            }
          }
        },
        "required": [
          "brands"
        ]
      },
      "VehicleBrandsResponseV1Dot1": {
        "type": "object",
        "description": "Class representing a vehicle brands response.",
        "properties": {
          "brands": {
            "type": "array",
            "description": "A list of brands.",
            "items": {
              "$ref": "#/components/schemas/BrandInfoV1Dot1"
            }
          }
        },
        "required": [
          "brands"
        ]
      },
      "VehicleFeatureFront": {
        "type": "object",
        "description": "Class representing a routing vehicle features. A routing vehicle feature defines physical, legal and toll characteristics. The map data contains restrictions which are related to vehicle features such as: height, width, length, weight and hazardous materials. Therefore the vehicle features can affect the route calculation. Routing vehicle features can also affect toll and tax cost calculation.",
        "properties": {
          "height": {
            "type": "integer",
            "format": "int32",
            "description": "Height of vehicle in centimeters. Affects route calculation. Physical restriction."
          },
          "width": {
            "type": "integer",
            "format": "int32",
            "description": "Width of vehicle in centimeters. Affects route calculation. Physical restriction."
          },
          "length": {
            "type": "integer",
            "format": "int32",
            "description": "Length of vehicle in centimeters. Affects route calculation. Physical restriction."
          },
          "weight": {
            "type": "integer",
            "format": "int32",
            "description": "Weight of vehicle in tens of metric tons, i.e.: `35` = 3.5t. Affects route calculation. Legal and physical restrictions."
          },
          "axleWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Axle weight in tens of metric tons, i.e.: `12` = 1.2t. Affects route calculation. Legal and physical restrictions."
          },
          "hazardousMaterials": {
            "type": "string",
            "description": "Hazardous materials carried by the vehicle. Affects route calculation. Legal restriction.",
            "enum": [
              "NONE",
              "ALL",
              "EXPLOSIVE",
              "WATER",
              "US_CORROSIVE",
              "US_EXPLOSIVES",
              "US_FLAM",
              "US_FLAM_SOL",
              "US_GAS",
              "US_ORGANIC",
              "US_OTHER",
              "US_PIH",
              "US_POISON",
              "US_RADIO_ACTIVE",
              "TUNNEL_CAT_B",
              "TUNNEL_CAT_B1000C",
              "TUNNEL_CAT_BD",
              "TUNNEL_CAT_BE",
              "TUNNEL_CAT_C",
              "TUNNEL_CAT_C5000D",
              "TUNNEL_CAT_CD",
              "TUNNEL_CAT_CE",
              "TUNNEL_CAT_D",
              "TUNNEL_CAT_DE",
              "TUNNEL_CAT_E"
            ],
            "x-enumDescriptions": {
              "NONE": "No hazardous material.",
              "ALL": "General hazardous materials.",
              "EXPLOSIVE": "Trucks with Explosive and Flammable Goods.",
              "WATER": "Trucks with Goods Harmful for Water.",
              "US_CORROSIVE": "USA only : Corrosive materials (e.g., hydrochloric acid, sulfuric acid, mercury, sodium hydroxide).",
              "US_EXPLOSIVES": "USA only : Explosives (e.g., TNT, ammunition, flares, fireworks).",
              "US_FLAM": "USA only : Flammable and combustible liquids (e.g., jet fuel, gasoline, fuel oil, alcohols).",
              "US_FLAM_SOL": "USA only : Flammable solids, spontaneously combustible materials and water reactive substances (e.g., matches, white phosphorus, potassium).",
              "US_GAS": "USA only : Flammable, compressed and poisonous gases (e.g., propane, compressed oxygen, chlorine).",
              "US_ORGANIC": "USA only : Oxidizers and organic peroxides (e.g., ammonium nitrate and benzoyl peroxide).",
              "US_OTHER": "USA only : Miscellaneous hazardous materials (e.g., asbestos, dry ice, lithium batteries).",
              "US_PIH": "USA only : Poisonous inhalation hazards (PIH).",
              "US_POISON": "USA only : Poisonous (toxic) and infectious substances (e.g., cyanide, most mercury-based compounds, viruses, toxins and regulated medical waste).",
              "US_RADIO_ACTIVE": "USA only : Radioactive materials (e.g., plutonium-239 and uranium-235).",
              "TUNNEL_CAT_B": "Tunnel Category B.",
              "TUNNEL_CAT_B1000C": "Tunnel Category B1000C.",
              "TUNNEL_CAT_BD": "Tunnel Category B/D.",
              "TUNNEL_CAT_BE": "Tunnel Category B/E.",
              "TUNNEL_CAT_C": "Tunnel Category C.",
              "TUNNEL_CAT_C5000D": "Tunnel Category C5000D.",
              "TUNNEL_CAT_CD": "Tunnel Category C/D.",
              "TUNNEL_CAT_CE": "Tunnel Category C/E.",
              "TUNNEL_CAT_D": "Tunnel Category D.",
              "TUNNEL_CAT_DE": "Tunnel Category D/E.",
              "TUNNEL_CAT_E": "Tunnel Category E."
            }
          },
          "nbTrailer": {
            "type": "integer",
            "format": "int32",
            "description": "Vehicle's number of trailers (`-1`: not defined, `0`: no trailer). Affects route calculation. Legal restriction."
          },
          "tollTransportCategory": {
            "type": "string",
            "description": "Defines the toll vehicle category. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "MOTORCYCLE",
              "AUTO",
              "TRUCK",
              "MOTOR_HOME",
              "MINIBUS",
              "BUS",
              "SIDECAR",
              "TRICYCLE",
              "DLV_TRUCK",
              "SNOWMOBILE",
              "PICK_UP",
              "TRACTOR"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "MOTORCYCLE": "Motorcycle.",
              "AUTO": "Automobile.",
              "TRUCK": "Truck.",
              "MOTOR_HOME": "Motor home.",
              "MINIBUS": "Mini bus.",
              "BUS": "Bus.",
              "SIDECAR": "Sidecar (EU only).",
              "TRICYCLE": "Tricycle (EU only).",
              "DLV_TRUCK": "Delivery truck (EU only).",
              "SNOWMOBILE": "Snowmobile (US only).",
              "PICK_UP": "Pick up (US only).",
              "TRACTOR": "Tractor (US only)."
            }
          },
          "caravan": {
            "type": "string",
            "description": "Defines if the vehicle has a caravan. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "hybrid": {
            "type": "string",
            "description": "Defines if vehicle has a hybrid engine. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "disEquipped": {
            "type": "string",
            "description": "Defines if vehicle is equipped for disabled people. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "pollMin": {
            "type": "string",
            "description": "Defines if vehicle has minimal pollution. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "hov": {
            "type": "string",
            "description": "Defines if vehicle is a High Occupancy Vehicle (USA only). See [Wikipedia: High-occupancy vehicle lane](http://en.wikipedia.org/wiki/High-occupancy_vehicle_lane). Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "cial": {
            "type": "string",
            "description": "Defines if vehicle is a commercial vehicle. Affects toll calculation. `UNDEFINED` by default.",
            "enum": [
              "UNDEFINED",
              "YES",
              "NO"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "YES": "Yes.",
              "NO": "No."
            }
          },
          "nbVehAxles": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of axles of the vehicle (optional). Affects toll calculation."
          },
          "nbTrailAxles": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of axles of the trailer (optional). Affects toll calculation."
          },
          "nbTires": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of tires (optional). Affects toll calculation."
          },
          "nbPassengers": {
            "type": "integer",
            "format": "int32",
            "description": "Defines the number of passengers (optional). Affects toll calculation."
          },
          "vehHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Defines vehicle's height in centimeters (optional, use field `height` to define total height : vehicle + trailer). Affects toll calculation."
          },
          "trailHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Defines trailer's height in centimeters (optional, use field `height` to define total height : vehicle + trailer). Affects toll calculation."
          },
          "vehWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Defines vehicle's weight in tens of tons (optional, use field `weight` to define total weight : vehicle + trailer). Affects toll calculation."
          },
          "emissionClass": {
            "type": "string",
            "description": "Defines vehicle's emission type (optional). See [Wikipedia: European emission standards](http://en.wikipedia.org/wiki/European_emission_standards). Affects toll calculation.",
            "enum": [
              "UNDEFINED",
              "EURO1",
              "EURO2",
              "EURO3",
              "EURO4",
              "EURO5",
              "EURO6",
              "EURO_EEV",
              "ELECTRIC",
              "EURO0",
              "EURO2_PRC",
              "EURO3_PRC",
              "EURO6_CO2_1",
              "EURO6_CO2_2",
              "EURO6_CO2_3",
              "EURO6_CO2_4",
              "EURO6_CO2_5",
              "MAX"
            ],
            "x-enumDescriptions": {
              "UNDEFINED": "Undefined.",
              "EURO1": "EURO I.",
              "EURO2": "EURO II.",
              "EURO3": "EURO III.",
              "EURO4": "EURO IV.",
              "EURO5": "EURO V.",
              "EURO6": "EURO VI.",
              "EURO_EEV": "EURO EEV.",
              "ELECTRIC": "EURO Electric.",
              "EURO0": "EURO 0",
              "EURO2_PRC": "EURO II with PRC (Particle Reduction Composite/System)",
              "EURO3_PRC": "EURO III with PRC (Particle Reduction Composite/System)",
              "EURO6_CO2_1": "EURO VI CO2 1",
              "EURO6_CO2_2": "EURO VI CO2 2",
              "EURO6_CO2_3": "EURO VI CO2 3",
              "EURO6_CO2_4": "EURO VI CO2 4",
              "EURO6_CO2_5": "EURO VI CO2 5",
              "MAX": "Maximal value."
            }
          },
          "adrTunnelCategory": {
            "type": "string",
            "description": "ADR tunnel category defines all supported ADR (EU only, European Agreement concerning the International Carriage of Dangerous Goods by Road). Affects route calculation.",
            "enum": [
              "NONE",
              "CAT_B",
              "CAT_C",
              "CAT_D",
              "CAT_E"
            ],
            "x-enumDescriptions": {
              "NONE": "No tunnel category restriction (category A).",
              "CAT_B": "Tunnel Category B.",
              "CAT_C": "Tunnel Category C.",
              "CAT_D": "Tunnel Category D.",
              "CAT_E": "Tunnel Category E."
            }
          },
          "onlyPhysical": {
            "type": "boolean",
            "description": "Defines if vehicle's weight (weight, weight per axle and trailers) and hazardous materials (hazardous materials and ADR) should be ignored outside respectively bridges and tunnels. `false` by default. Affects route calculation."
          }
        }
      },
      "VehicleInfo": {
        "type": "object",
        "description": "Class defining the Vehicle information can be exposed on public and used by an external application.",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key of vehicle, used to select the vehicle to perform the routing calculation."
          },
          "brandId": {
            "type": "string",
            "description": "Brand ID of vehicle, can be used for display."
          },
          "brandName": {
            "type": "string",
            "description": "Brand name of vehicle, can be used for display."
          },
          "title": {
            "type": "string",
            "deprecated": true,
            "description": "Title of vehicle, can be used for display."
          },
          "name": {
            "type": "string",
            "description": "Name of vehicle, can be used for display."
          },
          "year": {
            "type": "string",
            "description": "Year of release and end of series in format yyyy or yyyy-yyyy."
          },
          "variant": {
            "type": "string",
            "description": "Variant or sub name of vehicle."
          },
          "motorType": {
            "type": "string",
            "description": "Motor type of vehicle.",
            "enum": [
              "EV",
              "HEV",
              "PHEV",
              "NOT_SUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "EV": "Electric Vehicle.",
              "HEV": "Hybrid Electric Vehicle.",
              "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug).",
              "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
            }
          },
          "batteryName": {
            "type": "string",
            "description": "The commercial name or power of vehicle battery."
          },
          "connectorTypes": {
            "type": "array",
            "description": "List of default connector types defined by the server vehicle profile.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "encDatasheet": {
            "type": "string",
            "description": "Base64 encoded and encrypted JSON that contains the vehicle datasheet."
          },
          "chargerPowerAcSinglePhase": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power (in kW) in AC 1 phase current type."
          },
          "chargerPowerAcThreePhases": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power (in kW) in AC 3 phases current type."
          },
          "chargerPowerDC": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power (in kW) in DC current type."
          }
        }
      },
      "VehicleInfoV1Dot1": {
        "type": "object",
        "description": "Class defining the Vehicle information can be exposed on public and used by an external application.",
        "properties": {
          "motorType": {
            "type": "string",
            "description": "Motor type of vehicle.",
            "enum": [
              "EV",
              "HEV",
              "PHEV",
              "NOT_SUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "EV": "Electric Vehicle.",
              "HEV": "Hybrid Electric Vehicle.",
              "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug).",
              "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
            }
          },
          "key": {
            "type": "string",
            "description": "Key of vehicle, used to select the vehicle to perform the routing calculation."
          },
          "brandId": {
            "type": "string",
            "description": "Brand ID of vehicle, can be used for display."
          },
          "brandName": {
            "type": "string",
            "description": "Brand name of vehicle, can be used for display."
          },
          "name": {
            "type": "string",
            "description": "Name of vehicle, can be used for display."
          },
          "year": {
            "type": "string",
            "description": "Year of release and end of series in format yyyy or yyyy-yyyy."
          },
          "variant": {
            "type": "string",
            "description": "Variant or sub name of vehicle."
          },
          "transportType": {
            "type": "string",
            "description": "Transport type.",
            "enum": [
              "PEDESTRIAN",
              "BICYCLE",
              "MOTORCYCLE",
              "CAR",
              "TAXI",
              "PUBLIC_BUS",
              "EMERGENCY",
              "DELIVERY_TRUCK",
              "TRUCK"
            ],
            "x-enumDescriptions": {
              "PEDESTRIAN": "Pedestrian.",
              "BICYCLE": "Bicycle.",
              "MOTORCYCLE": "Motorcycle.",
              "CAR": "Passenger car, tourist car.",
              "TAXI": "Taxi.",
              "PUBLIC_BUS": "Public bus.",
              "EMERGENCY": "Emergency vehicle.",
              "DELIVERY_TRUCK": "Delivery truck.",
              "TRUCK": "Truck."
            }
          },
          "height": {
            "type": "integer",
            "format": "int32",
            "description": "Height in cm."
          },
          "width": {
            "type": "integer",
            "format": "int32",
            "description": "Width in cm."
          },
          "length": {
            "type": "integer",
            "format": "int32",
            "description": "Length in cm."
          },
          "batteryName": {
            "type": "string",
            "description": "The commercial name or power of vehicle battery."
          },
          "chargerPowerAcSinglePhase": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power (in kW) in AC 1 phase current type."
          },
          "chargerPowerAcThreePhases": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power (in kW) in AC 3 phases current type."
          },
          "chargerPowerDC": {
            "type": "number",
            "format": "double",
            "description": "Maximum charge power (in kW) in DC current type."
          },
          "maxWeight": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum weight in tenth of ton."
          },
          "maxWeightPerAxle": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum weight per axle in tenth of ton."
          },
          "connectorTypes": {
            "type": "array",
            "description": "List of default connector types defined by the server vehicle profile.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "plugAndAutoCharge": {
            "$ref": "#/components/schemas/PlugAndAutoChargeFront",
            "description": "Defines if the vehicle has the AutoCharge capability. AutoCharge is an EV charging technology that enables automatic authentication and initiation of a charging session by recognising a unique identifier from the EV. AutoCharge shares similarities with Plug and Charge (PnC) technology, but there are important distinctions between the two. PnC is a more comprehensive authentication standard, established by the ISO 15118 protocol."
          },
          "wltp": {
            "$ref": "#/components/schemas/VehicleWltp",
            "description": "WLTP information of vehicle."
          },
          "consumptionInWhPerKm": {
            "type": "number",
            "format": "float",
            "description": "Vehicle consumption in Wh/km."
          },
          "encDatasheet": {
            "type": "string",
            "description": "Base64 encoded and encrypted JSON that contains the vehicle datasheet."
          }
        }
      },
      "VehicleInfoV2": {
        "type": "object",
        "description": "Class describing the vehicle information used for the journey computation.",
        "properties": {
          "brand": {
            "type": "string",
            "description": "Brand name."
          },
          "name": {
            "type": "string",
            "description": "Model name of vehicle."
          },
          "variant": {
            "type": "string",
            "description": "Variant of model."
          },
          "year": {
            "type": "string",
            "description": "Year of vehicle model."
          }
        },
        "required": [
          "brand",
          "name"
        ]
      },
      "VehicleModelsResponse": {
        "type": "object",
        "description": "Class representing a vehicle models response.",
        "properties": {
          "vehicles": {
            "type": "array",
            "description": "A list of vehicle information.",
            "items": {
              "$ref": "#/components/schemas/VehicleInfo"
            }
          }
        }
      },
      "VehicleModelsResponseV1Dot1": {
        "type": "object",
        "description": "Class representing a vehicle models response.",
        "properties": {
          "vehicles": {
            "type": "array",
            "description": "A list of vehicle information.",
            "items": {
              "$ref": "#/components/schemas/VehicleInfoV1Dot1"
            }
          }
        }
      },
      "VehiclePictureDescription": {
        "type": "object",
        "description": "Class representing a vehicle picture description.",
        "properties": {
          "vehicleUuidKey": {
            "type": "string",
            "description": "Unique key identifier of vehicle."
          },
          "view": {
            "type": "string",
            "description": "View of the picture.",
            "enum": [
              "FRONT",
              "REAR",
              "SIDE",
              "PERSPECTIVE",
              "UP",
              "NOT_SUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "FRONT": "Front View of the vehicle's picture.",
              "REAR": "Rear View of the vehicle's picture.",
              "SIDE": "Side View of the vehicle's picture.",
              "PERSPECTIVE": "Perspective View of the vehicle's picture.",
              "UP": "Up View of the vehicle's picture.",
              "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
            }
          },
          "pictureFileFormat": {
            "type": "string",
            "description": "Image file format of the vehicle photo.",
            "enum": [
              "PNG",
              "PNG24",
              "GIF",
              "JPEG",
              "NOT_SUPPORTED_VALUE"
            ],
            "x-enumDescriptions": {
              "PNG": "PNG 8 bit format: Indexed color (8 bits per pixel).",
              "PNG24": "PNG 24 bit format: RGB + alpha channel (32 bits per pixel).",
              "GIF": "GIF format: Indexed color (8 bits per pixel).",
              "JPEG": "JPEG format: RGB (24 bits per pixel).",
              "NOT_SUPPORTED_VALUE": "Not supported value for this API version."
            }
          },
          "picture": {
            "type": "string",
            "format": "byte",
            "description": "Photo of the vehicle."
          }
        },
        "required": [
          "picture",
          "pictureFileFormat",
          "vehicleUuidKey",
          "view"
        ]
      },
      "VehicleRequest": {
        "type": "object",
        "description": "Class representing a vehicle request.",
        "properties": {
          "vehicle": {
            "type": "string",
            "description": "Vehicle id (uuid key)."
          },
          "brandId": {
            "type": "string",
            "description": "EV vehicle brand ID."
          },
          "name": {
            "type": "string",
            "description": "Vehicle model name."
          },
          "batteryName": {
            "type": "string",
            "description": "Battery name."
          },
          "batteryCapacity": {
            "type": "string",
            "deprecated": true,
            "description": "Battery capacity."
          },
          "year": {
            "type": "string",
            "description": "Year of release and end of series in format yyyy or yyyy-yyyy."
          },
          "motorType": {
            "type": "string",
            "description": "Define the type of motor (engine), is an electric or PHEV motor.",
            "enum": [
              "EV",
              "HEV",
              "PHEV"
            ],
            "x-enumDescriptions": {
              "EV": "Electric Vehicle.",
              "HEV": "Hybrid Electric Vehicle.",
              "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug)."
            }
          },
          "chargerPowerDC": {
            "type": "number",
            "format": "double",
            "description": "DC Power in kW of vehicle charger."
          },
          "chargerPowerAC": {
            "type": "number",
            "format": "double",
            "description": "AC Power in kW of vehicle charger."
          },
          "enableDatasheet": {
            "type": "boolean",
            "description": "Enable the returned datasheet of vehicle. See field encDatasheet."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "WGS84 coordinate. Used to filter vehicle data such as available connectors in this country."
          },
          "countryCode": {
            "type": "string",
            "description": "ISO-3 country code. Used to filter vehicle data such as available connectors in this country."
          }
        }
      },
      "VehicleRequestV1Dot1": {
        "type": "object",
        "description": "Class representing a vehicle request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "vehicle": {
            "type": "string",
            "description": "Vehicle id (uuid key)."
          },
          "brandId": {
            "type": "string",
            "description": "EV vehicle brand ID."
          },
          "name": {
            "type": "string",
            "description": "Vehicle model name."
          },
          "variant": {
            "type": "string",
            "description": "Vehicle model variant name."
          },
          "year": {
            "type": "string",
            "description": "Year of release and end of series in format yyyy or yyyy-yyyy."
          },
          "batteryName": {
            "type": "string",
            "description": "Battery name."
          },
          "batteryCapacity": {
            "type": "string",
            "deprecated": true,
            "description": "Battery capacity."
          },
          "motorType": {
            "type": "string",
            "description": "Define the type of motor (engine), is an electric or PHEV motor.",
            "enum": [
              "EV",
              "HEV",
              "PHEV"
            ],
            "x-enumDescriptions": {
              "EV": "Electric Vehicle.",
              "HEV": "Hybrid Electric Vehicle.",
              "PHEV": "Plug-in Hybrid Electric Vehicle (with electric plug)."
            }
          },
          "chargerPowerDC": {
            "type": "number",
            "format": "double",
            "description": "DC Power in kW of vehicle charger."
          },
          "chargerPowerAC": {
            "type": "number",
            "format": "double",
            "description": "AC Power in kW of vehicle charger."
          },
          "enableDatasheet": {
            "type": "boolean",
            "description": "Enable the returned datasheet of vehicle. See field encDatasheet."
          },
          "coordinate": {
            "$ref": "#/components/schemas/CoordinateV1Dot1",
            "description": "WGS84 coordinate. Used to filter vehicle data such as available connectors in this country."
          },
          "countryCode": {
            "type": "string",
            "description": "ISO-3 country code. Used to filter vehicle data such as available connectors in this country."
          }
        }
      },
      "VehicleWltp": {
        "type": "object",
        "description": "Define the WLTP information of vehicle.",
        "properties": {
          "urbanWltp": {
            "type": "number",
            "format": "double",
            "description": "The WLTP provided by the vehicle manufacturer for an urban cycle. Containing only the first two phases of the complete WLTP cycle."
          },
          "completeWltp": {
            "type": "number",
            "format": "double",
            "description": "The WLTP provided by the vehicle manufacturer for a complete cycle. Containing all four phases of WLTP."
          }
        }
      },
      "Via": {
        "type": "object",
        "description": "Describe the coordinate of a way-point (via).",
        "properties": {
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system/))."
          },
          "alt": {
            "type": "number",
            "format": "double",
            "description": "Altitude in meters."
          },
          "heading": {
            "type": "number",
            "format": "double",
            "description": "Heading angle in degrees (optional). For BeNomad engine: If the angle is not available, set this field and speed field to 0."
          },
          "speed": {
            "type": "number",
            "format": "float",
            "description": "Speed in km/h (optional). For BeNomad engine: Use this field only if the heading is available."
          },
          "time": {
            "type": "integer",
            "format": "int64",
            "description": "GPS time in milliseconds."
          },
          "sat": {
            "type": "integer",
            "format": "int32",
            "description": "Number of satellites available."
          },
          "radius": {
            "type": "integer",
            "format": "int32",
            "description": "Radius in meters around the coordinate. This radius defines the maximum distance the route calculation should approach the coordinate."
          },
          "ignorePoint": {
            "type": "boolean",
            "description": "Defines if this coordinate is ignored by the route calculation. `false` by default."
          },
          "ignoreTrafficDirections": {
            "type": "boolean",
            "description": "Defines if traffic directions should be ignored by route calculation between this waypoint and the next one. `false` by default."
          },
          "ignoreRestrictions": {
            "type": "boolean",
            "description": "Defines if forbidden maneuvers and blocked passages should be ignored by route calculation between this coordinate and the next one. `false` by default."
          },
          "avoidUTurn": {
            "type": "boolean",
            "description": "Defines if a UTurn should be avoided by route calculation on this coordinate. Not defined by default."
          },
          "useStartAngle": {
            "type": "boolean",
            "description": "If set to `true` and coordinate is located on a two-way road and heading is defined, coordinate's heading will be used as a general direction for departure from this coordinate. See the `heading` parameter. Not defined by default."
          },
          "useStopRoadSide": {
            "type": "boolean",
            "description": "Defines if route calculation must arrive on this coordinate on its side (if coordinate is on a two-way road). Not defined by default."
          },
          "stopDuration": {
            "type": "integer",
            "format": "int32",
            "description": "Stop duration in seconds associated to the destination coordinate. By default `0`. Note: if charging times are defined. Forced charges take priority over charge times. Note: only about forced charge, stop duration could be linked chargeMaxDist in case of forced charge. To ensure that charge duration is superior to stopDuration + FixedStopTime in EV Smart Routing, the stop duration used is min(stopDuration, KB_MIN_CHARGE_DURATION + FixedStopTime). However the original value stopDuration is not modified."
          },
          "chargeMaxDistance": {
            "type": "integer",
            "format": "int32",
            "description": "This parameter should be defined to impose a charge around this destination. It defines the maximum walking distance 3000 meters a charge point can be from this destination to force a charge (0 means no charge forced). By default `0`. NOTE: If you combine this parameter with the `stopDuration` parameter it will define how much time can be used for charging."
          },
          "transportType": {
            "type": "string",
            "description": "Transport type associated to the destination coordinate. Useful for discriminating between passenger car, taxi and emergency.",
            "enum": [
              "PEDESTRIAN",
              "BICYCLE",
              "MOTORCYCLE",
              "CAR",
              "TAXI",
              "PUBLIC_BUS",
              "EMERGENCY",
              "DELIVERY_TRUCK",
              "TRUCK"
            ],
            "x-enumDescriptions": {
              "PEDESTRIAN": "Pedestrian.",
              "BICYCLE": "Bicycle.",
              "MOTORCYCLE": "Motorcycle.",
              "CAR": "Passenger car, tourist car.",
              "TAXI": "Taxi.",
              "PUBLIC_BUS": "Public bus.",
              "EMERGENCY": "Emergency vehicle.",
              "DELIVERY_TRUCK": "Delivery truck.",
              "TRUCK": "Truck."
            }
          },
          "maxSpeed": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum Speed in km/h associated to this destination coordinate. If not 0 this will force routing calculation to bound all driving speeds between this destination and the next one. If 0 the global maximum speed will be used if defined. By default `0`."
          },
          "ignoreVehicleProfile": {
            "type": "boolean",
            "description": "Ignore vehicle profile status."
          }
        },
        "required": [
          "lat",
          "lon"
        ]
      },
      "WeatherCond": {
        "type": "object",
        "description": "Class representing a weather condition.",
        "properties": {
          "providerId": {
            "type": "string",
            "description": "Weather condition id."
          },
          "category": {
            "type": "string",
            "enum": [
              "NOT_SUPPORTED_VALUE",
              "UNKNOWN",
              "THUNDERSTORM_WITH_LIGHT_RAIN",
              "THUNDERSTORM_WITH_RAIN",
              "THUNDERSTORM_WITH_HEAVY_RAIN",
              "LIGHT_THUNDERSTORM",
              "THUNDERSTORM",
              "HEAVY_THUNDERSTORM",
              "RAGGED_THUNDERSTORM",
              "THUNDERSTORM_WITH_LIGHT_DRIZZLE",
              "THUNDERSTORM_WITH_DRIZZLE",
              "THUNDERSTORM_WITH_HEAVY_DRIZZLE",
              "LIGHT_INTENSITY_DRIZZLE",
              "DRIZZLE",
              "HEAVY_INTENSITY_DRIZZLE",
              "LIGHT_INTENSITY_DRIZZLE_RAIN",
              "DRIZZLE_RAIN",
              "HEAVY_INTENSITY_DRIZZLE_RAIN",
              "SHOWER_RAIN_AND_DRIZZLE",
              "HEAVY_SHOWER_RAIN_AND_DRIZZLE",
              "SHOWER_DRIZZLE",
              "LIGHT_RAIN",
              "MODERATE_RAIN",
              "HEAVY_INTENSITY_RAIN",
              "VERY_HEAVY_RAIN",
              "EXTREME_RAIN",
              "FREEZING_RAIN",
              "LIGHT_INTENSITY_SHOWER_RAIN",
              "SHOWER_RAIN",
              "HEAVY_INTENSITY_SHOWER_RAIN",
              "RAGGED_SHOWER_RAIN",
              "LIGHT_SNOW",
              "SNOW",
              "HEAVY_SNOW",
              "SLEET",
              "LIGHT_SHOWER_SLEET",
              "SHOWER_SLEET",
              "LIGHT_RAIN_AND_SNOW",
              "RAIN_AND_SNOW",
              "LIGHT_SHOWER_SNOW",
              "SHOWER_SNOW",
              "HEAVY_SHOWER_SNOW",
              "MIST",
              "SMOKE",
              "HAZE",
              "SAND_DUST_WHIRLS",
              "FOG",
              "SAND",
              "DUST",
              "VOLCANIC_ASH",
              "SQUALLS",
              "TORNADO",
              "CLEAR_SKY",
              "FEW_CLOUDS_11_25",
              "SCATTERED_CLOUDS_25_50",
              "BROKEN_CLOUDS_51_84",
              "OVERCAST_CLOUDS_85_100"
            ],
            "x-enumDescriptions": {
              "NOT_SUPPORTED_VALUE": "Not supported value.",
              "UNKNOWN": "Unknown.",
              "THUNDERSTORM_WITH_LIGHT_RAIN": "Thunderstorm with light rain.",
              "THUNDERSTORM_WITH_RAIN": "Thunderstorm with rain.",
              "THUNDERSTORM_WITH_HEAVY_RAIN": "Thunderstorm with heavy rain.",
              "LIGHT_THUNDERSTORM": "Light thunderstorm.",
              "THUNDERSTORM": "Thunderstorm.",
              "HEAVY_THUNDERSTORM": "Heavy thunderstorm.",
              "RAGGED_THUNDERSTORM": "Ragged thunderstorm.",
              "THUNDERSTORM_WITH_LIGHT_DRIZZLE": "Thunderstorm with light drizzle.",
              "THUNDERSTORM_WITH_DRIZZLE": "Thunderstorm with drizzle.",
              "THUNDERSTORM_WITH_HEAVY_DRIZZLE": "Thunderstorm with heavy drizzle.",
              "LIGHT_INTENSITY_DRIZZLE": "Light intensity drizzle.",
              "DRIZZLE": "Drizzle.",
              "HEAVY_INTENSITY_DRIZZLE": "Heavy intensity drizzle.",
              "LIGHT_INTENSITY_DRIZZLE_RAIN": "Light intensity drizzle rain.",
              "DRIZZLE_RAIN": "Drizzle rain.",
              "HEAVY_INTENSITY_DRIZZLE_RAIN": "Heavy intensity drizzle rain.",
              "SHOWER_RAIN_AND_DRIZZLE": "Shower rain and drizzle.",
              "HEAVY_SHOWER_RAIN_AND_DRIZZLE": "Heavy shower rain and drizzle.",
              "SHOWER_DRIZZLE": "Shower drizzle.",
              "LIGHT_RAIN": "Light rain.",
              "MODERATE_RAIN": "Moderate rain.",
              "HEAVY_INTENSITY_RAIN": "Heavy intensity rain.",
              "VERY_HEAVY_RAIN": "Very heavy rain.",
              "EXTREME_RAIN": "Extreme rain.",
              "FREEZING_RAIN": "Freezing rain.",
              "LIGHT_INTENSITY_SHOWER_RAIN": "Light intensity shower rain.",
              "SHOWER_RAIN": "Shower rain.",
              "HEAVY_INTENSITY_SHOWER_RAIN": "Heavy intensity shower rain.",
              "RAGGED_SHOWER_RAIN": "Ragged shower rain.",
              "LIGHT_SNOW": "Light snow.",
              "SNOW": "Snow.",
              "HEAVY_SNOW": "Heavy snow.",
              "SLEET": "Sleet.",
              "LIGHT_SHOWER_SLEET": "Light shower sleet.",
              "SHOWER_SLEET": "Shower sleet.",
              "LIGHT_RAIN_AND_SNOW": "Light rain and snow.",
              "RAIN_AND_SNOW": "Rain and snow.",
              "LIGHT_SHOWER_SNOW": "Light shower snow.",
              "SHOWER_SNOW": "Shower snow.",
              "HEAVY_SHOWER_SNOW": "Heavy shower snow.",
              "MIST": "Mist.",
              "SMOKE": "Smoke.",
              "HAZE": "Haze.",
              "SAND_DUST_WHIRLS": "Sand/dust whirls.",
              "FOG": "Fog.",
              "SAND": "Sand.",
              "DUST": "Dust.",
              "VOLCANIC_ASH": "Volcanic ash.",
              "SQUALLS": "Squalls.",
              "TORNADO": "Tornado.",
              "CLEAR_SKY": "Clear sky.",
              "FEW_CLOUDS_11_25": "Few clouds: 11-25%.",
              "SCATTERED_CLOUDS_25_50": "Scattered clouds: 25-50%.",
              "BROKEN_CLOUDS_51_84": "Broken clouds: 51-84%.",
              "OVERCAST_CLOUDS_85_100": "Overcast clouds: 85-100%."
            }
          },
          "condition": {
            "type": "string",
            "description": "Group of weather parameters (Rain, Snow, Extreme etc.)."
          },
          "description": {
            "type": "string",
            "description": "Weather condition within the group."
          },
          "providerIcon": {
            "type": "string",
            "description": "Weather icon id of provider."
          }
        }
      },
      "WeatherLoc": {
        "type": "object",
        "description": "Class representing a weather location.",
        "properties": {
          "providerId": {
            "type": "string",
            "description": "City/Place ID of provider.."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "coordinate": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "City geo location, latitude."
          }
        }
      },
      "WeatherPress": {
        "type": "object",
        "description": "Class representing a weather pressure.",
        "properties": {
          "pressure": {
            "type": "number",
            "format": "float",
            "description": "Atmospheric pressure on the sea level by default, hPa."
          },
          "seaLevel": {
            "type": "number",
            "format": "float",
            "description": "Atmospheric pressure on the sea level, hPa."
          },
          "groundLevel": {
            "type": "number",
            "format": "float",
            "description": "Atmospheric pressure on the ground level, hPa."
          }
        }
      },
      "WeatherRequest": {
        "type": "object",
        "description": "Class representing a weather request.",
        "properties": {
          "geoserver": {
            "type": "string",
            "description": "Geoserver name."
          },
          "swidx": {
            "type": "integer",
            "format": "int32",
            "deprecated": true,
            "description": "Switch index."
          },
          "provider": {
            "type": "string",
            "description": "Provider name."
          },
          "current": {
            "type": "boolean",
            "description": "To get the current weather condition."
          },
          "forecast": {
            "type": "boolean",
            "description": "To get the forecast weather conditions."
          },
          "id": {
            "type": "string",
            "description": "Search the weather for a city by the ID of city. To use this, the ID must be known. Also the search by city name is available."
          },
          "city": {
            "type": "string",
            "description": "Search the weather for a city by the name."
          },
          "coord": {
            "$ref": "#/components/schemas/Coordinate",
            "description": "Search the weather for a city by the coordinate in the city area."
          },
          "cacheRadius": {
            "type": "number",
            "format": "double",
            "description": "Radius in meters used in coordinate search (coord parameter) to limit the search area in weather cache around the coordinate."
          },
          "pc": {
            "type": "string",
            "description": "Search the weather for a postal code."
          },
          "dtFilter": {
            "type": "string",
            "description": "Filter by date and time. The forecast will be filtered to return only the requested time slot. This parameter is an EPOCH time stamp in milliseconds (UTC) or can take an string with ISO local date time format like '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'."
          }
        },
        "required": [
          "provider"
        ]
      },
      "WeatherResponse": {
        "type": "object",
        "description": "Class representing a weather response.",
        "properties": {
          "currentWeather": {
            "$ref": "#/components/schemas/WeatherService",
            "description": "Current weather."
          },
          "filteredCurrentWeather": {
            "type": "boolean"
          },
          "forecast": {
            "$ref": "#/components/schemas/ForecastService",
            "description": "Weather forecast."
          },
          "filteredForecast": {
            "type": "boolean",
            "description": "Filtered forecast."
          }
        }
      },
      "WeatherService": {
        "type": "object",
        "description": "Class representing a weather service.",
        "properties": {
          "timezone": {
            "type": "integer",
            "format": "int64",
            "description": "Shift in milliseconds from UTC."
          },
          "datetime": {
            "type": "integer",
            "format": "int64",
            "description": "Time of data forecasted, UNIX, UTC, in milliseconds."
          },
          "datetimeTxt": {
            "type": "string",
            "description": "Data/time of calculation, UTC."
          },
          "location": {
            "$ref": "#/components/schemas/WeatherLoc",
            "description": "Location."
          },
          "conditions": {
            "type": "array",
            "description": "Weather conditions.",
            "items": {
              "$ref": "#/components/schemas/WeatherCond"
            }
          },
          "temperature": {
            "$ref": "#/components/schemas/WeatherTemp",
            "description": "Weather temperature."
          },
          "humidity": {
            "type": "number",
            "format": "float",
            "description": "Humidity, %."
          },
          "pressure": {
            "$ref": "#/components/schemas/WeatherPress",
            "description": "Weather pressure."
          },
          "cloud": {
            "type": "number",
            "format": "float",
            "description": "Cloudiness, %."
          },
          "visibility": {
            "type": "integer",
            "format": "int32",
            "description": "Visibility in meter."
          },
          "wind": {
            "$ref": "#/components/schemas/WeatherWnd",
            "description": "Weather wind."
          },
          "rainVolume3h": {
            "type": "number",
            "format": "float",
            "description": "Rain volume over the last 3 hours, measured in millimeters."
          },
          "snowVolume3h": {
            "type": "number",
            "format": "float",
            "description": "Snow volume over the last 3 hours, measured in millimeters."
          }
        }
      },
      "WeatherTemp": {
        "type": "object",
        "description": "Class representing a weather temperature.",
        "properties": {
          "temperature": {
            "type": "number",
            "format": "float",
            "description": "Temperature, Unit Celsius."
          },
          "minimum": {
            "type": "number",
            "format": "float",
            "description": "Minimum temperature at the moment of calculation. This is deviation from 'temperature' that is possible for large cities and megalopolises geographically expanded (use these parameter optionally). Unit Celsius.."
          },
          "maximum": {
            "type": "number",
            "format": "float",
            "description": "Maximum temperature at the moment of calculation. This is deviation from 'temperature' that is possible for large cities and megalopolises geographically expanded (use these parameter optionally). Unit Celsius.."
          }
        }
      },
      "WeatherWnd": {
        "type": "object",
        "description": "Class representing a weather wind.",
        "properties": {
          "speed": {
            "type": "number",
            "format": "float",
            "description": "Wind speed, measured in meters per second (m/s)."
          },
          "heading": {
            "type": "number",
            "format": "float",
            "description": "Wind direction, degrees (meteorological)."
          }
        }
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "description": "Account and API key, see the authentication documentation.",
        "scheme": "basic"
      },
      "sessionId": {
        "type": "apiKey",
        "description": "Session identifier returned by the authentication API.",
        "name": "X-Auth-ID",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    },
    {
      "sessionId": []
    }
  ],
  "tags": [
    {
      "name": "Routing",
      "description": "Performs route computations through the road network. Also performs isochrone and origin destination matrix calculations."
    },
    {
      "name": "Currency",
      "description": "About the currency rates and convertion"
    },
    {
      "name": "Geofencing",
      "description": "About the geo-fencing"
    },
    {
      "name": "Roads extractor",
      "description": "Extract the roads information process for a specified type of vehicle within a specified polygon."
    },
    {
      "name": "Weather",
      "description": "About the weather and forcast conditions"
    },
    {
      "name": "Vehicle",
      "description": "About the vehicles used by EV smart routing and EV reachable area services. Deprecated, see the next version 1.1."
    },
    {
      "name": "Charging station",
      "description": "About the reseach of charging stations or cost calculation"
    },
    {
      "name": "Charging time",
      "description": "About the charging time calculations."
    },
    {
      "name": "Geocoding",
      "description": "About the geocoding, reverse-geocoding operation and more localization"
    },
    {
      "name": "Traffic",
      "description": "About the route traffic information"
    }
  ]
}
