# EV smart routing · v1.0

> API reference: [`POST /evsmartrouting/1.0`](https://benomad.com/dev/doc/bemap-api/api/electric-mobility/evsmartrouting-v1-0.md)

<span class="float-right shadow">![Illustration of near POI service](https://benomad.com/dev/doc/bemap-api/guides/images/evsmartrouting-service-map.jpg)</span>

<p class="eyebrow">REST API, Service version 1.0.0</p>

# EV smart routing · v1.0

Performs a route calculation dedicated to electric vehicles.
If the vehicle's range is insufficient to reach the final destination, this service returns a route that includes deviations to charging stations (also known as step points).

## Request
The request must be sent using the HTTP `POST` method with the `Content-Type` header set to `application/json`.

**Sample:**

End-point URI: `/bgis/service/evsmartrouting/1.0`.

HTTP header: `Content-Type: application/json`.

POST data:
```javascript
{
  "vehicle": "06b5c02d-ba2e-4b14-8b2b-6d793aac0da0",
  "initBatLvl": 100,
  "minBatLvl": 10,
  "minArrivalBatLvl": 15,
  "temperature": 20,
  "payload": 75,
  "startLon": 2.3414,
  "startLat": 48.85717,
  "stopLon": 4.82965,
  "stopLat": 45.75917,
  "pl": false,
  "epl": true,
  "cur": "EUR"
}
```

All coordinates are defined by longitude and latitude, see the [coordinate system](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md) glossary for more details.

### __Parameters__

- `startLon` (number (double), required): Departure longitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format.
- `startLat` (number (double), required): Departure latitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format.
- `stopLon` (number (double), required): Arrival longitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format.
- `stopLat` (number (double), required): Arrival latitude in decimal degrees (WGS84). Ensure these values are provided in decimal degrees format.
- `criterias` (enum[]): This field is a list of criteria used by the routing calculator, e.g.: `AVOID_MOTORWAYS`, `AVOID_TOLLS`.
  - `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` (enum): Routing optimization mode. `FASTEST` by default.
  - `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` (string): Geoserver name.
- `swidx` (integer (int32), deprecated): Switch index.
- `debugStat` (boolean): Enable the performance statistics of EV Smart Routing service. It's of BeNomad debug only. False by default.
- `csps` (string[]): List of charging station provider names.
- `csfs` (string[]): 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.md).
- `csdepcnt` (boolean): Set to `true` to enable the support of charging station deprecated connector types.By default `false`.
- `vehicle` (string): Vehicle model (UUID key).
- `initBatLvl` (number (double)): Initial battery level in percent. Available value 0 to 100. 100% if not defined.
- `minBatLvl` (number (double)): 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` (number (double)): 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` (number (float)): 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` (boolean): Enable the weather information.
- `wp` (string): Enable the weather information.
- `temperature` (integer (int32)): Temperature in Celsius. 20 by default.
- `departureTime` (string): 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` (integer (int32)): Defines the fixed additional time in seconds for each charging stop. Also accepted as `stepPointPlugingTime`.
- `payload` (integer (int32)): Vehicle's extra load (consumables or passengers weight for example) (in kg). 75kg by default.
- `extraPayload` (integer (int32), deprecated): Additional load weight in kg (like passengers, luggage or tools). Deprecated and not supported anymore, use the `payload` field. Also accepted as `extraPayLoad`.
- `vias` (EnergyRoutingDest[]): List of intermediate (via) points between start and stop points used by the routing calculation.
  - `lon` (number (double), required): Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `longitude`.
  - `lat` (number (double), required): Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `latitude`.
  - `ignoreVehicleProfile` (boolean)
  - `stopDuration` (integer (int32)): 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` (integer (int32)): 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. Also accepted as `chargeMaxDistance`.
  - `maxSpd` (integer (int32)): 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`. Also accepted as `maxSpeed`.
- `connectorTypes` (integer (int32)[]): List of connector type IDs used to perform a filter based on these connectors.
- `restrictedEvse` (boolean): Allows restricted charging stations, like private or employees only.
- `aroundEvse` (boolean, deprecated): Provides list of charging stations around the step points in the response.
- `evseStart` (boolean, deprecated): Deprecated. If set to `true`, disables the charging station search around start point.
- `evseMid` (boolean, deprecated): Deprecated. If set to `true`, disables the charging station search around middle of the route.
- `evseEnd` (boolean, deprecated): Deprecated. If set to `true`, disables the charging station search around stop point.
- `pl` (boolean): Set to `true` to provide the route's polyline. Otherwise set to `false`.
- `epl` (boolean): Set to `true` to provide the route's encoded polyline, see `Google Encoded Polyline Algorithm Format` in glossary. Otherwise set to `false`.
- `evt` (boolean): 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` (integer (int32)): 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` (integer (int32)): 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` (string): 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` (EvDrivingStyle): Driving style definition.
  - `mode` (enum, required): Define the driving mode.
    - `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` (integer (int32)): 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` (boolean): Allows to define a maximum speed above the vehicle's maximum speed defined in the vehicle's database.
  - `maxAcc` (number (double)): Average vehicle's acceleration in m/s². Must be > 0. For example: 1.25 m/s².
  - `maxDec` (number (double)): Average vehicle's deceleration in m/s². Must be < 0. For example: -1.25 m/s².
  - `sps` (RoutingSpeedPond[]): Speed weight coefficient for the specified road network level. A value < 1 will reduce speeds. A value > 1 will increase speeds.
    - `factor` (number (float), required): 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` (integer (int32), required): Road element's level (0: all 4 levels, 1: main level, 2: secondary level, 3: third level, 4: fourth level).
    - `roadType` (enum): Define the road type.
      - `ALL`: All road network.
      - `DEFAULT`: Default.
      - `FERRY`: Ferry line.
      - `MOTORWAY`: Motorway.
      - `PEDESTRIAN`: Pedestrian.
      - `ROUNDABOUNT`: Roundabout.
      - `SLIPROAD`: Slip road.
    - `pondType` (enum): Define the ponderation type.
      - `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).
- `allowNaStatus` (boolean): Allows stops on charging stations with unavailable status (NA). By default `false`.
- `allowMaxSpdReco` (boolean): Allows the service to define maximum speeds between step points. In response the field `maxSpeed` will be computed and returned.
- `stepPointTimeSlots` (StepPointTimeSlot[]): List of step point time slots. Note: If forced charges are defined, they take priority over charge times.
  - `duration` (integer (int32), required): Stop duration in seconds.
  - `startDateTime` (string, required): Start local date time in text format ISO YYYY-MM-DDThh:mm:ss (e.g: 2020-09-08T12:28:00).
  - `stopDateTime` (string, required): Stop local date time in text format ISO YYYY-MM-DDThh:mm:ss (e.g: 2020-09-08T12:28:00).
  - `serviceCategory` (string): 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. Semantics: - `!`: not (unary). - `|`: or (binary). - `&`: and (binary). - `(`: open section. - `)`: close section. - POI Class ID (numeric value defining the type of service, see the `Class ID list` in Glossary menu). For 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` (integer (int32)): Maximum walking distance in meters in range [50, 1000] between the step point and the service(s). 1000 meters by default.
- `co2emissions` (boolean): Allows the service to set whether to calculate the CO2 estimation or not

To get the complete list of available connector types, see the [Charging station connector service](https://benomad.com/dev/doc/bemap-api/guides/services/chargingstation-connector.md).

See the [Currency Codes](https://benomad.com/dev/doc/bemap-api/guides/services/currency-codes.md) service to get the available codes.

## Response

### Details of fields

- `logTag` (string): Log tag is an UUID tag used during the request calculation in log and send to other provider (if need).
- `journey` (JourneyFront): Describes the whole itinerary which can be composed of multiple routes.
  - `chargingCost` (ChargingCost): Sum of charging cost.
    - `currency` (string): Currency ISO 4217 Code.
    - `withoutVat` (number (float)): Price without VAT.
    - `includeVat` (number (float)): Price include VAT.
  - `distance` (integer (int64)): Distance: sum of distance, in meters.
  - `duration` (integer (int64)): Duration: sum of duration, in seconds.
  - `batteryLevel` (number (double)): Remaining battery level (in percentage) at the end of the trip.
  - `consumed` (number (double)): Sum of consumed values in kWh.
  - `chargingTime` (integer (int64)): Sum of charging time in seconds.
  - `departureTime` (integer (int64)): Departure time is an EPOCH time stamp in milliseconds.
  - `arrivalTime` (integer (int64)): Arrival time is an EPOCH time stamp in milliseconds.
  - `vehicle` (string): Vehicle name.
  - `savedCo2Emissions` (number (double)): 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.
- `inputInfo` (InputInfo): Information about the inputs coordinates.
  - `start` (MatchedInfo): Information about the start input coordinate.
    - `lon` (number (double), required): Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `longitude`.
    - `lat` (number (double), required): Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `latitude`.
    - `address` (string): Address.
    - `weather` (LocalWeather): Weather condition at Step point.
      - `temperature` (number (float)): Temperature, Unit Celsius.
      - `condition` (string): Group of weather parameters (Rain, Snow, Extreme etc.).
      - `description` (string): Weather condition within the group.
      - `icon` (string): Weather icon id of provider.
    - `maxSpeed` (integer (int32)): Maximum speeds in km/h recommended by calculation from the start coordinate to the stop or first step-point coordinate.
  - `vias` (MatchedInfo[]): Information about the vias input coordinates.
    - `lon` (number (double), required): Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `longitude`.
    - `lat` (number (double), required): Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `latitude`.
    - `address` (string): Address.
    - `weather` (LocalWeather): Weather condition at Step point.
      - `temperature` (number (float)): Temperature, Unit Celsius.
      - `condition` (string): Group of weather parameters (Rain, Snow, Extreme etc.).
      - `description` (string): Weather condition within the group.
      - `icon` (string): Weather icon id of provider.
    - `maxSpeed` (integer (int32)): Maximum speeds in km/h recommended by calculation from the start coordinate to the stop or first step-point coordinate.
  - `stop` (MatchedInfo): Information about the stop input coordinate.
    - `lon` (number (double), required): Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `longitude`.
    - `lat` (number (double), required): Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `latitude`.
    - `address` (string): Address.
    - `weather` (LocalWeather): Weather condition at Step point.
      - `temperature` (number (float)): Temperature, Unit Celsius.
      - `condition` (string): Group of weather parameters (Rain, Snow, Extreme etc.).
      - `description` (string): Weather condition within the group.
      - `icon` (string): Weather icon id of provider.
    - `maxSpeed` (integer (int32)): Maximum speeds in km/h recommended by calculation from the start coordinate to the stop or first step-point coordinate.
- `boundingBox` (BoundingBox): The rectangle that encompasses the entire trip, defined by four coordinates.
  - `minLon` (number (double)): Minimum longitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)).
  - `minLat` (number (double)): Minimum latitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)).
  - `maxLon` (number (double)): Maximum longitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)).
  - `maxLat` (number (double)): Maximum latitude, in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)).
- `route` (RouteFront): Describes the calculated route.
  - `stepPoints` (StepPointFront[]): Define the list of StepPoint.
    - `id` (string): Unique identifier of pool, come from the provider.
    - `operatorId` (string): Operator unique identifier like eMI3 format.
    - `brand` (string): Brand name of pool.
    - `nameOfPool` (string): Name of pool.
    - `accessibility` (string): Define the accessibility of a pool of charging station.
    - `availabilityStatus` (string): Define the status of availability.
    - `longitude` (number (double)): Longitude in degrees decimal (WGS84) (double).
    - `latitude` (number (double)): Latitude in degrees decimal (WGS84) (double).
    - `distance` (integer (int64)): Distance between this step-point and previous step-point or start point, in meters.
    - `duration` (integer (int64)): Duration of travel between this step-point and previous step-point or start point in seconds.
    - `arrivalTime` (integer (int64)): Time stamp in milliseconds of arrival to the step point.
    - `departureTime` (integer (int64)): Time stamp in milliseconds of departure from the step point.
    - `consumed` (number (double)): Battery capacity consumed in kWh.
    - `arrivalBatteryLevel` (number (double)): Battery level at arrival to the step point (in percent).
    - `departureBatteryLevel` (number (double)): Battery level at departure of step point (in percent).
    - `chargingPower` (ChargingPower): Power in kW will used to charge the vehicle battery. This information override the power of charging point.
      - `currentType` (enum): Current type (AC/DC).
        - `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` (number (double)): Power in kW will used to charging the vehicle battery.
      - `cnnTypeId` (integer (int32)): Connector type ID used to charging the vehicle battery.
    - `chargingTime` (integer (int64)): Charging time in seconds.
    - `chargingCost` (ChargingCost): Charging cost.
      - `currency` (string): Currency ISO 4217 Code.
      - `withoutVat` (number (float)): Price without VAT.
      - `includeVat` (number (float)): Price include VAT.
    - `weather` (LocalWeather): Weather condition at Step point.
      - `temperature` (number (float)): Temperature, Unit Celsius.
      - `condition` (string): Group of weather parameters (Rain, Snow, Extreme etc.).
      - `description` (string): Weather condition within the group.
      - `icon` (string): Weather icon id of provider.
    - `countryCode` (string): ISO country code, 2 digits.
    - `country` (string): Country name.
    - `postalCode` (string): Zip code.
    - `city` (string): City name.
    - `street` (string): Street name.
    - `streetNumber` (string): House number.
    - `phoneNumber` (string): Phone number.
    - `timeZone` (string): 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` (boolean): Pool is opened 24x7 hours.
    - `openingHours` (PoolOpeningHour[]): List of opening hours.
      - `dayOfweek` (enum): Day of week.
        - `MONDAY`: MONDAY.
        - `TUESDAY`: TUESDAY.
        - `WEDNESDAY`: WEDNESDAY.
        - `THURSDAY`: THURSDAY.
        - `FRIDAY`: FRIDAY.
        - `SATURDAY`: SATURDAY.
        - `SUNDAY`: SUNDAY.
      - `start` (string): Start time of opened pool.
      - `end` (string): End time of opened pool.
    - `comment` (string): Comment.
    - `images` (ImageUrl[]): Links to images related to the location such as photos or logos.
      - `url` (string): URL from where the image data can be fetched through a web browser.
      - `thumbnailUrl` (string): URL from where a thumbnail of the image can be fetched through a web browser.
      - `category` (enum): Describes what the image is used for. Values can be CHARGER, ENTRANCE, LOCATION, NETWORK, OPERATOR, OTHER, OWNER.
        - `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` (string): Image format like gif, jpeg, png, svg.
      - `width` (integer (int32)): Width of the full-scale image.
      - `height` (integer (int32)): Height of the full-scale image.
    - `chargingStations` (ChargingStation[]): List of charging stations.
      - `id` (string): ID of station.
      - `operatorId` (string): Operator unique identifier like eMI3 format.
      - `nature` (enum): 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.
        - `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` (enum): Define the status of availability.
        - `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` (string[]): Authentication mode.
      - `authenticationInformation` (string): Information about the authentication.
      - `paymentModes` (string[]): Payment mode.
      - `paymentInformation` (string): Information about the payment mode.
      - `chargePasses` (ChargingTariffChargePassFront[]): List of charge pass available a station.
        - `hashId` (string, required): Unique identifier of charge pass.
        - `title` (string, required): Name of charge pass.
        - `networkName` (string): Unique name of charge network.
        - `description` (string): A brief description or summary of the station charge pass.
        - `currency` (string): Currency used for the subscription fee. This field stores the currency code or symbol used for the subscription fee.
        - `subscriptionType` (string): Type of subscription associated with the entity. This may denote the specific subscription model or tier for accessing the station service.
        - `subscriptionFeeExclVat` (number (float)): Subscription fee excluding VAT. This field stores the fee amount charged for a subscription before any value-added tax is applied.
        - `networkUrl` (string): URL link to the website of charge network.
        - `androidAppUrl` (string): URL link to the Android application of charge network.
        - `iosAppUrl` (string): URL link to the iOS application of charge network.
      - `bookable` (boolean): Bookable. Set to true if the station is bookable.
      - `images` (ImageUrl[]): Links to images related to the location such as photos or logos.
        - `url` (string): URL from where the image data can be fetched through a web browser.
        - `thumbnailUrl` (string): URL from where a thumbnail of the image can be fetched through a web browser.
        - `category` (enum): Describes what the image is used for. Values can be CHARGER, ENTRANCE, LOCATION, NETWORK, OPERATOR, OTHER, OWNER.
          - `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` (string): Image format like gif, jpeg, png, svg.
        - `width` (integer (int32)): Width of the full-scale image.
        - `height` (integer (int32)): Height of the full-scale image.
      - `tags` (string[]): List of tags, will be used to perform some filtration based on provider or customer references.
      - `chargingPoints` (ChargingPoint[]): List of charging points.
        - `id` (string): ID of charging point.
        - `operatorId` (string): Operator unique identifier like eMI3 format.
        - `availabilityStatus` (enum): Define the status of availability.
          - `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` (integer (int64)): Availability available until time (Time stamp in milliseconds).
        - `type` (integer (int32)): ID of first connector type.
        - `connectorTypes` (ConnectorTypeFront[]): List of connector type.
          - `id` (integer (int32)): BeMap unique identifier of connector.
          - `key` (string): BeMap unique identifier text key of connector. Same as id field but with string value.
          - `operatorId` (string): Operator unique identifier like eMI3 format.
          - `deprecated` (boolean): Set to true if the information is deprecated.
          - `name` (string): Name of connector.
          - `norm` (string): Norm of connector.
          - `maxPower` (number (double)): Maximal power in kW of connector. Unlimited is `0`.
          - `power` (number (double)): Available power in kW can be delivered by the station or charge point.
          - `voltage` (number (float)): Voltage of current.
          - `ampere` (number (float)): Ampere of current.
          - `acSingle` (boolean): AC single phase.
          - `acThree` (boolean): Current type AC three phases.
          - `dc` (boolean): Current type DC.
          - `cable` (boolean): The connector have a cable.
        - `currentType` (enum): Current type (AC/DC).
          - `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` (number (float)): Voltage of current.
        - `ampere` (number (float)): Ampere of current.
        - `power` (number (double)): Electrical power in kW.
        - `currency` (string): Currency ISO 4217 Code.
        - `remoteCharging` (boolean): True if a charging session can be started remotely.
        - `tariffsType` (string): Represents the type of tariffs, e.i. AD_HOC, MSP.
        - `tariffsChargePassHashId` (string): Represents a unique identifier hash associated with the tariffs used for calculating charges.
        - `tariffs` (ChargingTariffItemFront[]): List of tariff.
          - `prices` (ChargingPrice[], required): List of price.
            - `type` (enum, required): Type of price dimension.
              - `FLAT`: flat fee, no unit.
              - `PARKING_TIME`: time not charging, defined in hours.
              - `ENERGY`: defined in kWh.
              - `TIME`: time charging, defined in hours.
            - `price` (number (float), required): Price per unit (excluding VAT) for this tariff dimension.
            - `unit` (enum): Unit of price.
              - `NA`
              - `PER_HOUR`
              - `PER_KWH`
            - `vat` (number (float)): Applicable VAT percentage for this tariff dimension. If omitted, no VAT is applicable.
            - `minAmount` (number (float)): Minimum amount to be billed.
          - `restriction` (ChargingPriceRestriction): Restriction information of prices.
            - `startTime` (string): Start time of day (hh:mm).
            - `endTime` (string): End time of day (hh:mm).
            - `startDate` (string): Start date (AAAA-MM-DD).
            - `endDate` (string): End date (AAAA-MM-DD).
            - `minKwh` (number (float)): Minimum used energy in kWh for this tariff to be valid.
            - `maxKwh` (number (float)): Maximum used energy in kWh for this tariff to be valid.
            - `minPower` (number (double)): Minimum power in kW for this tariff to be valid.
            - `maxPower` (number (double)): Maximum power in kW for this tariff to be valid.
            - `minDuration` (integer (int32)): Minimum duration in seconds for this tariff to be valid.
            - `maxDuration` (integer (int32)): Maximum duration in seconds for this tariff to be valid.
            - `dayOfWeek` (enum[]): List of day of the week for this tariff to be valid. Values can be MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
              - `MONDAY`
              - `TUESDAY`
              - `WEDNESDAY`
              - `THURSDAY`
              - `FRIDAY`
              - `SATURDAY`
              - `SUNDAY`
        - `parkingSpot` (ParkingVehicleAccessFront): Vehicle access restrictions and parking information for this charging point.
          - `maxHeight` (integer (int32)): Maximum height (in cm) of a vehicle to access the parking. Null if no restriction.
          - `maxWidth` (integer (int32)): Maximum width (in cm) of a vehicle to access the parking. Null if no restriction.
          - `maxLength` (integer (int32)): Maximum length (in cm) of a vehicle to access the parking. Null if no restriction.
          - `maxWeight` (integer (int32)): Maximum weight (in tenth of ton) of a vehicle to access the parking. Null if no restriction.
          - `dangerousGoodsAllowed` (boolean): Whether vehicles loaded with dangerous goods are allowed to park.
          - `overnightParkingAllowed` (boolean): Whether overnight parking is allowed for heavy vehicles.
          - `parkingOrientation` (enum): The direction in which vehicles are parked at the charging station.
            - `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` (enum[]): List of transport types that can use this parking.
            - `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.
        - `tags` (string[]): List of tags, will be used to perform some filtration based on provider or customer references.
    - `theoreticalOptimalSpeed` (integer (int32), deprecated): Theoretical optimal speed in km/h. Deprecated replaced by `maxSpeed`.
    - `optimalSpeedProposal` (integer (int32), deprecated): Optimal speed proposal in km/h. Deprecated replaced by `maxSpeed`.
    - `maxSpeed` (integer (int32)): 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.
  - `chargingStationPools` (ChargingStationPool[]): Define the list of ChargingStationPool.
    - `providerName` (string): Provider name used by BeMap (bgis).
    - `providerMode` (enum): Define if the data come from the local database or directly from provider API.
      - `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` (string): Unique identifier of pool, come from the provider.
    - `operatorId` (string): Operator unique identifier like eMI3 format.
    - `sourceProvider` (string): Name of the original provider.
    - `customerId` (string): Customer id.
    - `updateDate` (integer (int64)): Update date, time stamp in milliseconds.
    - `tags` (string[]): List of tags, will be used to perform some filtration based on provider or customer references.
    - `brand` (string): Brand name of pool.
    - `nameOfPool` (string): Name of pool.
    - `accessibility` (enum): Define the accessibility of a pool of charging station.
      - `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` (enum): Define the status of availability.
      - `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` (number (double)): Longitude in degrees decimal (WGS84) (double).
    - `latitude` (number (double)): Latitude in degrees decimal (WGS84) (double).
    - `countryCode` (string): ISO country code, 2 or 3 letters depends on provider (ISO 3166-1 alpha-2 and alpha-3).
    - `country` (string): Country.
    - `postalCode` (string): Zip code.
    - `city` (string): City name.
    - `street` (string): Street name.
    - `streetNumber` (string): House number.
    - `addressComplement` (string): Pool complement of address.
    - `floorNumber` (string): Address floor number.
    - `siteType` (string): Textual description of site.
    - `siteCategory` (enum): Reflects the general category type of the pool.
      - `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` (string): Phone number.
    - `timeZone` (string): 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` (boolean): Pool is opened 24x7 hours.
    - `openingHours` (PoolOpeningHour[]): List of opening hours.
      - `dayOfweek` (enum): Day of week.
        - `MONDAY`: MONDAY.
        - `TUESDAY`: TUESDAY.
        - `WEDNESDAY`: WEDNESDAY.
        - `THURSDAY`: THURSDAY.
        - `FRIDAY`: FRIDAY.
        - `SATURDAY`: SATURDAY.
        - `SUNDAY`: SUNDAY.
      - `start` (string): Start time of opened pool.
      - `end` (string): End time of opened pool.
    - `numberOfParkingSpace` (integer (int32)): Number of parking space in the pool (parking).
    - `comment` (string): Comment.
    - `images` (ImageUrl[]): Links to images related to the location such as photos or logos.
      - `url` (string): URL from where the image data can be fetched through a web browser.
      - `thumbnailUrl` (string): URL from where a thumbnail of the image can be fetched through a web browser.
      - `category` (enum): Describes what the image is used for. Values can be CHARGER, ENTRANCE, LOCATION, NETWORK, OPERATOR, OTHER, OWNER.
        - `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` (string): Image format like gif, jpeg, png, svg.
      - `width` (integer (int32)): Width of the full-scale image.
      - `height` (integer (int32)): Height of the full-scale image.
    - `chargingStations` (ChargingStation[]): List of charging stations.
      - `id` (string): ID of station.
      - `operatorId` (string): Operator unique identifier like eMI3 format.
      - `nature` (enum): 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.
        - `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` (enum): Define the status of availability.
        - `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` (string[]): Authentication mode.
      - `authenticationInformation` (string): Information about the authentication.
      - `paymentModes` (string[]): Payment mode.
      - `paymentInformation` (string): Information about the payment mode.
      - `chargePasses` (ChargingTariffChargePassFront[]): List of charge pass available a station.
        - `hashId` (string, required): Unique identifier of charge pass.
        - `title` (string, required): Name of charge pass.
        - `networkName` (string): Unique name of charge network.
        - `description` (string): A brief description or summary of the station charge pass.
        - `currency` (string): Currency used for the subscription fee. This field stores the currency code or symbol used for the subscription fee.
        - `subscriptionType` (string): Type of subscription associated with the entity. This may denote the specific subscription model or tier for accessing the station service.
        - `subscriptionFeeExclVat` (number (float)): Subscription fee excluding VAT. This field stores the fee amount charged for a subscription before any value-added tax is applied.
        - `networkUrl` (string): URL link to the website of charge network.
        - `androidAppUrl` (string): URL link to the Android application of charge network.
        - `iosAppUrl` (string): URL link to the iOS application of charge network.
      - `bookable` (boolean): Bookable. Set to true if the station is bookable.
      - `images` (ImageUrl[]): Links to images related to the location such as photos or logos.
        - `url` (string): URL from where the image data can be fetched through a web browser.
        - `thumbnailUrl` (string): URL from where a thumbnail of the image can be fetched through a web browser.
        - `category` (enum): Describes what the image is used for. Values can be CHARGER, ENTRANCE, LOCATION, NETWORK, OPERATOR, OTHER, OWNER.
          - `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` (string): Image format like gif, jpeg, png, svg.
        - `width` (integer (int32)): Width of the full-scale image.
        - `height` (integer (int32)): Height of the full-scale image.
      - `tags` (string[]): List of tags, will be used to perform some filtration based on provider or customer references.
      - `chargingPoints` (ChargingPoint[]): List of charging points.
        - `id` (string): ID of charging point.
        - `operatorId` (string): Operator unique identifier like eMI3 format.
        - `availabilityStatus` (enum): Define the status of availability.
          - `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` (integer (int64)): Availability available until time (Time stamp in milliseconds).
        - `type` (integer (int32)): ID of first connector type.
        - `connectorTypes` (ConnectorTypeFront[]): List of connector type.
          - `id` (integer (int32)): BeMap unique identifier of connector.
          - `key` (string): BeMap unique identifier text key of connector. Same as id field but with string value.
          - `operatorId` (string): Operator unique identifier like eMI3 format.
          - `deprecated` (boolean): Set to true if the information is deprecated.
          - `name` (string): Name of connector.
          - `norm` (string): Norm of connector.
          - `maxPower` (number (double)): Maximal power in kW of connector. Unlimited is `0`.
          - `power` (number (double)): Available power in kW can be delivered by the station or charge point.
          - `voltage` (number (float)): Voltage of current.
          - `ampere` (number (float)): Ampere of current.
          - `acSingle` (boolean): AC single phase.
          - `acThree` (boolean): Current type AC three phases.
          - `dc` (boolean): Current type DC.
          - `cable` (boolean): The connector have a cable.
        - `currentType` (enum): Current type (AC/DC).
          - `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` (number (float)): Voltage of current.
        - `ampere` (number (float)): Ampere of current.
        - `power` (number (double)): Electrical power in kW.
        - `currency` (string): Currency ISO 4217 Code.
        - `remoteCharging` (boolean): True if a charging session can be started remotely.
        - `tariffsType` (string): Represents the type of tariffs, e.i. AD_HOC, MSP.
        - `tariffsChargePassHashId` (string): Represents a unique identifier hash associated with the tariffs used for calculating charges.
        - `tariffs` (ChargingTariffItemFront[]): List of tariff.
          - `prices` (ChargingPrice[], required): List of price.
            - `type` (enum, required): Type of price dimension.
              - `FLAT`: flat fee, no unit.
              - `PARKING_TIME`: time not charging, defined in hours.
              - `ENERGY`: defined in kWh.
              - `TIME`: time charging, defined in hours.
            - `price` (number (float), required): Price per unit (excluding VAT) for this tariff dimension.
            - `unit` (enum): Unit of price.
              - `NA`
              - `PER_HOUR`
              - `PER_KWH`
            - `vat` (number (float)): Applicable VAT percentage for this tariff dimension. If omitted, no VAT is applicable.
            - `minAmount` (number (float)): Minimum amount to be billed.
          - `restriction` (ChargingPriceRestriction): Restriction information of prices.
            - `startTime` (string): Start time of day (hh:mm).
            - `endTime` (string): End time of day (hh:mm).
            - `startDate` (string): Start date (AAAA-MM-DD).
            - `endDate` (string): End date (AAAA-MM-DD).
            - `minKwh` (number (float)): Minimum used energy in kWh for this tariff to be valid.
            - `maxKwh` (number (float)): Maximum used energy in kWh for this tariff to be valid.
            - `minPower` (number (double)): Minimum power in kW for this tariff to be valid.
            - `maxPower` (number (double)): Maximum power in kW for this tariff to be valid.
            - `minDuration` (integer (int32)): Minimum duration in seconds for this tariff to be valid.
            - `maxDuration` (integer (int32)): Maximum duration in seconds for this tariff to be valid.
            - `dayOfWeek` (enum[]): List of day of the week for this tariff to be valid. Values can be MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
              - `MONDAY`
              - `TUESDAY`
              - `WEDNESDAY`
              - `THURSDAY`
              - `FRIDAY`
              - `SATURDAY`
              - `SUNDAY`
        - `parkingSpot` (ParkingVehicleAccessFront): Vehicle access restrictions and parking information for this charging point.
          - `maxHeight` (integer (int32)): Maximum height (in cm) of a vehicle to access the parking. Null if no restriction.
          - `maxWidth` (integer (int32)): Maximum width (in cm) of a vehicle to access the parking. Null if no restriction.
          - `maxLength` (integer (int32)): Maximum length (in cm) of a vehicle to access the parking. Null if no restriction.
          - `maxWeight` (integer (int32)): Maximum weight (in tenth of ton) of a vehicle to access the parking. Null if no restriction.
          - `dangerousGoodsAllowed` (boolean): Whether vehicles loaded with dangerous goods are allowed to park.
          - `overnightParkingAllowed` (boolean): Whether overnight parking is allowed for heavy vehicles.
          - `parkingOrientation` (enum): The direction in which vehicles are parked at the charging station.
            - `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` (enum[]): List of transport types that can use this parking.
            - `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.
        - `tags` (string[]): List of tags, will be used to perform some filtration based on provider or customer references.
    - `summaryOfConnectorTypeIds` (integer (int32)[]): Summarized of connector type, used as cache of different connector types present in pool.
    - `maxNominalPower` (number (double)): Maximum of nominal power (in kW) present in pool.
    - `numberOfChargingPoint` (integer (int32)): Summarized of number of charging point present in pool.
    - `reliabilityScore` (integer (int32)): Reliability score of the pool. A score of 1 is the least reliable, and a score of 5 is the most reliable.
    - `predictedOccupancyTimeSlots` (PredictedOccupancyTimeSlot[]): 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.
      - `dayOfweek` (enum): Day of week.
        - `MONDAY`: MONDAY.
        - `TUESDAY`: TUESDAY.
        - `WEDNESDAY`: WEDNESDAY.
        - `THURSDAY`: THURSDAY.
        - `FRIDAY`: FRIDAY.
        - `SATURDAY`: SATURDAY.
        - `SUNDAY`: SUNDAY.
      - `start` (string): Start time of opened pool.
      - `end` (string): End time of opened pool.
      - `predictedOccupancy` (integer (int32)): Predicted occupancy. This value ranges from 0 to 10, where: `0` means the station is least occupied. `10` means the station is fully occupied.
    - `vehicleAccess` (SummaryParkingVehicleAccessFront): Restrictions regarding vehicles.
      - `maxHeight` (integer (int32)): Maximum height (in cm) of a vehicle to access the parking. Null if no restriction.
      - `maxWidth` (integer (int32)): Maximum width (in cm) of a vehicle to access the parking. Null if no restriction.
      - `maxLength` (integer (int32)): Maximum length (in cm) of a vehicle to access the parking. Null if no restriction.
      - `maxWeight` (integer (int32)): Maximum weight (in tenth of ton) of a vehicle to access the parking. Null if no restriction.
      - `dangerousGoodsAllowed` (boolean): Whether vehicles loaded with dangerous goods are allowed to park.
      - `overnightParkingAllowed` (boolean): Whether overnight parking is allowed for heavy vehicles.
      - `parkingOrientation` (enum): The direction in which vehicles are parked at the charging station.
        - `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` (enum[]): List of transport types that can use this parking.
        - `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` (enum[])
        - `PARALLEL`
        - `PERPENDICULAR`
        - `ANGLE`
        - `DRIVE_THROUGH`
  - `polyline` (Coordinate[]): Is the route geometry. It is composed of a list of coordinates (e.g routing points).
    - `lon` (number (double), required): Longitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `longitude`.
    - `lat` (number (double), required): Latitude in degrees decimal ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)). Also accepted as `latitude`.
  - `encodedPolyline` (string): Is the route geometry. It is composed of a list of coordinates and encoded with Google Algorithm.
  - `events` (RouteEventFront[]): List of event found on calculated route.
    - `lon` (number (double)): Longitude in degrees decimal (WGS84) (double).
    - `lat` (number (double)): Latitude in degrees decimal (WGS84) (double).
    - `alt` (number (double)): Altitude in meters (double).
    - `time` (integer (int32)): The time in seconds between the start of route.
    - `distFromStart` (number (double)): Distance in meters from start point.
    - `speed` (number (double)): Speed in meters per second.
    - `acceleration` (number (double)): Acceleration in meters per second per second.
    - `angle` (number (double)): Heading in degrees.
    - `slope` (number (double)): Slope coefficient (0 = 0°, +/-0.5 = +/-30°, etc.).
    - `cumulativeConsumption` (number (double)): Cumulative consumption from start  in kWh.
    - `consumption` (number (double)): Consumption from previous value in kWh.
    - `batteryLevel` (number (double)): Remaining battery level (in percentage) at this location.
  - `timeSlotWarns` (TimeSlotWarn[]): List of warnings regarding the requested time slots.
    - `statusCode` (string, required): Code of the time slot status.
    - `message` (string, required): Describes a time slot status: if the time slot has been validated by a EV route.
- `debugStat` (EvSmartRoutingDebugStat): Performance statistics of EV Smart Routing service. It's of BeNomad debug only.
  - `executionTimeChrono` (integer (int64)): Total of execution time in milliseconds.
  - `executionTimeWithoutChargingStationChrono` (integer (int64)): Execution time - execution time of charging station requests, in milliseconds.
  - `chargingStationChrono` (integer (int64)): Total of execution time of charging station requests in milliseconds.
  - `chargingTimeChrono` (integer (int64)): Total of execution time of charging time requests in milliseconds.
  - `routingChrono` (integer (int64)): Total of execution time of routing requests in milliseconds.

See chapter [Google Encoded Polyline Algorithm Format](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-google-encoded-polyline-algorithm-format.md) of full description of encoding format.

### Response samples

JSON Sample:
```javascript
{
  "logTag": "48434800-a86f-4333-a274-c9810499bbaa",
  "journey": {
    "distance": 488860,
    "duration": 18272,
    "batteryLevel": 15,
    "consumed": 106.32,
    "chargingTime": 5487,
    "departureTime": 1787642234000,
    "arrivalTime": 1787665993000,
    "vehicle": "Zoe 2"
  },
  "inputInfo": {
    "start": {
      "address": "Pont Neuf, 75001 Paris, France",
      "lon": 2.3414011701366593,
      "lat": 48.85716963819132
    },
    "stop": {
      "address": "Place Antonin Gourju, 69002 Lyon, France",
      "lon": 4.829650718111577,
      "lat": 45.7591712233967
    }
  },
  "boundingBox": {
    "minLon": 2.3059,
    "minLat": 45.7515,
    "maxLon": 4.91991,
    "maxLat": 48.85848
  },
  "route": {
    "stepPoints": [
      {
        "id": "92538C37-6DB0-4219-A308-60956AF57FD9",
        "nameOfPool": "place",
        "accessibility": "NA",
        "availabilityStatus": "IN_SERVICE",
        "longitude": 3.6368734605,
        "latitude": 47.8067199884,
        "distance": 178291,
        "duration": 6897,
        "arrivalTime": 1787649131000,
        "departureTime": 1787651606000,
        "consumed": 38.39077295291925,
        "arrivalBatteryLevel": 23.344935132048718,
        "departureBatteryLevel": 77.32597182092913,
        "chargingPower": {
          "currentType": "DC",
          "power": 45,
          "cnnTypeId": 38
        },
        "chargingTime": 2475,
        "countryCode": "FR",
        "country": "France",
        "street": "Place du Presbytere - VENOY",
        "comment": "En service",
        "chargingStations": [
          {
            "id": "214763",
            "nature": "VGROUP",
            "availabilityStatus": "IN_SERVICE",
            "bookable": false,
            "chargingPoints": [
              {
                "id": "214763",
                "operatorId": "214763",
                "availabilityStatus": "IN_SERVICE",
                "type": 38,
                "connectorTypes": [
                  {
                    "id": 38,
                    "key": "TYPE_2-CABLE_COMBO_CCS",
                    "deprecated": false,
                    "name": "Type 2 Combo",
                    "norm": "Combo Type 2 based, DC",
                    "maxPower": 350,
                    "acSingle": false,
                    "acThree": false,
                    "dc": true,
                    "cable": true
                  }
                ],
                "currentType": "DC",
                "power": 45
              }
            ]
          }
        ]
      },
      {
        "id": "59E20836-0065-4A00-B857-9F6504A96CD3",
        "brand": "Total EV Charge",
        "nameOfPool": "Total - Relais Beaune-Merceuil",
        "accessibility": "NA",
        "availabilityStatus": "IN_SERVICE",
        "longitude": 4.83816536817574,
        "latitude": 46.9632136215612,
        "distance": 154647,
        "duration": 5626,
        "arrivalTime": 1787657232000,
        "departureTime": 1787660244000,
        "consumed": 34.19316735752278,
        "arrivalBatteryLevel": 10,
        "departureBatteryLevel": 81.38480865927184,
        "chargingPower": {
          "currentType": "DC",
          "power": 50,
          "cnnTypeId": 38
        },
        "chargingTime": 3012,
        "countryCode": "FR",
        "country": "France",
        "postalCode": "21190",
        "city": "Merceuil ",
        "street": "Aire de Beaune",
        "chargingStations": [
          {
            "id": "180273",
            "nature": "VGROUP",
            "availabilityStatus": "IN_SERVICE",
            "bookable": false,
            "chargingPoints": [
              {
                "id": "180273",
                "operatorId": "180273",
                "availabilityStatus": "IN_SERVICE",
                "type": 38,
                "connectorTypes": [
                  {
                    "id": 38,
                    "key": "TYPE_2-CABLE_COMBO_CCS",
                    "deprecated": false,
                    "name": "Type 2 Combo",
                    "norm": "Combo Type 2 based, DC",
                    "maxPower": 350,
                    "acSingle": false,
                    "acThree": false,
                    "dc": true,
                    "cable": true
                  }
                ],
                "currentType": "DC",
                "power": 50
              }
            ]
          }
        ]
      }
    ],
    "encodedPolyline": "ileiHwhhMGEKI[WYU..."
  }
}
```

### ErrorResponse object
If an error occurs during the process on server side, only an error object will be returned in the response. See `Error example` chapter.
* `code`: error code. See the Error list chapter.
* `message`: error message.
* `coordinate`: coordinate of error (optional).
   * `lon`: longitude of coordinate in decimal degrees ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)).
   * `lat`: latitude of coordinate in decimal degrees ([WGS84](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md)).

#### Error codes
List of all possible error codes:

| Code                              | Description                                                  |
| --------------------------------- | ------------------------------------------------------------ |
| OK                                | No error.                                                    |
| CANNOT\_PERFORM\_CHARGINGTIME     | The charging time estimation cannot be performed.            |
| CANNOT\_PERFORM\_ROUTING          | The routing calculation cannot be performed with the input coordinates. |
| CHARGING\_STATION\_NOT\_FOUND     | Cannot find any charging station.                            |
| CANNOT\_GET\_CONNECTOR\_TYPES     | Issue to get the list of connector types.                    |
| COORDINATE\_NOT\_MATCH            | One of the input coordinates cannot be matched on a road.    |
| INTERNAL\_ERROR                   | The server cannot perform the routing calculation for internal service reason. |
| NO\_REACHABLE\_STEP\_POINT        | No charging stations found are reachable.                    |
| OVER\_ALLOWED\_DISTANCE           | Too many charges required (maximum charges = 16).            |
| RouteNotFoundException            | The initial route cannot be found.                           |
| TooMuchViaException               | Too much via coordinates in request.                         |
| ViaNotMatchException              | One of via coordinate of request cannot be map matched.      |
| NotEnoughViaException             | The via coordinates cannot be map matched. A minimal of 2 coordinates must be map matched to perform a route. |
| VehicleFeatureIsRequiredException | The vehicle feature is required. The vehicle must be checked. |
| VehicleProfileIsRequiredException | The vehicle profile is required. The vehicle must be checked. |

#### Error example
```javascript
{
   "error": {
      "code": "NO_REACHABLE_STEP_POINT",
      "message": "All charging stations found cannot be reachable. Around this coordinate.",
      "coordinate": {
         "lon": 8.193691832353528,
         "lat": 45.42630127240513
      }
   }
}
```

All coordinates are defined by longitude and latitude, see the [coordinate system](https://benomad.com/dev/doc/bemap-api/guides/reference/glossary-coordinate-system.md) glossary for more details.
