openapi: 3.0.2 info: title: Routing API v8 version: 8.156.0 description: A location service providing customizable route calculations for a variety of vehicle types as well as pedestrian modes. termsOfService: https://legal.here.com/en-gb/terms license: name: HERE Documentation License url: https://legal.here.com/en-gb/terms/documentation-license externalDocs: description: The Developer guide, Release notes, and Migration guide are available here. url: https://www.here.com/docs/category/routing-api-v8 security: - Bearer: [] - ApiKey: [] servers: - url: https://router.hereapi.com/v8 description: Production server for the HERE Routing Service tags: - name: Routing - name: API Information description: Additional API Information paths: /routes: parameters: - $ref: "#/components/parameters/transportMode" - $ref: "#/components/parameters/origin" - $ref: "#/components/parameters/destination" - $ref: "#/components/parameters/via" - $ref: "#/components/parameters/departureTimeWithAny" - $ref: "#/components/parameters/arrivalTime" - $ref: "#/components/parameters/routingMode" - $ref: "#/components/parameters/alternatives" - $ref: "#/components/parameters/avoid" - $ref: "#/components/parameters/allow" - $ref: "#/components/parameters/exclude" - $ref: "#/components/parameters/units" - $ref: "#/components/parameters/lang" - $ref: "#/components/parameters/return" - $ref: "#/components/parameters/spans" - $ref: "#/components/parameters/truck" - $ref: "#/components/parameters/vehicle" - $ref: "#/components/parameters/consumptionModel" - $ref: "#/components/parameters/ev" - $ref: "#/components/parameters/fuel" - $ref: "#/components/parameters/driver" - $ref: "#/components/parameters/pedestrianSpeed" - $ref: "#/components/parameters/scooter" - $ref: "#/components/parameters/currency" - $ref: "#/components/parameters/customizations" - $ref: "#/components/parameters/taxi" - $ref: "#/components/parameters/tolls" - $ref: "#/components/parameters/maxSpeedOnSegment" - $ref: "#/components/parameters/traffic" - $ref: "#/components/parameters/networkRestrictedTruck" - $ref: "#/components/parameters/billingTag" - $ref: "#/components/parameters/xRequestId" get: operationId: calculateRoutes summary: Calculate routes via GET tags: - Routing description: Calculates a route using a generic vehicle/pedestrian mode, e.g. car, truck, pedestrian, etc... responses: 200: $ref: "#/components/responses/RoutesResponseOk" 400: $ref: "#/components/responses/InvalidRoutesRequestResponse" 401: $ref: "#/components/responses/401ErrorResponseWithRequestID" 403: $ref: "#/components/responses/Routing403ErrorResponse" 500: $ref: "#/components/responses/InternalServerErrorRoutesResponse" post: operationId: calculateRoutesPost summary: Calculate routes via POST tags: - Routing description: | Calculates a route using a generic vehicle/pedestrian mode, e.g. car, truck, pedestrian, etc... At the moment, only selected parameters are permitted in the POST body, particularly those that may be restricted in the query string due to request size limitations. See the request body section below for details. All other parameters must be provided in the query string. If a parameter is provided in both the query string and the POST body, their values are merged. Post body size limit is 10MiB. requestBody: content: application/json: schema: $ref: "#/components/schemas/CalculateRoutesPostParameters" examples: avoid: $ref: "#/components/examples/calculateRoutesPostAvoidExample" exclude: $ref: "#/components/examples/calculateRoutesPostExcludeExample" ev: $ref: "#/components/examples/calculateRoutesPostEvExample" maxSpeedOnSegment: $ref: "#/components/examples/calculateRoutesPostMaxSpeedOnSegmentExample" networkRestrictedTruck: $ref: "#/components/examples/calculateRoutesPostNetworkRestrictedTruckExample" responses: 200: $ref: "#/components/responses/RoutesResponseOk" 400: $ref: "#/components/responses/InvalidRoutesRequestResponse" 401: $ref: "#/components/responses/401ErrorResponseWithRequestID" 403: $ref: "#/components/responses/Routing403ErrorResponse" 500: $ref: "#/components/responses/InternalServerErrorRoutesResponse" /routes/{routeHandle}: parameters: - $ref: "#/components/parameters/routeHandle" - $ref: "#/components/parameters/transportMode" - $ref: "#/components/parameters/routeHandleOrigin" - $ref: "#/components/parameters/departureTimeWithAny" - $ref: "#/components/parameters/avoid" - $ref: "#/components/parameters/allow" - $ref: "#/components/parameters/exclude" - $ref: "#/components/parameters/units" - $ref: "#/components/parameters/lang" - $ref: "#/components/parameters/return" - $ref: "#/components/parameters/spans" - $ref: "#/components/parameters/truck" - $ref: "#/components/parameters/vehicle" - $ref: "#/components/parameters/consumptionModel" - $ref: "#/components/parameters/evRouteHandle" - $ref: "#/components/parameters/fuel" - $ref: "#/components/parameters/pedestrianSpeed" - $ref: "#/components/parameters/scooter" - $ref: "#/components/parameters/currency" - $ref: "#/components/parameters/rerouting" - $ref: "#/components/parameters/taxi" - $ref: "#/components/parameters/tolls" - $ref: "#/components/parameters/maxSpeedOnSegment" - $ref: "#/components/parameters/traffic" - $ref: "#/components/parameters/networkRestrictedTruck" - $ref: "#/components/parameters/billingTag" - $ref: "#/components/parameters/xRequestId" get: operationId: getRoutesByHandle summary: Get route by handle via GET tags: - Routing description: | Decodes and returns a route from a previously calculated route handle. **Disclaimer: A route handle is not suitable for persistent route storage! It can be invalidated at any time.** A route handle encodes a previously calculated route. A route can be decoded from a handle as long as the service uses the same map data and encoding that were used when retrieving the handle. Thus it is suitable for caching routes compactly. It can be used to retrieve updated traffic information or other data along the route. However, a user should be prepared to recalculate the route when decoding the handle fails. All parameters of the `/routes` endpoint are supported, except for `destination`, `via`, `alternatives` and `routingMode`. See also the `return` parameter of `/routes` endpoint. The `origin` parameter can be provided to update the start of the previously calculated route. The `transportMode` parameter does not have to match the transport mode previously used for route calculation. However, when using a different transport mode, the request may fail, e.g. when the route has road segments forbidden for the provided transport mode. Please refer to the Developer Guide for more information and examples. responses: 200: $ref: "#/components/responses/RoutesResponseOk" 400: $ref: "#/components/responses/InvalidRoutesRequestResponse" 401: $ref: "#/components/responses/401ErrorResponseWithRequestID" 403: $ref: "#/components/responses/Routing403ErrorResponse" 500: $ref: "#/components/responses/InternalServerErrorRoutesResponse" post: operationId: getRoutesByHandlePost summary: Get route by handle via POST tags: - Routing description: | Decodes and returns a route from a previously calculated route handle. **Disclaimer: A route handle is not suitable for persistent route storage! It can be invalidated at any time.** A route handle encodes a previously calculated route. A route can be decoded from a handle as long as the service uses the same map data and encoding that were used when retrieving the handle. Thus it is suitable for caching routes compactly. It can be used to retrieve updated traffic information or other data along the route. However, a user should be prepared to recalculate the route when decoding the handle fails. All parameters of the `/routes` endpoint are supported, except for `destination`, `via`, `alternatives` and `routingMode`. See also the `return` parameter of `/routes` endpoint. The `origin` parameter can be provided to update the start of the previously calculated route. The `transportMode` parameter does not have to match the transport mode previously used for route calculation. However, when using a different transport mode, the request may fail, e.g. when the route has road segments forbidden for the provided transport mode. Only selected parameters are permitted in the POST body. See the request body section below for details. If a parameter is provided in both the query string and the POST body, their values are merged. Post body size limit is 10MiB. Please refer to the Developer Guide for more information and examples. requestBody: content: application/json: schema: $ref: "#/components/schemas/GetRoutesByHandlePostParameters" examples: avoid: $ref: "#/components/examples/calculateRoutesPostAvoidExample" exclude: $ref: "#/components/examples/calculateRoutesPostExcludeExample" maxSpeedOnSegment: $ref: "#/components/examples/calculateRoutesPostMaxSpeedOnSegmentExample" networkRestrictedTruck: $ref: "#/components/examples/calculateRoutesPostNetworkRestrictedTruckExample" responses: 200: $ref: "#/components/responses/RoutesResponseOk" 400: $ref: "#/components/responses/InvalidRoutesRequestResponse" 401: $ref: "#/components/responses/401ErrorResponseWithRequestID" 403: $ref: "#/components/responses/Routing403ErrorResponse" 500: $ref: "#/components/responses/InternalServerErrorRoutesResponse" /import: post: operationId: importRoute summary: Calculate a route from a sequence of trace points tags: - Routing description: | Creates a route from a sequence of trace points. Post body size limit is 10MiB. For best results, use 1Hz GPS data or any points that have a spacing of a few meters between them. For traces with less frequent points, the Route Import service will attempt to create an approximate reconstruction. In some situations, when consecutive points are too far apart (more than about 30 kilometers of on-road distance), they could be considered unreachable and one of them could fail to be matched. parameters: - $ref: "#/components/parameters/transportMode" - $ref: "#/components/parameters/departureTimeWithAny" - $ref: "#/components/parameters/avoid" - $ref: "#/components/parameters/allow" - $ref: "#/components/parameters/exclude" - $ref: "#/components/parameters/units" - $ref: "#/components/parameters/lang" - $ref: "#/components/parameters/return" - $ref: "#/components/parameters/spans" - $ref: "#/components/parameters/truck" - $ref: "#/components/parameters/vehicle" - $ref: "#/components/parameters/consumptionModel" - $ref: "#/components/parameters/evRouteImport" - $ref: "#/components/parameters/fuel" - $ref: "#/components/parameters/scooter" - $ref: "#/components/parameters/taxi" - $ref: "#/components/parameters/billingTag" - $ref: "#/components/parameters/xRequestId" requestBody: content: application/json: schema: $ref: "#/components/schemas/MatchTrace" responses: 200: $ref: "#/components/responses/RoutesResponseOk" 400: $ref: "#/components/responses/InvalidRoutesRequestResponse" 401: $ref: "#/components/responses/401ErrorResponseWithRequestID" 403: $ref: "#/components/responses/Routing403ErrorResponse" 429: $ref: "#/components/responses/Routing429ErrorResponse" 500: $ref: "#/components/responses/InternalServerErrorRoutesResponse" /health: get: operationId: getHealth summary: Health status of the service tags: - API Information description: Returns the health of the service parameters: - $ref: "#/components/parameters/xRequestId" security: [] responses: 200: $ref: "#/components/responses/HealthResponseOkWithRequestID" default: $ref: "#/components/responses/HealthResponseFailWithRequestID" /version: get: operationId: getVersion summary: Full version of the API tags: - API Information description: Returns the version of the service parameters: - $ref: "#/components/parameters/xRequestId" security: [] responses: 200: $ref: "#/components/responses/VersionResponseOkWithRequestID" 500: $ref: "#/components/responses/500ErrorResponseWithRequestID" 502: $ref: "#/components/responses/502ErrorResponseWithRequestID" 503: $ref: "#/components/responses/503ErrorResponseWithRequestID" 504: $ref: "#/components/responses/504ErrorResponseWithRequestID" /openapi: get: summary: Retrieves this API specification in OpenAPI 3 format operationId: getOpenapi tags: - API Information parameters: - $ref: "#/components/parameters/xRequestId" security: [] responses: 200: $ref: "#/components/responses/OpenApiResponseOk" 500: $ref: "#/components/responses/500ErrorResponseWithRequestID" 502: $ref: "#/components/responses/502ErrorResponseWithRequestID" 503: $ref: "#/components/responses/503ErrorResponseWithRequestID" 504: $ref: "#/components/responses/504ErrorResponseWithRequestID" components: parameters: allow: name: allow description: Explicitly allow features that require users to opt in. in: query required: false explode: true style: deepObject schema: $ref: "#/components/schemas/Allow" alternatives: name: alternatives description: Number of alternative routes to return aside from the optimal route. in: query required: false schema: type: integer minimum: 0 maximum: 6 default: 0 arrivalTime: name: arrivalTime description: | Specifies the time of arrival as defined by either `date-time` or `full-date` `T` `partial-time` in `RFC 3339`, section 5.6 (for example, `2019-06-24T01:23:45`). The requested time is converted to the local time at destination. When the optional timezone offset is not specified, time is assumed to be local. All `Time` values in the response are returned in the timezone of each location. Note : The following features do not support the arrivalTime parameter: * EV Routing * Route Handle * Route Import in: query allowReserved: true required: false schema: $ref: "#/components/schemas/Time" avoid: name: avoid description: | Avoid roads that violate certain features of road network or that go through user-specified areas, segments, or zones. Note that if the origin, destination, or any via is in an avoided area or on an avoided feature, a route is produced that violates the avoid restriction. In such a case, the route is trying to minimize the violation of the avoid restrictions and can therefore include large deviations from a route that is calculated without these avoid restrictions. It is also possible that the produced route violates the avoid restriction in between waypoints, if no other route is possible or too hard to find. One such example is requesting a route to an island that is only reachable with ferries while specifying `avoid[features]=ferry`. When using avoid features, it's not guaranteed to get alternatives. Further, they can even cause the route calculation to fail, if no route is possible or too hard to find. in: query allowReserved: true required: false explode: true style: deepObject schema: $ref: "#/components/schemas/Avoid" examples: features: summary: Avoid specific features like `tunnel' or `ferry` value: features: tunnel,ferry area: summary: Avoid a specific geographical bounding box value: areas: bbox:13.082,52.416,13.628,52.626 areas: summary: Avoid multiple geographical bounding boxes using `|` as element separator value: areas: bbox:13.3127778,52.5106221,13.3495852,52.5255681|bbox:13.3958343,52.5171209,13.4286456,52.5405511 complete: summary: Avoid both features and geographical bounding boxes value: features: tollRoad,tunnel&avoid[areas]=bbox:13.082,52.416,13.628,52.626 segment: summary: Avoid a segment using its identifier value: segments: here:cm:segment:207551710 segmentsWithDirection: summary: Avoid two segments using their identifiers, also specifying the direction value: segments: here:cm:segment:207551710#+,here:cm:segment:76771992#* zones: summary: Avoid multiple environmental zones using identifiers value: zoneIdentifiers: here:cm:envzone:2,here:cm:envzone:3 zoneCategory: summary: Avoid all environmental zones value: zoneCategories: environmental zoneCategoryWithException: summary: Avoid all environmental zones except a specific one value: zoneCategories: environmental;exceptZoneIds=here:cm:envzone:2 truckRoadTypes: summary: Avoid the specified truck road types value: truckRoadTypes: BK1,BK2,BK3,BK4 tollTransponders: summary: Avoid all toll transponders value: tollTransponders: all billingTag: name: billingTag in: query description: | A list of up to six billing tags, separated by the `+` sign. This parameter provides a way to track your platform usage. For details, refer to the Cost Management Developer Guide section on [Billing Tags](https://www.here.com/docs/bundle/cost-management-developer-guide/page/topics/tutorial-billing-tags.html) schema: type: string pattern: ^(?![_-])[A-Za-z0-9_-]{4,16}(? Specify new base speed for segment by value. Affects route selection and the ETA. Cannot increase base speed on segment. in: query allowReserved: true style: form required: false schema: $ref: "#/components/schemas/MaxSpeedOnSegment" examples: speed: summary: Setting new base speed on segment value: speed: here:cm:segment:76771992#*;speed=42 networkRestrictedTruck: name: networkRestrictedTruck description: | **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** Parameters specific to the `networkRestrictedTruck` transport mode. in: query required: false style: deepObject explode: true schema: $ref: "#/components/schemas/NetworkRestrictedTruck" origin: name: origin description: | A location defining the origin of the trip. ## Format Format: `Place[WaypointOptions]` * Place: `{lat},{lng}[PlaceOptions]` * PlaceOptions: `;option1=;option2=...` * WaypointOptions: `!option1=!option2=...` A waypoint consists of: * Exactly one place * Optional settings for the place * Optional settings for the waypoint itself ## Supported place options * `course`: int, degrees clock-wise from north. Indicating desired direction at the place. E.g. `90` indicating `east`. Often combined with `radius` and/or `minCourseDistance` * `sideOfStreetHint`: `{lat},{lng}`. Indicating the side of the street that should be used. E.g. if the location is to the left of the street, the router will prefer using that side in case the street has dividers. E.g. `52.511496,13.304140;sideOfStreetHint=52.512149,13.304076` indicates that the `north` side of the street should be preferred. This option is required, if `matchSideOfStreet` is set to `always`. Option cannot be combined with `radius`, `radiusPenalty` or `snapRadius`. * `displayLocation`: `{lat},{lng}`. Indicates the location on the map where this POI is to be displayed. This attribute is passed through to the `displayLocation` attribute in the corresponding `Place` object in the output. * `uTurnPermission`: enum `[allow, avoid]`. Specifies the U-Turn Permission mode at the stop-over waypoint. If unspecified, the permission will be determined by the global setting, avoid[features]=uTurns. This feature is not supported for pass-through waypoints and U-Turns are generally avoided in that case. + `allow` : Allow making a U-Turn at this stop-over waypoint + `avoid` : Avoid making a U-Turn at this stop-over waypoint * `matchSideOfStreet`: enum `[always, onlyIfDivided]`. Specifies how the location set by `sideOfStreetHint` should be handled. Requires `sideOfStreetHint` to be specified as well. + `always` : Always prefer the given side of street. + `onlyIfDivided`: Only prefer using side of street set by `sideOfStreetHint` in case the street has dividers. This is the default behavior. * `nameHint`: string. Causes the router to look for the place with the most similar name. The typical examples include: `North` being used to differentiate between interstates `I66 North` and `I66 South`, `Downtown Avenue` being used to correctly select a residental street. Empty string values are ignored. * `radius`: int, meters. Asks the router to consider all places within the given radius as potential candidates for route calculation. This can be either because it is not important which place is used, or because it is unknown. Radiuses wider than 200 meters are not supported. Option cannot be combined with `snapRadius`. * `radiusPenalty`: int, percentage 0-10000. Penalty as percentage: Used in conjunction with the `radius` parameter. Router will match the waypoint within the specified radius and apply a penalty to candidates based on their air distance to the waypoint. This penalty is proportional to the given percentage, where 100 is just the cost of the air distance, and 200 is twice the cost of the air distance. The penalty must be chosen so that, when multiplied by the radius, the result is less than or equal to 7200. Regardless, only values up to and including 10000 will be accepted. This means that a maximum penalty of 3600% is allowed for a radius of 200m, 7200% for 100m and 10000% for 72m and less. Higher values will result in an error response. `radiusPenalty` cannot be combined with `snapRadius`. **Alpha**: This parameter is in development. It may not be stable and is subject to change. * `snapRadius`: int, meters. Instructs the router to match the waypoint, within the specified radius, to the most "significant" road. In contrast to the regular `radius` parameter, `snapRadius` sorts potential candidates in order of "significance". For example, a highway is more significant on a zoomed-out map than a national road, a national road is more significant than a city road, etc. Hence, `snapRadius` cannot be combined with `radius` or `radiusPenalty` parameters. The typical use case for `snapRadius` is when selecting a waypoint on a zoomed-out view of a map on a drag-and-drop interface. The expectation on such UIs is that only roads that are visible at that zoom level are considered for matching and a large snapRadius would enable that. * `minCourseDistance`: int, meters. Instructs the routing service to try to find a route that avoids actions for the indicated distance. For example, if the origin is determined by a moving vehicle, the user might not have time to react to early actions. Values greater than 2000 meters will be capped at 2000 meters. * `customizationIndex`: int. Specifies the zero-based index into the list of customizations specified in the `customizations` parameter. The customization at that index must be an Extension Map. Providing a `customizationIndex` indicates the this waypoint is located within that Extension Map. **Alpha**: This customization API parameter is in development. It may not be stable and is subject to change. * `segmentIdHint`: string. Causes the router to try and match to the specified segment. Waypoint coordinates need to be on the segment, otherwise waypoint will be matched ignoring the segment hint This parameter can be used when the waypoint is too close to more than one segment to force matching to a specific one. * `onRoadThreshold`: int, meters. allows specifying a distance within which the waypoint could be considered as being on a highway/bridge/tunnel/sliproad. Within this threshold, the attributes of the segments do not impact the matching. Outside the threshold only segments which aren't one of highway/bridge/tunnel/sliproad can be matched. ## Notes * `origin` currently does not support any WaypointOptions. They are available for `via` and `destination` waypoints. * Non-structural reserved characters in options' values need to be properly percent-encoded. Please refer to the Developer Guide for more details. in: query allowReserved: true required: true schema: $ref: "#/components/schemas/Waypoint" examples: coordinate: value: 51.611571,11.351608 summary: A simple WGS84 coordinate side: value: 52.531052,13.384872;sideOfStreetHint=52.530941,13.384939;matchSideOfStreet=always summary: Populating sideOfStreetHint in addition to location to avoid ending on the wrong side of the street course: value: 51.611571,11.351608;course=170;radius=20;minCourseDistance=500 summary: Setting course/radius/minCourseDistance an uncertain GPS coordinate of a moving vehicle name: value: 52.510319,13.285616;nameHint=Kaiserdamm summary: Setting nameHint to avoid matching to the wrong location displayLocation: value: 52.52697,13.42500;displayLocation=52.51885,13.46237 summary: This coordinate is the location of the POI as shown by the pin on a map. pedestrianSpeed: name: pedestrian[speed] description: > Walking speed in meters per second. Influences the duration of walking segments along the route. in: query schema: $ref: "#/components/schemas/PedestrianSpeed" rerouting: name: rerouting description: | Rerouting parameters allow to request a new route calculation based on the route handle. All attributes are optional. in: query required: false explode: true style: deepObject schema: $ref: "#/components/schemas/Rerouting" return: name: return description: | Defines which attributes are included in the response as part of data representation of a `Route` or `Section`. * `polyline` - Polyline for the route in [Flexible Polyline](https://github.com/heremaps/flexible-polyline) Encoding. Either a 2D polyline (without `elevation` specified), or a 3D polyline with the 3rd dimension type `Elevation` (with `elevation` specified), using the WGS84 coordinate system. * `actions` - Actions (such as maneuvers or tasks) that must be taken to complete the section. * `instructions` - Include instructions in returned actions. Instructions are localized to the requested language. * `summary` - Include summary for the section. * `travelSummary` - Include summary for the travel portion of the section. * `turnByTurnActions` - Include all information necessary to support turn by turn guidance to complete the section. * `mlDuration` - Use a region-specific machine learning model to calculate route duration. **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** * `typicalDuration` - Include route duration under typical traffic conditions. * `elevation` - Include WGS84 elevation information in coordinate and geometry types. See e.g. `polyline` or `location`. * `routeHandle` - Encode calculated route and return a handle which can be used with `routes/{routeHandle}` to decode the route at a later point in time. * `passthrough` - Include information on passthrough via waypoints in the section. * `incidents` - Include a list of all incidents applicable to each section. Returned incidents may be referenced by `incidents` and/or `intersectionIncidents` span parameters. Incidents are localized to the requested language. * `routingZones` - Include information about routing zones each section goes through. * `truckRoadTypes` - Include information about road types each section goes through. * `tolls` - Include information about the tolls to be paid, per section, according to the `tolls` parameter and other toll-influencing parameters such as vehicle dimensions in the query, e.g `transportMode`, `vehicle[hovOccupancy]`, vehicle[height]. Check the Developer Guide for tutorials on the topic. If tolls cannot be calculated for a section, it will contain the `tollsDataUnavailable` notice code. **Note**: - Toll requests support `car` dimensions such as atypical car height and weight, trailers, axle count and vehicle fuel type. However extreme parameter combinations may result in tolls being returned for a different vehicle type (for example, a car with 6 axles will most likely result in truck tolls). Therefore the request will return the most "typical" toll cost for the parameters provided. - Tolls are not available in route import service. See [this tutorial](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/tutorials/tolls-routeimport.html) for information on how to request tolls when using route import. * `routeLabels` - Include a list of the most important names and route numbers on this route that differentiate it from other alternatives * `potentialTimeDependentViolations` - Include info notices for potential time-dependent violations in the sections that match the current vehicle profile, but are not violating the restricted times for the calculated route. * `noThroughRestrictions` - Include information about the parts of the route that are not allowed to be driven through, i.e. route can only start, end, or have an intermediate `via` waypoint here. The following restrictions apply when specifying the `return` parameter: * If `actions` is requested, then `polyline` must also be requested as well. * If `instructions` is requested, then `actions` must also be requested as well. * If `turnByTurnActions` is requested, then `polyline` must also be requested as well. * If at least one attribute is requested within the `spans` parameter, then `polyline` must be request as well in: query schema: type: array uniqueItems: true items: $ref: "#/components/schemas/Return" style: form explode: false routeHandle: name: routeHandle in: path description: | Route handle returned from a previous route calculation. See `return` parameter of `/routes` endpoint for more information. required: true schema: type: string routeHandleOrigin: name: origin description: | A location defining the origin of the trip. The origin has to be located along the previously calculated route. For a description of the format and options for this parameter, please refer to the description of the `origin` parameter in `Calculate routes via GET`. This parameter supports the same options as the `origin` parameter in `Calculate routes via GET`, with the following exceptions: ## Notes * `minCourseDistance`: While this parameter can be provided for compatibility reasons, it will not affect the result of a getRoutesByHandle request. in: query allowReserved: true required: false schema: $ref: "#/components/schemas/Waypoint" examples: coordinate: value: 51.611571,11.351608 summary: A simple WGS84 coordinate side: value: 52.531052,13.384872;sideOfStreetHint=52.530941,13.384939;matchSideOfStreet=always summary: Populating sideOfStreetHint in addition to location to avoid ending on the wrong side of the street course: value: 51.611571,11.351608;course=170;radius=20 summary: Setting course/radius an uncertain GPS coordinate of a moving vehicle name: value: 52.510319,13.285616;nameHint=Kaiserdamm summary: Setting nameHint to avoid matching to the wrong location displayLocation: value: 52.52697,13.42500;displayLocation=52.51885,13.46237 summary: This coordinate is the location of the POI as shown by the pin on a map. routingMode: name: routingMode description: | Specifies which optimization is applied during the calculation. * `fast`: Route calculation from start to destination optimized by travel time. In many cases, the route returned by `fast` mode may not be the route with the fastest possible travel time. For example, the routing service may favor a route that remains on a highway, even if a faster travel time can be achieved by taking a detour or shortcut through an inconvenient side road. * `short`: Route calculation from start to destination disregarding any speed information. In this mode, the distance of the route is minimized, while keeping the route sensible. This includes, for example, penalizing turns. Because of that, the resulting route will not necessarily be the one with minimal distance. Notes: * The following Transport modes only support `fast` routingMode - `bicycle` - `bus` - `pedestrian` - `privateBus` - `scooter` - `taxi` - `networkRestrictedTruck` in: query required: false schema: $ref: "#/components/schemas/RoutingMode" scooter: name: scooter description: | Scooter-specific parameters. * `allowHighway`: Specifies whether the scooter is allowed on highways or not. This parameter is optional. If not provided, the default is to avoid highways. There is a similar parameter avoid[features]=controlledAccessHighway to disallow highway usage. avoid[features] takes precedence, so if that parameter is also used, scooters are not allowed to use highways even if `allowHighway` is set to `true`. The following values are possible: * `true`: The scooter is allowed to use highways. * `false`: The scooter is not allowed to use highways. in: query required: false style: deepObject explode: true schema: $ref: "#/components/schemas/Scooter" spans: name: spans in: query required: false description: | Defines which map content attributes are included in the response spans. For example, `attributes,length` will enable the fields `attributes` and `length` in the route response. For more information about the `countryCode` field, see the [ISO standard](https://www.iso.org/obp/ui/#search). This parameter also requires that the `polyline` option is set within the `return` parameter. **NOTE:** Attribute speedLimit is deprecated, use maxSpeed instead. Attribute segmentId is deprecated, use segmentRef instead. style: form explode: false schema: type: array uniqueItems: true items: $ref: "#/components/schemas/Spans" taxi: name: taxi description: | Taxi-specific parameters. * `allowDriveThroughTaxiRoads`: Specifies if a vehicle is allowed to drive through taxi-only roads and lanes. Even if this option is set to `false`, the vehicle is still allowed on taxi-only roads at the start of the route and at the destination. in: query required: false style: deepObject explode: true schema: $ref: "#/components/schemas/Taxi" tolls: name: tolls description: > Defines properties which control toll calculation and reporting in the response. in: query required: false explode: true style: deepObject schema: $ref: "#/components/schemas/Tolls" traffic: name: traffic description: Traffic specific parameters. in: query required: false style: deepObject explode: true schema: $ref: "#/components/schemas/Traffic" transportMode: name: transportMode description: | Mode of transport to be used for the calculation of the route. Note: `bicycle`, `bus`, `privateBus` and `networkRestrictedTruck` modes are currently provided as Beta, with limited functionality. Please refer to the Developer Guide for more details. `networkRestrictedTruck` transport mode requires the use of the `networkRestrictedTruck[permittedNetworks]` parameter. Additionally, `networkRestrictedTruck` transport mode cannot use any of the following parameters that are otherwise allowed for trucks: - `avoid[features]` with any of `tollRoad`, `controlledAccessHighway`, `carShuttleTrain`, `difficultTurns` - `avoid[truckRoadTypes]` - `vehicle[occupancy]` - `vehicle[engineType]` - `vehicle[kpraLength]` - `vehicle[category]` - any `ev[*]` parameters - any `fuel[*]` parameters in: query required: true schema: $ref: "#/components/schemas/RouterMode" truck: name: truck description: | Truck-specific parameters. **NOTE:** The attribute `truck` is deprecated and should be replaced with `vehicle`. deprecated: true in: query required: false style: deepObject explode: true schema: $ref: "#/components/schemas/Truck" units: name: units description: > Units of measurement used in guidance instructions. The default is `metric`. in: query required: false schema: $ref: "#/components/schemas/Units" vehicle: name: vehicle description: > Vehicle-specific parameters. in: query required: false style: deepObject explode: true schema: $ref: "#/components/schemas/Vehicle" via: name: via description: | A location defining a via waypoint. A via waypoint is a location between origin and destination. There are two types of via waypoints: * `passThrough=false` (default) : The route will stop at the via waypoint, creating a new route section. * `passThrough=true` : The route will pass through the via waypoint. Multiple waypoints can be specified by using multiple via parameters like `via=...&via=...`, in which case the route will traverse these waypoints sequentially in the order specified in the request. For a description of the format and options for this parameter, please refer to the description of the `origin` parameter. `via` supports the same options as the `origin` parameter, with the following exceptions: ## Additional waypoint options: * `stopDuration`: desired duration for the stop, in seconds. Must be less than 50000. * `passThrough`: boolean. Default value is `false`. Setting to `true` asks the router to avoid the following during route calculation: + Introducing a stop at the waypoint. + Splitting the route into sections. + Changing the direction of travel. The following scenarios are not supported for `passThrough` parameter: + Setting both `stopDuration` to a value greater than 0 and `passThrough=true`. * `charging`: Structured string denoting a user-planned charging stop. Format: `charging=(power=;current=;voltage=;supplyType=;minDuration=;maxDuration=)`. The properties `power`, `current`, `voltage` and `supplyType` denote the characteristics of the chosen compatible connector at the station. These are all required. `minDuration` and `maxDuration` set the time bounds for the charging time. At least one of them is required. For most use cases we recommend to provide at least `minDuration`. The following are the specifications for the properties: + `power`: value in kW, type: number. Rated power of the connector. + `voltage`: value in V, type: number. Rated voltage of the connector. + `current`: value in A, type: number. Rated current of the connector. + `supplyType`: one of {"acSingle", "acThree", "dc"} for 1-phase AC, 3-phase AC and DC respectively, type: string. + `minDuration`: value in seconds, type: int. Minimum time the user expects to charge at the station, including `chargingSetupDuration`. This value takes precedence over the global `maxChargingDuration`. + `maxDuration`: value in seconds, type: int. Maximum time the user plans to charge at the station, including `chargingSetupDuration`. This value takes precedence over the global `maxChargingDuration`. For a user-planned charging stop, the following properties of the `ev` parameter are also required (see documentation for the `ev` parameter): * `initialCharge` * `maxCharge` * `chargingCurve` *Notes*: * This option is not supported for pass-through waypoints. * If `makeReachable=true` and `minDuration` is not provided (or if `minDuration=0`), route calculation may suggest not to charge on this station, for example, if a better station is available in the vicinity. * If `stopDuration` is provided then the total time at the stop is the higher of (`stopDuration`, `chargingSetupDuration` + `chargingDuration`). * If charging for `minDuration` would charge above `maxCharge`, the time spent charging is capped by `maxCharge`. * If `stopDuration` or `minDuration` exceed `chargingSetupDuration` + `chargingDuration`, the `waiting` post action duration is set to the remaining time. * If `makeReachable=true` is not set, the target charge is `maxChargeAfterChargingStation`, unless the charging time would be outside of the specified duration range. In such case, the nearest valid value is used. * In getRoutesByHandle requests, the target charge from the original route response is used, unless the charging time would be outside of the specified duration range. In such case, the nearest valid value is used. * `currentWeightChange`: Changes the value of `vehicle[currentWeight]` by this value. Enables the support of scenarios where the vehicle takes additional cargo or unloads its cargo along the route. Changes to the configuration of the vehicle, such as adding a trailer, aren't supported. Relative value in kilograms, beginning with either `+` or `-`. Available range: from -40000 to +40000 (inclusive). If this parameter is specified on any of the via waypoints or the request has the `vehicle[currentWeight]` set, the response contains the `currentWeight` value used for each section. When this parameter is provided, both `vehicle[currentWeight]` and `vehicle[grossWeight]` must also be provided. If the `currentWeight` value falls below 0 due to `currentWeightChange`, the system returns a critical violation notice, but a route is still calculated. The system returns notices only for negative values. Very low positive values are likely invalid, but don't trigger notices since they are greater than 0. The `currentWeightChange` value is stored in the `RouteHandle` at each waypoint and can't be changed in `RouteHandle` calculation requests. * `auxiliaryEnergyConsumption`: value in kWh, type: number. Auxiliary energy consumption during normal stop. This is to specify the expected energy consumption from the vehicle's battery by powered equipment, like a tail-lift used to load/unload goods, during the stop. **Notes:** * Cannot be used with `passThrough=true` * Cannot be used at user-added charging stations. in: query allowReserved: true style: form explode: true required: false schema: type: array items: $ref: "#/components/schemas/Waypoint" examples: coordinate: value: 51.611571,11.351608 summary: A simple WGS84 coordinate side: value: 52.531052,13.384872;sideOfStreetHint=52.530941,13.384939;matchSideOfStreet=always summary: Populating sideOfStreetHint in addition to location to avoid ending on the wrong side of the street course: value: 51.611571,11.351608;course=170;radius=20;minCourseDistance=500 summary: Setting course/radius/minCourseDistance an uncertain GPS coordinate of a moving vehicle name: value: 52.510319,13.285616;nameHint=Kaiserdamm summary: Setting nameHint to avoid matching to the wrong location duration: value: 51.611571,11.351608!stopDuration=600 summary: Addition a stopDuration for an intermediate stop pass-through: value: 51.611571,11.351608!passThrough=true summary: Setting pass-through parameter to avoid possibly making a u-turn for a stop displayLocation: value: 52.52697,13.42500;displayLocation=52.51885,13.46237 summary: This coordinate is the location of the POI as shown by the pin on a map. currentWeightChange: value: 52.531052,13.384872!currentWeightChange=+500 summary: Adding a weight of 500 kg to the vehicle for the remainder of the route. charging: value: 51.611571,11.351608!charging=(power=100;current=250;voltage=400;supplyType=dc;minDuration=1200) summary: Waypoint with a 100 kW charging station; charging at this station for at least 20 minutes. xRequestId: name: X-Request-ID in: header description: User-provided token that can be used to trace a request or a group of requests sent to the service. schema: type: string headers: X-Correlation-Id: description: Auto-generated id that univocally identifies the request. schema: type: string example: 4199533b-6290-41db-8d79-edf4f4019a74 X-Request-Id: description: User-provided token that can be used to trace a request or a group of requests sent to the service. schema: type: string example: 8230d7ad-3f1c-4191-a8dd-f3c42026da89 securitySchemes: ApiKey: type: apiKey in: query name: apiKey description: | A key generated specifically to authenticate API requests. For more information on how to get an API key, see [Identity and Access Management Developer Guide](https://www.here.com/docs/bundle/identity-and-access-management-developer-guide). Bearer: type: http scheme: bearer bearerFormat: JWT description: | A token obtained from a separate endpoint using client credentials and an OAuth 1.0a HMAC-SHA256 signed request. For more information on how to get a bearer token, see the [Identity and Access Management Developer Guide](https://www.here.com/docs/bundle/identity-and-access-management-developer-guide). schemas: AccessAttributes: description: | Extensible enum: `open` `noThrough` `tollRoad` `...` `AccessAttributes` is applied to a span of a route section and describes access flags of a street. * `open`: A part of the route that can be traversed. * `noThrough`: A part of the route that can only be traversed if origin, destination or any via waypoint is located there. * `tollRoad`: Access to this part of the route is restricted with a fee (or toll). It is possible that new access attributes may be supported in the future. When encountering unknown access attributes, e.g., in the software parser, it is recommended to ignore them. type: string x-extensible-enum: - open - noThrough - tollRoad Allow: type: object description: Explicitly allow features that require users to opt in. properties: hov: description: | This parameter specifies whether HOV lanes can be used in the calculation. An HOV (High occupancy Vehicle) lane or carpool lane is reserved for carpool usage. Carpool lane requires a minimum number of passengers in order for the car to use the carpool lane. **Notes**: - This parameter can't be used with 'vehicle[hovOccupancy]'. - This parameter should be used with `vehicle[occupancy]`. If `vehicle[occupancy]` is set, then only HOV lanes allowing this number of occupants will be allowed. If `vehicle[occupancy]` is not set, occupancy requirements are always considered fulfilled. - In case of violation, `violatedCarpool` notice will be returned. type: boolean default: false hot: description: | This parameter specifies whether HOT lanes can be used in the calculation. HOT (high-occupancy toll) lanes are HOV lanes where vehicles that do not qualify as high-occupancy are allowed to pass by paying a toll. **Notes**: - This parameter can't be used with 'vehicle[hovOccupancy]'. - This parameter can be used with `allow[hov]`. - In case of violation, `violatedCarpool` notice will be returned. - No toll information is returned for HOT lanes since it is dynamic information. type: boolean default: false Areas: description: | A pipe separated list of user-defined areas that routes should avoid/exclude going through. Notes: * Maximum count of avoided and excluded polygons and corridors is 20. * Maximum total count of avoided and excluded bounding boxes, polygons, corridors, including exceptions, is 250. Format: `{area1}[!exception1.1[!exception1.2...]]|{area2}[!exception2.1[!exception2.2...]]|{area3}[!exception3.1[!exception3.2...]]...` Supported areas: * Bounding box - A rectangular area on earth defined by a comma separated list of two latitude and two longitude values. - Format: `bbox:{west},{south},{east},{north}` + `{west}` - Longitude value of the westernmost point of the area. + `{south}` - Latitude value of the southernmost point of the area. + `{east}` - Longitude value of the easternmost point of the area. + `{north}` - Latitude value of the northernmost point of the area. - Example: `bbox:13.082,52.416,13.628,52.626` - Bounding box of Berlin * Polygon - A polygon on earth which defines area. Possible formats: 1) As list of geopoints. - Format: `polygon:{lat},{lon};{lat},{lon};{lat},{lon}...` + `{lat}` - Latitude + `{lon}` - Longitude - Example: `polygon:52.416,13.082;52.626,13.628;52.916,13.482` - Polygon in Berlin 2) As [Flexible Polyline](https://github.com/heremaps/flexible-polyline) Encoding. - Support only 2D polyline (without `elevation` specified). - Format: `polygon:{encoded_polyline}` + `{encoded_polyline}` - encoded [Flexible Polyline](https://github.com/heremaps/flexible-polyline) - Example: `polygon:BF05xgKuy2xCx9B7vUl0OhnR54EqSzpEl-HxjD3pBiGnyGi2CvwFsgD3nD4vB6e` * Corridor - A polyline with a specified radius (integer, in meters) that defines width of corridor area. Possible formats: 1) As a list of geopoints that defines a polyline and a radius that defines an area around the polyline. - Format: `corridor:{lat},{lon};{lat},{lon};{lat},{lon}...;r={radius}` - Example: `corridor:52.416,13.082;52.626,13.628;52.916,13.482;r=1000` 2) As [Flexible Polyline](https://github.com/heremaps/flexible-polyline) encoding and a radius that defines an area around the polyline. - Supports only 2D polyline (without `elevation` specified). - Format: `corridor:{encoded_polyline};r={radius}` + `{encoded_polyline}` - encoded [Flexible Polyline](https://github.com/heremaps/flexible-polyline) - Example: `corridor:BF05xgKuy2xCx9B7vUl0OhnR54EqSzpEl-HxjD3pBiGnyGi2CvwFsgD3nD4vB6e;r=1000` * Exception - area to exclude from avoidance. Any area type can be specified. Any area type can be used as an exception. Multiple exceptions can be specified for each area. - Format: `{area to avoid/exclude}!exception={area}` - Example: `bbox:13.082,52.416,13.628,52.626!exception=polygon:BF05xgKuy2xCx9B7vUl0OhnR54EqSzpEl-HxjD3pBiGnyGi2CvwFsgD3nD4vB6e!exception=bbox:13.082,52.416,13.628,52.626` Notes: * Maximum count of avoided and excluded polygons and corridors is 20. * Maximum total count of avoided and excluded bounding boxes, polygons, corridors, including exceptions, is 250. * Minimum count of coordinates in one polygon is 3 * Minimum count of coordinates in any single corridor is 2. * Maximum count of coordinates in one polygon or in one corridor is 100 * The polygon is closed automatically, there is no need to duplicate the first point as the last one. * Self-intersecting polygons are not supported. type: string AttributionLinkType: description: | Attribution link type. * `disclaimer` - Page with further legal information from the agency. * `tariff` - Page with information on the tariff. type: string enum: - disclaimer - tariff AxleGroupWeight: type: object description: > Contains the maximum allowed weight for an axle-group. properties: maxWeight: description: Maximum weight of the axle-group-weight restriction, in kilograms. type: integer format: int32 minimum: 0 axleGroup: description: | Extensible enum: `single` `tandem` `triple` `quad` `quint` `...` Axle-group associated with the restriction. Possible values are: * single * tandem * triple * quad * quint type: string x-extensible-enum: - single - tandem - triple - quad - quint BaseNoticeDetail: type: object properties: title: type: string description: Detail title cause: type: string description: Cause of the notice type: type: string description: | Detail type. Each type of detail might contain extra attributes. **NOTE:** The list of possible detail types may be extended in the future. The client application is expected to handle such a case gracefully. required: - type BoundingBoxArea: type: object description: A bounding box defined by two longitudes and two latitudes. required: - type - north - south - west - east properties: type: type: string example: boundingBox north: description: Latitude in WGS-84 degrees of the northern boundary of the box. type: number minimum: -90 maximum: 90 example: 30.0 south: description: Latitude in WGS-84 degrees of the southern boundary of the box. type: number minimum: -90 maximum: 90 example: 30.0 east: description: Longitude in WGS-84 degrees of the eastern boundary of the box type: number minimum: -180 maximum: 180 example: 30.0 west: description: Longitude in WGS-84 degrees of the western boundary of the box. type: number minimum: -180 maximum: 180 example: 30.0 CO2Emission: type: number description: | Estimation of the carbon dioxide emission for the given route section. Unit is kilograms with precision to three decimal places. Definitions: * Total Emission (Well-to-Wheel) = Production Emission (Well-to-Tank) + Operational Emission (Tank-to-Wheel) * CO2 Equivalent Emission (CO2e for CH4, N2O, etc.) = Gas Emission * Global Warming Potential (GWP) **Notes:** * This value represents the operational (tank-to-wheel) carbon dioxide emission. * This value represents only the carbon dioxide emission and does not represent the carbon dioxide equivalent emission for other gases or particulates. ChargePointOperator: type: object description: Information about the charging station charge-point-operator properties: id: description: > Charging station charge-point-operator ID. type: string name: description: Charge-point-operator name type: string ChargingConnectorType: description: | Extensible enum: `iec62196Type1Combo` `iec62196Type2Combo` `chademo` `tesla` `saeJ3400` `gbtDc` `unknown` `...` Currently supported connector types are: * `iec62196Type1Combo`: Type 1 Combo connector, commonly called "CCS1" * `iec62196Type2Combo`: Type 2 Combo connector, commonly called "CCS2" * `chademo`: CHAdeMO connector * `tesla`: North American Charging Standard (NACS) connector. This connector type is deprecated. Return value used instead of `saeJ3400` when the user specifies the deprecated value `tesla` in `ev[connectorTypes]` * `saeJ3400`: North American Charging System (NACS) connector * `gbtDc`: GB/T Guobiao GB/T 20234.3 DC connector * `unknown`: Connector type is not known, e.g., if station is provided by user in request type: string x-extensible-enum: - iec62196Type1Combo - iec62196Type2Combo - chademo - tesla - saeJ3400 - gbtDc - unknown ChargingStationBrand: type: object description: Information regarding the charging station brand properties: name: description: Charging station brand name type: string hrn: description: | Charging station brand unique ID. If specified in `ev[preferredBrands]` parameter then it would apply preference to adding stations of the given brand. **NOTE:** As of now it is generated as a brand name hash. type: string ChargingSupplyType: description: | Extensible enum: `acSingle` `acThree` `dc` `...` Currently possible values are: * `acSingle` : Single phase Alternating Current supply * `acThree`: Three phase Alternating Current supply * `dc`: Direct Current supply type: string x-extensible-enum: - acSingle - acThree - dc Color: type: string pattern: "#[0-9A-Fa-f]{6}" example: "#FF0000" Consumption: type: number description: | Energy or fuel consumption. For EV energy consumption is in kilowatt hours (kWh). For fuel-based vehicles fuel consumption is in Liters (L) for diesel, petrol and LPG vehicles, and Kilograms (kg) for CNG vehicles. ConsumptionModel: description: | Extensible enum: `empirical` `physical` `...` Specifies which of the EV consumption models is being used. See the `ev` parameter for details on the models. * `empirical` * `physical` **Alpha**: Physical consumption model is in development. It may not be stable and is subject to change. type: string default: empirical x-extensible-enum: - empirical - physical ConsumptionSpeedTable: type: string description: | Function curve specifying consumption rate at a given speed. The format of the string is a comma-separated list of numbers, as follows: ``` ,,,,...,, ``` where speed values are strictly increasing, non-negative integers in units of (km/h), and consumption values are non-negative floating point values. * Unit for EV: | Vehicle Type | Unit | |--------------|------| | Electric | Wh/m i.e., Watt-hours per meter| * Units for Fuel-based vehicles: | Vehicle Type | Unit | |--------------|------| | Diesel, Petrol & LPG | ml/m i.e., milliliters per meter| | CNG | gm/m i.e., grams per meter| The function is linearly interpolated between data points. For speeds less than `SPEED_0` the value of the function is `CONSUMPTION_0`, and for speeds greater than `SPEED_N` the value of the function is `CONSUMPTION_N`. example: 0,0.2394,14,0.2394,36,0.2586,52,0.196,68,0.2074,83,0.238,95,0.2597,105,0.2597,115,0.2964,125,0.3367,135,0.3508 ConsumptionType: description: | Extensible enum: `electric` `diesel` `petrol` `lpg` `cng` `lng` `ethanol` `propane` `hydrogen` `...` Vehicle consumption type. The energy or fuel consumption type (electric, diesel, petrol, lpg, cng, etc.) of a vehicle which provides the relevant information required to parse (unit, etc.) the energy or fuel `consumption` value of a vehicle. type: string x-extensible-enum: - electric - diesel - petrol - lpg - cng - lng - ethanol - propane - hydrogen Coordinate: type: object required: - lat - lng properties: lat: type: number format: double description: Latitude in WGS-84 degrees. lng: type: number format: double description: Longitude in WGS-84 degrees. example: lat: 52.53787 lng: 13.40896 CountryCode: description: ISO-3166-1 alpha-3 code type: string example: FRA minLength: 3 maxLength: 3 CustomizationHRN: description: "HERE Resource Name identifier for customization. This HRN must follow a convention below: hrn:here::::custom::." type: string pattern: ^hrn:here:[a-z]+::[a-z|-]+:custom:[a-z|-]+$ example: hrn:here:routing::olp-abc:custom:extension-map:abc-yard-routing DataVersion: type: object description: Version of a specific data set properties: name: type: string description: Identifies a data set, for example, a HRN, or a service specific identifier example: optimized-map-for-routing version: type: string description: The current version of this data set example: 2022.346.5.48 required: - name - version Distance: type: integer minimum: 0 description: Distance in meters. example: 189 Driver: type: object description: | Driver parameters to be used for calculating routes with automatically added rest stops. properties: schedule: type: string description: | A comma separated list of duration pairs in seconds. Each pair is two positive non-zero integers. The first specifies the maximum allowed drive duration before stopping to rest, and the second the resting duration before continuing driving. Format `driveDuration,restDuration[,driveDuration,restDuration]...` * driveDuration - duration in seconds, describes maximum driving duration allowed in a route's section till the next stop or route end. Minimum value is 240. * restDuration - duration in seconds, describes minimum resting duration required before continuing driving The routing engine adds necessary stops for rest to fulfill driver work hours requirements. If the route duration exceeds the defined drive-rest sequence the remaining route is added as the last drive section (or several sections if there are `via` waypoints on the remaining route) with critical notice `travelTimeExceedsDriverWorkHours`. **Limitations**: * `driver[schedule]` is only supported for `truck`, `bus` and `privateBus` transport modes. * `driver[schedule]` is not supported in combination with any of these parameters: `arrivalTime`, `ev[*]`. * `driver[schedule]` doesn't support route alternatives. So `alternatives` parameter value is ignored in combination with `driver[schedule]`. * Ferry travel, boarding, and deboarding durations are neither considered part of drive duration nor rest duration unless ferry travel duration is below 15 minutes. In this case, ferry travel duration is considered as drive duration. * Via waypoint stop-durations are neither considered part of drive duration nor rest duration. * Routing requires a minimum driving duration (`driveDuration`) of 240 seconds before a rest stop. Duration: type: integer description: Duration in seconds. example: 198 EMobilityServiceProvider: type: object description: Information about E-Mobility Service Provider properties: id: description: E-Mobility Service Provider ID type: string name: description: E-Mobility Service Provider name type: string EVPost: type: object properties: preferredBrands: description: | An array of charging station brand IDs. If `makeReachable` is set to `true`, then charging stations from the specified brands will be preferred as potential charging stops, even if this makes the total route duration (travel time plus charging time) longer (up to 15 minutes per charging stop) Example of a parameter value preferring two charging station brands: ``` { "preferredBrands": [ "6e1a148e8ddf06f613599134197b7c1c", "6211c90a063d36429b599dda79ae85e3" ] } ``` type: array items: type: string deprecated: true preferredChargePointOperators: description: | An array of charge-point-operator identifiers. If `makeReachable` is set to `true`, then charging stations with one of the listed charge-point-operator ids will be preferred as potential charging stops, even if this makes the total route duration (travel time plus charging time) longer (up to 15 minutes per charging stop) Example with two preferred charge-point-operators specified: ``` { "preferredChargePointOperators": [ "1f608648-cca5-11ed-bb1e-42010aa40002", "1f90fdf0-cca5-11ed-be23-42010aa40002" ] } ``` type: array items: type: string EncodedCorridorArea: type: object description: | A polygon defined as a [Flexible Polyline](https://github.com/heremaps/flexible-polyline) encoded string and with a specified radius that defines an area. required: - type - polyline - radius properties: type: type: string example: encodedCorridor polyline: type: string description: | [Flexible Polyline](https://github.com/heremaps/flexible-polyline) that defines a supporting structure for a corridor. Notes: * Support only 2D polyline (without `elevation` specified). * Minimum count of vertices in polyline is 2. * Maximum count of vertices in polyline is 100. example: BFoz5xJ67i1B1B7PzIhaxL7Y radius: type: integer description: The width in meters of the corridor determines the outline of the polygon. minimum: 1 maximum: 1000 EncodedPolygonArea: type: object description: | A polygon defined as a [Flexible Polyline](https://github.com/heremaps/flexible-polyline) encoded string. The polygon is automatically closed, so repeating the first vertex is not required. required: - type - outer properties: type: type: string example: encodedPolygon outer: type: string description: | [Flexible Polyline](https://github.com/heremaps/flexible-polyline) that defines the outline of the polygon. Notes: * Support only 2D polyline (without `elevation` specified). * Minimum count of vertices in polygon is 3. * Maximum count of vertices in polygon is 16. example: BFoz5xJ67i1B1B7PzIhaxL7Y ErrorResponse: type: object description: Response in case of error properties: title: type: string description: Human-readable error description example: Input data failed validation status: type: integer description: HTTP status code example: 400 code: type: string description: | Error code. All error codes start with "`E60`". example: E600101 cause: type: string description: Human-readable explanation for the error example: The input data in question does not comply with validation rules action: type: string description: Human-readable description of the action that can be taken to correct the error example: Request a valid id correlationId: type: string description: Auto-generated id that univocally identifies the request example: 4199533b-6290-41db-8d79-edf4f4019a74 required: - title - status - code - cause - action - correlationId FarePassValidityPeriod: type: object description: Specifies a temporal validity period for a pass properties: period: description: | Extensible enum: `annual` `extendedAnnual` `minutes` `days` `months` `...` Specifies one of the following validity periods: - `annual`: pass is valid from Jan 1 to Dec 31 - `extendedAnnual`: pass is valid from Jan 1 to Jan 31 of the following year - `minutes`: pass is valid for a specified number of minutes See `unit`. - `days`: pass is valid for a specified number of days. See `unit`. - `months`: pass is valid for a specified number of months. See `unit`. type: string x-extensible-enum: - annual - extendedAnnual - minutes - days - months count: description: Required if period is `minutes`, days` or `months`, it specifies how many of these units are covered by the pass. type: integer required: - period FuelType: description: | Extensible enum: `diesel` `petrol` `lpg` `cng` `lng` `ethanol` `propane` `hydrogen` `...` Vehicle fuel type. It is mandatory for calculation of consumption and CO2 emission. type: string x-extensible-enum: - diesel - petrol - lpg - cng - lng - ethanol - propane - hydrogen FunctionalClass: description: | Functional class defines a hierarchical network used to determine a logical and efficient route. The following classifications are used: * `1`: Roads that allow for high volume, maximum speed traffic movement between and through major metropolitan areas. * `2`: Roads that are used to channel traffic to functional class 1 roads for travel between and through cities in the shortest amount of time. * `3`: Roads that intersect functional class 2 roads and provide a high volume of traffic movement at a lower level of mobility than functional class 2 roads. * `4`: Roads that provide for a high volume of traffic movement at moderate speeds between neighborhoods. * `5`: Roads with volume and traffic movement below the level of any other functional class. type: integer format: int32 minimum: 1 maximum: 5 Gate: description: | Extensible enum: `keyAccess` `permissionRequired` `emergency` `...` Type of gate crossing. type: string x-extensible-enum: - keyAccess - permissionRequired - emergency HazardousGoodsRestriction: description: | Extensible enum: `explosive` `gas` `flammable` `combustible` `organic` `poison` `radioactive` `corrosive` `poisonousInhalation` `harmfulToWater` `other` `...` Hazardous goods restrictions refer to the limitations and regulations imposed on the transportation of specific types of hazardous materials during a trip. The following categories of hazardous goods are commonly considered: * `explosive`: Materials that are capable of causing an explosion * `gas`: Gas (definition varies from country to country). For details, check [here](https://en.wikipedia.org/wiki/HAZMAT_Class_2_Gases) * `flammable`: Materials that are easily ignited and capable of catching fire. * `combustible`: Materials that have the potential to burn or catch fire. * `organic`: Materials derived from living organisms or containing carbon compounds. * `poison`: Substances that can cause harm or death when ingested, inhaled, or absorbed. * `radioactive`: Materials that emit radiation and pose potential health risks. * `corrosive`: Substances that can cause damage or destruction through chemical reactions. * `poisonousInhalation`: Materials that are toxic when inhaled. * `harmfulToWater`: Materials that can cause pollution or harm to water bodies. * `other`: Other types of hazardous materials not covered by the above categories type: string x-extensible-enum: - explosive - gas - flammable - combustible - organic - poison - radioactive - corrosive - poisonousInhalation - harmfulToWater - other HazardousGoodsRestrictionAny: description: Indicates that all hazardous goods are subject to restrictions during the trip. type: string enum: - any example: any HovAttributes: description: | `hovAttributes` is applied to a span of a route section and indicates the presence of usable HOV lanes on the span. Additional HOV-attributes may be supported in the future. When encountering unknown HOV-attributes, e.g., in the software parser, it is recommended to ignore them. type: object properties: usableHovLane: type: boolean default: false description: | Span has an HOV lane usable by the vehicle for which the route was requested at the time of traversal of the span. **Notes**: - If `allow[hot]` is specified, then lanes that would require toll to be paid to use will be marked with `usableHovLane`. - It is not guaranteed that the HOV lane is connected to the route. **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** LicensePlateRestrictionType: description: | Extensible enum: `lastCharacter` `...` Specifies the components of the vehicle license plate considered for the restriction. type: string x-extensible-enum: - lastCharacter LocalizedString: type: object description: String with optional language code. properties: value: description: String written in the language specified in the language property. type: string language: description: Language in BCP47 format type: string required: - value example: value: Invalidenstraße language: de Location: type: object description: Location on the Earth properties: lat: description: Location of a point on the Earth north or south of the equator in decimal degrees. type: number format: double example: 52.531677 lng: description: Location of a place on the Earth east or west of the prime meridian in decimal degrees. type: number format: double example: 13.381777 elv: description: | Ellipsoid(geodetic) height in meters. Difference between the WGS84 ellipsoid and a point on the Earth’s surface. Note: Similar elevation can be obtained from a GPS receiver. type: number example: 512.5 example: lat: 52.531677 lng: 13.381777 required: - lat - lng MatchTracePoint: type: object description: GPS probe point with parameters relevant to path or route matching properties: lat: description: Latitude in degrees type: number format: double lng: description: Longitude in degrees type: number format: double required: - lat - lng MaxSpeed: description: Speed in meters per second, or "unlimited" indicating that the speed is unlimited, e.g., on a German autobahn oneOf: - type: number minimum: 0 - type: string enum: - unlimited MaxSpeedOnSegment: type: string description: | A comma separated list of segments with restrictions on maximum baseSpeed. Each entry has the following structure: `{segmentId}(#{direction})?;speed={maxBaseSpeed}` The individual parts are: * segmentId: The identifier of the referenced topology segment inside the catalog, example: `here:cm:segment:207551710` * direction (optional): Either '*' for bidirectional (default), '+' for positive direction, or '-' for negative direction * maxBaseSpeed: New value in m/s of baseSpeed on segment Example of a parameter value excluding two segments: `here:cm:segment:207551710#+;speed=10,here:cm:segment:76771992;speed=1` **Notes**: - It does not increase default baseSpeed on segment. If the value is greater than the default base speed, then such penalty will have no effect. - Minimum valid value for speed is 1 - Using segments with a modified base speed does not trigger any notifications - Maximum number of penalized segments in one request cannot be greater than 1000. "penalized segments" refer to segments that have a restrictions on maximum baseSpeed with `maxSpeedOnSegment` or avoided with `avoid[segments]` - In case the same segment is penalized multiple times through values provided in the query string and/or the POST body, then the most restrictive value will be applied. MaxSpeedOnSegmentPost: type: array items: type: object properties: segment: type: string description: | Identifier of the segment with restrictions on maximum `baseSpeed`. Each entry has the following structure: `{segmentId}(#{direction})?` speed: type: number minimum: 1 maximum: 70.0 description: > Maximum `baseSpeed` on segment in m/s. description: | Segments with restrictions on maximum `baseSpeed`. For the general description of the functionality please refer to the `maxSpeedOnSegment` parameter of the query string. Passing parameters in the POST body is suggested when the length of the parameters exceeds the limitation of the GET request. Example of a parameter value excluding two segments: ``` [ { "segment": "here:cm:segment:207551710#+", "speed": 10 }, { "segment": "here:cm:segment:76771992", "speed": 1 } ] ``` **Notes**: - Maximum number of penalized segments in one request cannot be greater than 1000. "penalized segments" refer to segments that have a restrictions on maximum baseSpeed with `maxSpeedOnSegment` or avoided with `avoid[segments]`. - In case the same segment is penalized multiple times through values provided in the query string and/or the POST body, then the most restrictive value will be applied. NetworkRestrictedTruck: description: > A truck transport mode with additional restrictions on the road networks that can be used for routing. The road networks are defined via the `permittedNetworks` parameter. type: object properties: permittedNetworks: description: | **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** Specifies a list of road networks permitted to be used. These road networks are considered mandatory and will be used as much as possible. A pipe-separated list of colon-separated country, state, and road network codes. The general format of each entry is `{country}:{state}[,state]...:{network}[,network]...`, where + `{country}` - Country code according to (ISO 3166-1 alpha-3) + `{state}` - State code part according to (ISO 3166-2) + `{network}` - Network code according to the information below For countries with only countrywide networks, the state part is omitted, and the format is simply `{country}:{network}[,network]...`. The maximum number of entries is 100. The maximum number of states per entry is 8. The maximum number of networks per entry is 15. The table below specifies the currently supported networks. In case a network is defined countrywide, the `State` column shows `N/A`: | Country | State | Network codes | | ------- | ----- | ----------------------------------------------------------------------------------------------------- | | AUS | ACT | bDouble26Gml, bDouble26Hml, pbs2A | | AUS | NSW | bDouble19, bDouble23Gml, bDouble26Gml, bDouble26Hml, bTripleGml, pbs2A | | AUS | NT | bDouble26Hml, bTripleGml | | AUS | QLD | bDouble23Gml, bDouble23Hml, bTripleGml, bTripleHml, pbs2A, pbs3A, pbs3B, pbs4A | | AUS | SA | bDouble23Gml, bDouble23Hml, bDouble26Gml, bDouble26Hml, bTripleGml, pbs2A, pbs2B, pbs3A, pbs3B, pbs4A | | AUS | TAS | bDouble23Gml, bDouble26Gml, bDouble26Hml, pbs2A, pbs2B | | AUS | VIC | bDouble26Gml, bDouble26Hml, bTripleGml, pbs2A, pbs2B | | AUS | WA | bDouble27Dot5, bTripleGml, pbs2B, pbs3B | | NZL | N/A | fiftyMax, hpmv | type: string example: NZL:hpmv,fiftyMax|AUS:NSW:bDouble23Gml,bTripleGml|AUS:NSW,QLD:pbs2A|AUS:NSW,VIC:bDouble26Hml,pbs2A required: - permittedNetworks NoticeSeverity: description: | Describes the impact a notice has on the resource to which the notice is attached. * critical - The notice must not be ignored, even if the type of notice is not known to the user. Any associated resource (e.g., route section) must not be used without further evaluation. * info - The notice is for informative purposes, but does not affect usability of the route. type: string enum: - critical - info ParkingLotPlaceType: description: | Extensible enum: `parkAndRide` `...` Currently possible values are: * `parkAndRide` - this parking lot is of type "Park and Ride", such as it is a parking specifically designed to allow transition between car and transit. type: string x-extensible-enum: - parkAndRide PartialTime: type: string description: "**RFC 3339**, section 5.6 as defined by `partial-time`." pattern: ^[012]\d:[0-5]\d:[0-6]\d(\.\d+)?$ example: 08:30:00 PaymentMethod: description: | Extensible enum: `cash` `bankCard` `creditCard` `passSubscription` `transponder` `videoToll` `cashExact` `travelCard` `...` Recognized methods of payment. type: string x-extensible-enum: - cash - bankCard - creditCard - passSubscription - transponder - videoToll - cashExact - travelCard PedestrianSpeed: description: Pedestrian speed in meters per second type: number minimum: 0.5 maximum: 2 default: 1 PermittedNetworks: description: | ** Disclaimer: This object is currently in beta release, and is therefore subject to breaking changes.** This span contains information about the `networkRestrictedTruck` tranport mode related networks. **Note:** Only supported in `networkRestrictedTruck` (Beta) transport mode. type: object properties: offPermittedNetworks: description: Indicates that the span is not covered by any of the networks specified in the `permittedNetworks` parameter. type: boolean default: false Polyline: type: string description: Line string in [Flexible Polyline](https://github.com/heremaps/flexible-polyline) format. Coordinates are in the WGS84 coordinate system, including `Elevation` (if present). example: A05xgKuy2xCx9B7vUl0OhnR54EqSzpEl-HxjD3pBiGnyGi2CvwFsgD3nD4vB6e RailwayCrossing: description: | Extensible enum: `protected` `unprotected` `unknown` `...` Type of railway crossing. type: string x-extensible-enum: - protected - unprotected - unknown RefReplacements: description: > Dictionary of placeholders to replacement strings for the compact representation of map entity references. type: object additionalProperties: type: string ReroutingMode: description: | Defines what kind of additional route calculation should be done. * `none` - Cuts off route before the current position. Updates dynamic attributes of the route after the current position. If the current position, i.e., the new `origin`, is defined and is outside of the original route then the request will fail. If both `origin` and `lastTraveledSectionIndex` or `traveledDistanceOnLastSection` are provided then `lastTraveledSectionIndex` and `traveledDistanceOnLastSection` will be applied first, and then `origin` will be matched to the part of the route that's left. This is the default behavior. * `returnToRoute` - Same as `none` if current position is on the route. If the current position is not on the original route then a new route to the destination will be calculated, starting from the current position. The new route will try to preserve the shape of the original route, if possible. If a new optimal route is found before a route back to the original route then the new route will be returned. type: string enum: - none - returnToRoute Return: description: | Defines which attributes are included in the response as part of data representation of a `Route` or `Section`. * `polyline` - Polyline for the route in [Flexible Polyline](https://github.com/heremaps/flexible-polyline) Encoding. Either a 2D polyline (without `elevation` specified), or a 3D polyline with the 3rd dimension type `Elevation` (with `elevation` specified), using the WGS84 coordinate system. * `actions` - Actions (such as maneuvers or tasks) that must be taken to complete the section. * `instructions` - Include instructions in returned actions. Instructions are localized to the requested language. * `summary` - Include summary for the section. * `travelSummary` - Include summary for the travel portion of the section. * `turnByTurnActions` - Include all information necessary to support turn by turn guidance to complete the section. * `mlDuration` - Use a region-specific machine learning model to calculate route duration. **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** * `typicalDuration` - Include route duration under typical traffic conditions. * `elevation` - Include WGS84 elevation information in coordinate and geometry types. See e.g. `polyline` or `location`. * `routeHandle` - Encode calculated route and return a handle which can be used with `routes/{routeHandle}` to decode the route at a later point in time. * `passthrough` - Include information on passthrough via waypoints in the section. * `incidents` - Include a list of all incidents applicable to each section. Returned incidents may be referenced by `incidents` and/or `intersectionIncidents` span parameters. Incidents are localized to the requested language. * `routingZones` - Include information about routing zones each section goes through. * `truckRoadTypes` - Include information about road types each section goes through. * `tolls` - Include information about the tolls to be paid, per section, according to the `tolls` parameter and other toll-influencing parameters such as vehicle dimensions in the query, e.g `transportMode`, `vehicle[hovOccupancy]`, vehicle[height]. Check the Developer Guide for tutorials on the topic. If tolls cannot be calculated for a section, it will contain the `tollsDataUnavailable` notice code. **Note**: - Toll requests support `car` dimensions such as atypical car height and weight, trailers, axle count and vehicle fuel type. However extreme parameter combinations may result in tolls being returned for a different vehicle type (for example, a car with 6 axles will most likely result in truck tolls). Therefore the request will return the most "typical" toll cost for the parameters provided. - Tolls are not available in route import service. See [this tutorial](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/tutorials/tolls-routeimport.html) for information on how to request tolls when using route import. * `routeLabels` - Include a list of the most important names and route numbers on this route that differentiate it from other alternatives * `potentialTimeDependentViolations` - Include info notices for potential time-dependent violations in the sections that match the current vehicle profile, but are not violating the restricted times for the calculated route. * `noThroughRestrictions` - Include information about the parts of the route that are not allowed to be driven through, i.e. route can only start, end, or have an intermediate `via` waypoint here. The following restrictions apply when specifying the `return` parameter: * If `actions` is requested, then `polyline` must also be requested as well. * If `instructions` is requested, then `actions` must also be requested as well. * If `turnByTurnActions` is requested, then `polyline` must also be requested as well. * If at least one attribute is requested within the `spans` parameter, then `polyline` must be request as well type: string enum: - polyline - actions - instructions - summary - travelSummary - mlDuration - typicalDuration - turnByTurnActions - elevation - routeHandle - passthrough - incidents - routingZones - truckRoadTypes - tolls - routeLabels - potentialTimeDependentViolations - noThroughRestrictions RoadInfoType: description: Type of the road (rural, urban, highway) type: string enum: - rural - urban - highway default: urban RoundaboutAngle: description: | The degree measure of the arc traversed from the roundabout entrance to the exit of the maneuver. Available only for exit roundabout actions. Positive values indicate an exit angle for a right-hand side driving roundabout and negative values indicate an exit angle for a left-hand side driving roundabout. type: number format: double minimum: -360 maximum: 360 example: 204.83 RouterMode: description: Mode of transport to be used for route calculation. type: string enum: - car - truck - pedestrian - bicycle - scooter - taxi - bus - privateBus - networkRestrictedTruck RoutingMode: description: | Specifies which optimization is applied during the calculation. * `fast`: Route calculation from start to destination optimized by travel time. In many cases, the route returned by `fast` mode may not be the route with the fastest possible travel time. For example, the routing service may favor a route that remains on a highway, even if a faster travel time can be achieved by taking a detour or shortcut through an inconvenient side road. * `short`: Route calculation from start to destination disregarding any speed information. In this mode, the distance of the route is minimized, while keeping the route sensible. This includes, for example, penalizing turns. Because of that, the resulting route will not necessarily be the one with minimal distance. Notes: * The following Transport modes only support `fast` routingMode - `bicycle` - `bus` - `pedestrian` - `privateBus` - `scooter` - `taxi` - `networkRestrictedTruck` type: string enum: - fast - short default: fast RoutingZoneReference: description: | A reference to a routing zone in HMC. The standard representation of a routing zone reference has the following structure: `{catalogHrn}:{catalogVersion}:({layerId})?:{tileId}:{zoneId}` The individual parts are: * `catalogHrn`: The HERE Resource Name that identifies the source catalog of the routing zone, example: `hrn:here:data::olp-here:rib-2` * `catalogVersion`: The catalog version * `layerId` (optional): The layer inside the catalog where the routing zone is located, example: `environmental-zones` * `tileId`: The HERE tile key of the partition/tile where the routing zone is located in the given version of the catalog * `zoneId`: The identifier of the referenced routing zone within the catalog, example: `here:cm:envzone:3455277` Example of a reference to an environmental zone in standard form: `hrn:here:data::olp-here:rib-2:1557:environmental-zones:all:here:cm:envzone:3455277` In order to reduce response size, routing zone references can also be provided in a compact representation. In compact form, parts of a reference are replaced by placeholders, which can be resolved using the `refReplacements` dictionary in the parent section. The placeholder format is ```\$\d+``` and needs to be surrounded by colons or string start/end. It can be captured with the following regular expression: ```(^|:)\$\d+(:|$)``` . Example of the aforementioned environmental zone reference in compact form: `$0:$1:3455277` With the corresponding `refReplacements`: ``` "refReplacements": { "0": "hrn:here:data::olp-here:rib-2:1557", "1": "environmental-zones:all:here:cm:envzone" } ``` type: string Scooter: type: object description: Scooter-specific parameters properties: allowHighway: description: Specifies whether the scooter is allowed on the highway or not. This parameter is optional. If not provided, the scooter is not allowed to use the highway by default. There is a similar parameter avoid[features]=controlledAccessHighway to disallow highway usage. avoid[features] takes precedence, so if this parameter is also used, scooters are not allowed to use highways even if `allowHighway` is set to `true`. type: boolean default: false SegmentRef: description: | A reference to the HMC topology segment used in this span. The standard representation of a segment reference has the following structure: {catalogHrn}:{catalogVersion}:({layerId})?:{tileId}:{segmentId}(#{direction}({startOffset}..{endOffset})?)? The individual parts are: * catalogHrn: The HERE Resource Name that identifies the source catalog of the segment, example: hrn:here:data::olp-here:rib-2 * catalogVersion: The catalog version * layerId (optional): The layer inside the catalog where the segment can be found, example: topology-geometry * tileId: The HERE tile key of the partition/tile where the segment is located in the given version of the catalog. This can be on a lower level than the actual segment is stored at (for example, the provided tile ID can be on level 14, despite topology-geometry partitions being tiled at level 12). The level of a HERE tile key is indicated by the position of the highest set bit in binary representation. Since the HERE tile key represents a morton code of the x and y portion of the Tile ID, the level 12 tile ID can be retrieved from the level 14 tile ID by removing the 4 least significant bits (or 2 bits per level) or 1 hexadecimal digit. For example, the level 14 tile 377894441 is included in the level 12 tile 23618402 (37789444110 = 1686362916 → 168636216 = 2361840210) * segmentId: The identifier of the referenced topology segment inside the catalog, example: here:cm:segment:84905195 * direction (optional): Either '*' for undirected or bidirectional, '+' for positive direction, '-' for negative direction, or '?' for unknown direction (not used by the routing service) * startOffset/endOffset (optional): The start- and end offset are non-negative numbers between 0 and 1, representing the start and end of the referenced range using a proportion of the length of the segment. 0 represents the start and 1 the end of the segment, relative to the indicated direction (or positive direction in case of undirected segments). Example: 0.7..1 Example of a segment reference in standard representation: hrn:here:data::olp-here:rib-2:1363::377894441:here:cm:segment:84905195#+0.7..1 The segment references can also be provided in a compact representation, to reduce the response size. In the compact representation, some parts are replaced by placeholders, which can be resolved using the refReplacements dictionary in the parent section. The placeholder format is ```\$\d+``` and needs to be surrounded by colons or string start/end. It can be captured with the following regular expression: ```(^|:)\$\d+(:|$)/``` . Example of the segment reference previously mentioned in compact representation: $0:377894441:$1:84905195#+0.7..1 With the corresponding refReplacements: "refReplacements": { "0": "hrn:here:data::olp-here:rib-2:1363:", "1": "here:cm:segment" } type: string SimpleErrorResponseSchema: type: object properties: error: type: string description: Human-readable error error_description: type: string description: Human-readable error description Spans: type: string enum: - walkAttributes - streetAttributes - carAttributes - truckAttributes - scooterAttributes - names - length - duration - baseDuration - typicalDuration - countryCode - stateCode - functionalClass - routeNumbers - speedLimit - maxSpeed - dynamicSpeedInfo - segmentId - segmentRef - consumption - routingZones - truckRoadTypes - notices - incidents - tollSystems - gates - railwayCrossings - noThroughRestrictions - hovAttributes - permittedNetworks Speed: description: Speed in meters per second type: number minimum: 0 StateCode: description: | The second part of an ISO-3166-2 code (e.g., `TX` from `USA-TX`) consists of up to three alphanumeric characters. It is used to identify the principal subdivisions (e.g., provinces or states) of a country in conjunction with a CountryCode Note: State codes may not be available in some countries. type: string minLength: 1 maxLength: 3 StreetAttributes: description: | Extensible enum: `rightDrivingSide` `dirtRoad` `tunnel` `bridge` `ramp` `motorway` `roundabout` `underConstruction` `dividedRoad` `privateRoad` `controlledAccessHighway` `builtUpArea` `...` `StreetAttributes` is applied to a span of a route section and describes attribute flags of a street. The following flags can be assigned: * `rightDrivingSide`: Vehicles must drive on the right-hand side of the road in this part of the route. * `dirtRoad`: This part of the route has an unpaved surface, such as a gravel or dirt road. * `tunnel`: This part of the route passes through a tunnel. * `bridge`: This part of the route crosses a bridge. * `ramp`: This part of the route is a ramp, typically connecting to or from highways. * `motorway`: This part of the route is a controlled access road, typically a highway with motorway signage. * `roundabout`: This part of the route includes a roundabout. * `underConstruction`: This part of the route is currently under construction. * `dividedRoad`: This part of the route uses a road with a physical or legal divider in the middle, separating opposing traffic flows. * `privateRoad`: This part of the route uses a privately owned road. * `controlledAccessHighway`: This part of the route is either a controlled access road, limited access road, or both. * `builtUpArea`: This part of the route most likely passes through a built-up area. It is possible that new street attributes may be supported in the future. When encountering unknown street attributes, e.g., in the software parser, it is recommended to ignore them. type: string x-extensible-enum: - rightDrivingSide - dirtRoad - tunnel - bridge - ramp - motorway - roundabout - underConstruction - dividedRoad - privateRoad - controlledAccessHighway - builtUpArea Taxi: type: object description: Taxi-specific parameters properties: allowDriveThroughTaxiRoads: description: | Specifies if a vehicle is allowed to drive through taxi-only roads and lanes. Even if this option is set to `false`, the vehicle is still allowed on taxi-only roads at the start of the route and at the destination. type: boolean default: true Time: type: string description: "**RFC 3339**, section 5.6 as defined by either `date-time` or `date-only` 'T' `partial-time` (ie no time-offset)." format: date-time TimeDomain: description: | Specifies date and time period during which the restriction applies. Value is a string in the Time Domain format. Time Domain is part of the GDF (Geographic Data Files) specification, which is an ISO standard. Current standard is GDF 5.1 which is [ISO 20524-1:2020](https://www.iso.org/standard/68244.html). For a detailed description of the Time Domain specification and usage in routing services, please refer to the documentation available in the [Time Domain](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/concepts/time-domain.html) page of the Developer Guide. type: string example: -(d1){w1}(d3){d1} TimeRestrictedWeekdays: type: string enum: - mo - tu - we - th - fr - sa - su TimeWithAny: type: string description: | Specifies the time either as * "**RFC 3339**, section 5.6 as defined by either `date-time` or `date-only` 'T' `partial-time` (ie no time-offset)", or * the special value `any` which stand for unspecified time TollSystem: type: object description: > Information about a toll system collecting payments on the route. properties: id: description: > The internal identification of this toll system. It will be replaced in the future by an HRN (HERE Resource Name) identifier. type: integer deprecated: true name: description: > The name of this toll system type: string Tolls: type: object description: | Vehicle-independent options that may affect route toll calculation as well as options affecting the output of the tolls, such as summaries. Since this parameter controls behaviour related to tolls in the return part of the response, use of this parameter requires `return=tolls` to be selected. properties: transponders: description: | Certain toll systems allow users to pay for the usage of the corresponding tollroads using transponders. As the price that the user pays with a transponder could be different from other payment methods for accessing the same toll roads this is provided to allow the user to specify the transponders that they have. If a toll system requires a certain transponder to access it and the user states that they have it, the price for payment with transponders will be used when reporting fare prices and for summaries, if required by the `tolls[summaries]` parameter. The value of the parameter is a comma-separated list of transponder systems that the user has. Alternatively, the user can also specify `all` as a list element to state they have all required transponders along any potential route. **Note**: Currently, the only valid value is `all`. type: string vignettes: description: | This parameter allows the user to specify for which toll roads the user has valid vignettes. If a road requires a certain vignette and the user states that they have it, no notices will be given regarding the requirement to have it. The value of the parameter is a comma-separated list of vignettes that the user has. Alternatively, the user can also specify `all` as a list element to state they have all required vignettes along any potential route. No toll costs information will be returned for a given road requiring a vignette if the user states they already have it, as no further payment is necessary. If `tolls` are requested for spans, the toll sections for these types of toll systems are still reported, nevertheless. **Note**: Currently, the only valid value is `all`. type: string summaries: description: | Items extensible enum: `total` `tollSystem` `country` `...` This parameter allows the user to specify criteria for tolls aggregation. Multiple values may be requested at once. Toll aggregation is performed at the section level only. Possible values are: - `total`: the user wants a single value summarizing the tolls to be paid in the section. This summary criterion requires that a `currency` has been passed as a parameter, to group multi-currency roads together, even if the route would traverse roads that use only one currency; see `currency` parameter. - `tollSystem`: toll costs are aggregated per toll system. - `country`: toll costs are aggregated per country. Note that any toll instance may have multiple prices, depending on factors such as time of day, payment methods, etc. that are not available in the request. As a result, the most economical value is selected for summary calculation, so summaries should be considered informative only. type: array items: type: string x-extensible-enum: - total - tollSystem - country vehicleCategory: type: string description: | Extensible enum: `minibus` `...` Defines special toll vehicle types. Usual types like car or truck are determined from transport mode. | category | Description | | --------- | ------- | | minibus | Commercial buses with a seating capacity of 16-25 passengers (NA) or a small bus that is used to transport a maximum of 15 passengers. Can be used only with transport mode `car` | **NOTE:** It can be extended by other vehicle categories in the future. x-extensible-enum: - minibus emissionType: description: | Defines the emission types and CO2 emission classes as defined by the toll operator. The emission types defined are based on the Emission standards. Emission types are only published when the toll cost is defined based on emission type classes. ## Format Format: `EmissionType[CO2EmissionClass]` `EmissionType` is specified as `euro6`, `euro5`, etc. Allowed values are `[euro1, euro2, euro3, euro4, euro5, euro6, euroEev]`. `CO2EmissionClass` is optional and is specified as `;co2class=1`, `;co2class=2`, etc. Allowed values for `co2class` are `[1, 2, 3, 4, 5]`. ## Examples: Only toll emission type (euro6), without CO2 emission class: `euro6` Toll emission type (euro6) with CO2 emission class (class1): `euro6;co2class=1` **NOTES:** * This parameter is not compatible with EV routing. When EV routing is used (i.e., any `ev` namespace parameter is specified in the request or `vehicle[engineType]=electric` is specified), the appropriate emission type (Electric Vehicle) is used. * For cases other than EV routing: when not specified, `EmissionType` defaults to `euro5`. If `EmissionType` is provided without a `co2class`, then `co2class` defaults to `1`. * Providing only a `CO2EmissionClass` without an `EmissionType` is not supported, i.e. `euro6;co2class=1` is valid but `co2class=1` is invalid. * Providing an invalid combination of `EmissionType` and `CO2EmissionClass` as input may result in unexpected tolls. type: string example: euro6 Traffic: type: object description: Traffic specific parameters. properties: overrideFlowDuration: description: | Duration in seconds for which flow traffic event would be considered valid. While flow traffic event is valid it will be used over the historical traffic data. **Note**: Flow traffic represents congestion not caused by any long-term incidents. State of the flow traffic often changes fast. The farther away from the current time we move, the less precise current flow traffic data will be and the more precise historical traffic data becomes. That's why it's advised not to use this parameter unless you know what you want to achieve and use the default behavior which is almost always better. type: integer mode: description: | Defines what traffic data should be used for route shape and travel duration calculation. * `default`: Traffic data is considered. * - If `departureTime=any` then only long-term closures will be considered. * - If `departureTime` is not equal to `any` then all traffic data will be taken into account. * `disabled`: All traffic data, including long term closures, is ignored. type: string default: default enum: - default - disabled TrafficIncidentCriticality: description: | Describes the impact an incident has on the route. * critical - The part of the route the incident affects is not usable. * major - Major impact on duration, e.g. stop and go * minor - Minor impact on duration, e.g. traffic jam * low - Very little impact on duration, e.g. slightly increased traffic type: string enum: - critical - major - minor - low TrafficIncidentType: description: | Extensible enum: `accident` `congestion` `construction` `disabledVehicle` `massTransit` `plannedEvent` `roadHazard` `roadClosure` `weather` `laneRestriction` `other` `...` An open list of possible incident causes / types. Note: Since new types are expected to appear, it is important to check for unknown types when parsing this value. type: string x-extensible-enum: - accident - congestion - construction - disabledVehicle - massTransit - plannedEvent - roadHazard - roadClosure - weather - laneRestriction - other TrailerCountRange: type: object description: Constrains the restriction to vehicles with the number of trailers within the specified range. properties: from: description: Inclusive minimum of trailer count. type: integer format: int32 minimum: 0 to: description: Inclusive maximum of trailer count. If not set, the maximum trailer count is unbounded. type: integer format: int32 minimum: 0 TransitIncidentEffect: description: | Extensible enum: `cancelledService` `reducedService` `additionalService` `modifiedService` `delays` `detour` `stopMoved` `other` `...` An open list of possible incident effects. Note: Since new types are expected to appear, it is important to check for unknown types when parsing this value. type: string x-extensible-enum: - cancelledService - reducedService - additionalService - modifiedService - delays - detour - stopMoved - other TransitIncidentType: description: | Extensible enum: `technicalProblem` `strike` `demonstration` `accident` `holiday` `weather` `maintenance` `construction` `policeActivity` `medicalEmergency` `other` `...` An open list of possible incident causes / types. Note: Since new types are expected to appear, it is important to check for unknown types when parsing this value. type: string x-extensible-enum: - technicalProblem - strike - demonstration - accident - holiday - weather - maintenance - construction - policeActivity - medicalEmergency - other TransitStopAttributes: description: | Extensible enum: `noEntry` `noExit` `...` Attributes of a stop. * `noEntry`: The transport cannot be entered at the stop. * `noExit`: The transport cannot be exited at the stop. type: string x-extensible-enum: - noEntry - noExit TransponderSystem: description: Transponder system for which a fare is applicable. type: object properties: system: type: string description: Transponder system name. TruckAxleCountRange: type: object description: Constrains the restriction to trucks with the number of axles within the specified range. properties: from: description: Inclusive minimum of axle count. type: integer format: int32 minimum: 2 to: description: Inclusive maximum of axle count. If not set, the maximum axle count is unbounded. type: integer format: int32 minimum: 2 TruckType: description: | Specifies the type of the truck * `Straight`: A truck on a single frame with a permanently attached cargo area. * `Tractor`: A towing vehicle that can pull one or more semi-trailers (also known as a semi-truck). deprecated: true type: string enum: - Straight - Tractor TunnelCategory: description: > Specifies the tunnel category used to restrict the transport of specific goods. type: string enum: - B - C - D - E TurnActionDirection: description: Direction of the turn. `middle` is only used by the `keep` action. type: string enum: - middle - right - left TurnActionSeverity: description: | Tightness of the turn. Optional in the `turn` action, unused by other actions. * `light`: indicates making a light turn * `quite`: indicates making a regular turn * `heavy`: indicates making a heavy turn type: string enum: - light - quite - heavy TurnAngle: description: | The angle of the turn expressed in degrees. It is available only for turn-by-turn actions. A positive number indicates a clockwise angle. type: number format: double minimum: -180 maximum: 180 example: -132.28 Units: description: Units of measurement used, for example, in guidance instructions. The default is `metric`. type: string enum: - metric - imperial Uri: description: An URL address that links to a particular resource. type: string format: uri example: https://url.address.com/resource VehicleRestrictionMaxWeight: type: object description: > Contains the maximum permitted weight, specified in kilograms, along with the specific type of the maximum permitted weight restriction. properties: value: type: integer format: int32 minimum: 0 type: description: | Extensible enum: `empty` `gross` `current` `unknown` `...` Represents the specific type of the maximum permitted weight restriction. * `empty`: Restriction is for empty weight of the vehicle combination. * `gross`: Restriction is for gross weight. * `current`: Restriction is for current weight. * `unknown`: Restriction may apply to gross or current weight. Specific `type` data for the restriction is not available. **NOTES:** * A restriction of type `unknown` may change to `gross` or `current` when data becomes available in future. * A restriction of type `gross` or `current` may also change to a different type if actual regulation changes. type: string x-extensible-enum: - empty - gross - current - unknown VehicleType: description: | Specifies the type of the vehicle * `StraightTruck`: A truck on a single frame with a permanently attached cargo area. **Note:** default value when truck routing mode is used. * `Tractor`: A towing vehicle that can pull one or more semi-trailers (also known as a semi-truck). **Limitations:** only valid for `transportMode=truck`. type: string enum: - StraightTruck - Tractor WalkAttributes: description: | Extensible enum: `stairs` `park` `indoor` `open` `noThrough` `tollRoad` `...` WalkAttributes are applied to a span of a route section and describe walk-related attribute flags. * `stairs`: This part of the route is using stairs. * `park`: This part of the route is located inside a park. * `indoor`: This part of the route is located inside a venue. * `open`: This part of the route is open to walking. * `noThrough`: This part of the route can only be traversed if origin, destination or any via waypoint is located there. * `tollRoad`: This part of the route is restricted with a fee (or toll). It is possible that new attributes may be supported in the future. When encountering unknown attributes, e.g., in the software parser, it is recommended to ignore them. type: string x-extensible-enum: - stairs - park - indoor - open - noThrough - tollRoad Waypoint: description: | A location defining an origin, destination or via point for a route or an isoline. Format: `Place[WaypointOptions]` * Place: `{lat},{lng}[PlaceOptions]` * PlaceOptions: `;option1=value1;option2=value2...` * WaypointOptions: `!option1=value1!option2=value2...` A waypoint consists of: * Exactly one place * Optional settings for the place * Optional settings for the waypoint itself Supported place options: * `course`: int, degrees clock-wise from north. Indicates the desired direction from the place. For example, `90` indicating `east`. Often combined with `radius` and/or `minCourseDistance`. This parameter takes preference over `matchSideOfStreet`. * `sideOfStreetHint`: `{lat},{lng}`. Indicates the side of the street that should be used. For example, if the location is to the left of the street, the router will prefer using that side in case the street has dividers. For example, `52.511496,13.304140;sideOfStreetHint=52.512149,13.304076` indicates that the `north` side of the street should be preferred. This options is required, if `matchSideOfStreet` is set to `always`. Option cannot be combined with `radius`, `radiusPenalty` or `snapRadius`. * `displayLocation`: `{lat},{lng}`. Indicates the physical location of the POI. It is different from the originalLocation and location which are generally expected to be on the navigable road network, i.e., on segments. * `uTurnPermission`: enum `[allow, avoid]`. Specifies the U-Turn Permission mode at the stop-over waypoint. If unspecified, the permission will be determined by the global setting, avoid[features]=uTurns. This feature is not supported for pass-through waypoints and U-Turns are generally avoided in that case. + `allow` : Allow making a U-Turn at this stop-over waypoint + `avoid` : Avoid making a U-Turn at this stop-over waypoint * `matchSideOfStreet`: enum `[always, onlyIfDivided]`. Specifies how the location set by `sideOfStreetHint` should be handled. Requires `sideOfStreetHint` to be specified as well. Note the exception above when combined with `course`. + `always` : Always prefer the given side of street. + `onlyIfDivided`: Only prefer using side of street set by `sideOfStreetHint` in case the street has dividers. This is the default behavior. * `nameHint`: string. Causes the router to look for the place with the most similar name. The typical examples include: `North` being used to differentiate between interstates `I66 North` and `I66 South`, `Downtown Avenue` being used to correctly select a residental street. * `radius`: int, meters. Sets the radius within which all locations are considered equally eligible for selection as waypoints. Typical use cases include scenarios with imprecise coordinates or user input provided on low resolution map displays. The value is capped at 200 meters. Setting a higher value doesn't return an error. Can't be used with `snapRadius`. * `snapRadius`: int, meters. Sets the radius within which waypoints are matched to the most "significant" place. Candidates for matching are sorted in the order of significance which is based on the visibility on a zoomed-out map. A highway is considered more significant than a national road, while a national road is more significant than a city road. Typical use case - selecting waypoints on a zoomed-out view of a map on a drag-and-drop interface, where only significant roads are visible. A big enough radius allows to match waypoints to such roads. Can't be used with `radius` or `radiusPenalty` parameters. * `radiusPenalty`: int, percentage 0-10000. Penalty as percentage: Used in conjunction with the `radius` parameter. Router will match the waypoint within the specified radius and apply a penalty to candidates based on their air distance to the waypoint. This penalty is proportional to the given percentage, where 100 is just the cost of the air distance, and 200 is twice the cost of the air distance. The penalty must be chosen so that, when multiplied by the radius, the result is less than or equal to 7200. Regardless, only values up to and including 10000 will be accepted. This means that a maximum penalty of 3600% is allowed for a radius of 200m, 7200% for 100m and 10000% for 72m and less. Higher values will result in an error response. `radiusPenalty` cannot be combined with `snapRadius`. **Alpha**: This parameter is in development. It may not be stable and is subject to change. * `minCourseDistance`: int, meters. Instructs the routing service to try to find a route that avoids actions for the indicated distance. For example, if the origin is determined by a moving vehicle, the user might not have time to react to early actions. Values greater than 2000 meters will be capped at 2000 meters. * `segmentIdHint`: string. Causes the router to try and match to the specified segment. Waypoint coordinates need to be on the segment, otherwise waypoint will be matched ignoring the segment hint. This parameter can be used when the waypoint is too close to more than one segment to force matching to a specific one. * `onRoadThreshold`: int, meters. allows specifying a distance within which the waypoint could be considered as being on a highway/bridge/tunnel/sliproad. Within this threshold, the attributes of the segments do not impact the matching. Outside the threshold only segments which aren't one of highway/bridge/tunnel/sliproad can be matched. Supported waypoint options: * `stopDuration`: desired duration for the stop, in seconds. `stopDuration` must be less than 50000. * `passThrough`: boolean. Asks the router to avoid the following during route calculation: + Introducing a stop at the waypoint. + Splitting the route into sections. + Changing the direction of travel. Following scenarios are not supported for `passThrough` parameter: + Setting both `stopDuration` to a value greater than 0 and `passThrough=true`. + Setting `passThrough=true` for `origin` or `destination` of a route. The default value is `false`. * `charging`: Structured string denoting a user-planned charging stop. Format: `charging=(power=;current=;voltage=;supplyType=;minDuration=;maxDuration=)`. The properties `power`, `current`, `voltage` and `supplyType` denote the characteristics of the chosen compatible connector at the station. These are all required. `minDuration` and `maxDuration` set the time bounds for the charging time. At least one of them is required. For most use cases we recommend to provide at least `minDuration`. The following are the specifications for the properties: + `power`: value in kW, type: number. Rated power of the connector. + `voltage`: value in V, type: number. Rated voltage of the connector. + `current`: value in A, type: number. Rated current of the connector. + `supplyType`: one of {"acSingle", "acThree", "dc"} for 1-phase AC, 3-phase AC and DC respectively, type: string. + `minDuration`: value in seconds, type: int. Minimum time the user expects to charge at the station, including `chargingSetupDuration`. + `maxDuration`: value in seconds, type: int. Maximum time the user plans to charge at the station, including `chargingSetupDuration`. For a user-planned charging stop, the following properties of the `ev` parameter are also required (see documentation for the `ev` parameter): + `initialCharge` + `maxCharge` + `chargingCurve` *Notes*: * This option is only supported for /v8/routes endpoint. * This option is not supported for pass-through waypoints. * If `makeReachable=true` and `minDuration` is not provided (or if `minDuration=0`), route calculation may suggest not to charge on this station, for example, if a better station is available in the vicinity. * If `stopDuration` is provided then the total time at the stop is the higher of (`stopDuration`, `chargingSetupDuration` + `chargingDuration`). * If charging for `minDuration` would charge above `maxCharge`, the time spent charging is capped by `maxCharge`. * If `stopDuration` or `minDuration` exceed `chargingSetupDuration` + `chargingDuration`, the `waiting` post action duration is set to the remaining time. * If `makeReachable=true` is not set, the target charge is `maxChargeAfterChargingStation`, unless the charging time would be outside of the specified duration range. In such case, the nearest valid value is used. * In getRoutesByHandle requests, the target charge from the original route response is used, unless the charging time would be outside of the specified duration range. In such case, the nearest valid value is used. type: string WeightPerAxleGroup: description: | Specifies the weights of different axle groups, such as single and tandem axles. This allows specification of axle weights in a more fine-grained way than `weightPerAxle`. This is relevant in countries with signs and regulations that specify different limits for different axle groups, such as the USA and Sweden. All axle group weights are evaluated against their respective axle group restrictions and against generic axle weight restrictions. This means that the provided tandem axle group weight is compared with all tandem axle group weight restrictions and all generic axle weight restrictions. The same is true for single, triple, quad, and quint axle groups. Format: `AxleGroup:Weight[,AxleGroup2:Weight2]...` Currently, allowed axle-groups are: * `single` * `tandem` * `triple` * `quad` * `quint` Weights are specified in kilograms (kg) and represent the total weight of the axle-group. **Note:** `weightPerAxleGroup` and `weightPerAxle` are incompatible. **Limitations:** only valid when `transportMode` is one of (`truck`, `bus`, `privateBus`). type: string example: single:11000,tandem:18000 WheelchairAccessibility: description: | Defines accessibility for people with a disability and who use a wheelchair. * `unknown` - Information is not available. * `yes` - Full unrestricted accessibility. * `limited` - Accessibility is limited, not everywhere or require assistance. * `no` - No accessibility. type: string enum: - unknown - "yes" - limited - "no" default: unknown example: unknown Agency: type: object description: Contains information about a particular agency. properties: id: description: | Unique code of the agency. Specifies if the same agency is used on different sections of the same route. **NOTE**: The given ID is only valid within the context of the response it is in. type: string name: description: Human readable name of the owner of the transport service. type: string website: description: Link to the agency's website. allOf: - $ref: "#/components/schemas/Uri" required: - id - name Avoid: type: object properties: features: description: | A comma-separated list of features that routes should avoid. * `seasonalClosure` * `tollRoad`: This option avoids roads that have an applicable toll. * `controlledAccessHighway` * `ferry` * `carShuttleTrain` * `tunnel` * `dirtRoad` * `difficultTurns`: **Deprecated** (see Notes for details). This option avoids difficult turns, sharp turns and U-turns on multi-digitized roads, intersections and stopover-type waypoints. It is only supported for the `truck` transport mode. * `uTurns`: This option avoids U-turns on multi-digitized roads, intersections, stopover-type waypoints. U-turns on mini roundabouts (roundabouts with a small turn radius, which are difficult for long vehicles to navigate) are avoided when `transportMode = truck`. This option is not supported for pedestrian, bicycle and scooter transport modes. **Notes** - It may not always be possible to find a route which avoids the requested feature. A route may not be returned, or one may be returned with a critical notice. - Using `avoid[features]=tollRoad` does not optimize the route to reduce the overall toll costs. - Using `avoid[features]=tollRoad` is not recommended for large vehicles, e.g., trucks or buses. Even if a route is suggested, it may use smaller roads, where driving such vehicles is not convenient or safe. - `avoid[features]=difficultTurns` is currently deprecated and will be ignored in the future. Using `avoid[features]=difficultTurns` together with `avoid[features]=controlledAccessHighway` or `avoid[features]=tollRoads` is not recommended, as it may lead to routes which could include difficult turns. type: string areas: $ref: "#/components/schemas/Areas" segments: description: | A comma separated list of segment identifiers that routes should avoid going through. Each entry has the following structure: `{segmentId}(#{direction})?` The individual parts are: * segmentId: The identifier of the referenced topology segment inside the catalog, example: `here:cm:segment:207551710` * direction (optional): Either '*' for bidirectional (default), '+' for positive direction, or '-' for negative direction Example of a parameter value excluding two segments: `here:cm:segment:207551710#+,here:cm:segment:76771992#*` **Note**: Maximum number of penalized segments in one request should not be greater than 1000. "Penalized segments" refers to segments that either have a restriction on maximum baseSpeed with `maxSpeedOnSegment` or avoided with `avoid[segments]` type: string zoneCategories: description: | Specifies a list of categories of zones which routes should avoid going through. Format: `Categories[ZoneCategoryOptions]` * Categories: `{cat1},{cat2}...` A comma separated list of zone categories. * ZoneCategoriesOptions (optional): `;option1=value1;options2=value2...` A list of options for zone categories in `KEY=VALUE` form. Supported zone category options: * exceptZoneIds: A comma-separated list of zone identifiers, which should not be taken into account for evaluation of zone categories to avoid. Supported zone categories: * `vignette` * `congestionPricing` * `environmental` **Note**: Zones that don't apply to the current vehicle aren't avoided. Time-dependent zones are avoided only during the validity period. Example of zone categories avoidance: `avoid[zoneCategories]=environmental,vignette` Example of zone categories avoidance with exceptions: `avoid[zoneCategories]=environmental,vignette;exceptZoneIds=here:cm:envzone:3` type: string zoneIdentifiers: description: | A comma separated list containing identifiers of zones that routes should avoid going through. **Note**: Zones specified by id in this manner are avoided even if their conditions don't apply to the current vehicle. Time-dependent zones are avoided by id even outside of the validity period. Example of an identifier referencing an environmental zone: `here:cm:envzone:2` type: string truckRoadTypes: description: | A comma-separated list of truck road type identifiers to be avoided. A truck road type is an identifier associated with roads that have additional regulations applied by local administration for traversal by heavy vehicles like trucks. For example, the BK Bearing Class regulations in Sweden, and ET categories in Mexico. Identifiers for supported truck road types are specified in HERE Map Content [TruckRoadType](https://www.here.com/docs/bundle/map-content-schema-data-specification/page/topics_schema/truckroadtypeattribute.html). Example: `avoid[truckRoadTypes]=BK1,BK2,BK3,BK4` type: string example: BK1,BK2,BK3,BK4 tollTransponders: description: | Specifies that routes should avoid roads where the specified toll transponders are the only payment method. The value of the parameter is a comma-separated list of transponder systems that the user has. Alternatively, the user can also specify `all` as a list element to state they have all required transponders along any potential route. **Note**: Currently, the only valid value is `all`. Example: `avoid[tollTransponders]=all` type: string BaseAction: type: object description: An action to be performed between sections or during a section. properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string required: - action - duration BaseSummary: type: object description: Total value of key attributes for a route section. properties: duration: $ref: "#/components/schemas/Duration" length: $ref: "#/components/schemas/Distance" baseDuration: description: | Duration of this span (in seconds) ignoring time-aware information. For pedestrian mode, the reported time is currently equal to that in `duration`. allOf: - $ref: "#/components/schemas/Duration" required: - duration - length ChargingConnectorAttributes: type: object description: Details of the connector that is suggested to be used in the section's `postAction` for charging. properties: power: description: Power supplied by the suggested connector in kW. type: number current: description: Current of the suggested connector in Amperes. type: number voltage: description: Voltage of the suggested connector in Volts. type: number supplyType: description: > Supply type of the suggested connector. allOf: - $ref: "#/components/schemas/ChargingSupplyType" connectorType: description: Suggested connector for charging at this station allOf: - $ref: "#/components/schemas/ChargingConnectorType" required: - power - supplyType - connectorType CorridorArea: type: object description: A polyline with a specified radius in meters that defines an area. required: - type - polyline - radius properties: type: type: string example: corridor polyline: type: array description: List of coordinates defining polyline. items: $ref: "#/components/schemas/Coordinate" minItems: 2 maxItems: 100 radius: type: integer description: The width in meters of the corridor determines the outline of the polygon. minimum: 1 maximum: 1000 DynamicSpeedInfo: type: object description: > Describes dynamic speed information, such as traffic speed, estimated speed without traffic, and turn time. properties: trafficSpeed: description: | Estimated speed (in meters per second) of a vehicle on the road-segment, taking into account traffic-related constraints. **Note:** Will be the same as `baseSpeed` if `traffic[mode]=disabled` is specified. allOf: - $ref: "#/components/schemas/Speed" baseSpeed: description: Estimated speed (in meters per second) without considering any traffic-related constraints. allOf: - $ref: "#/components/schemas/Speed" turnTime: description: > Estimate of the time (in seconds) it takes to turn from this span into the next. It takes into account both traffic conditions and the specific transport-mode. allOf: - $ref: "#/components/schemas/Duration" required: - trafficSpeed - baseSpeed - turnTime EVPhysicalModel: description: Specifies parameters required for calculation of energy consumption for electric vehicles using physical model. type: object properties: auxiliaryPowerCurve: description: | Function curve specifying power consumed by the vehicle's auxiliary systems as a function of time. Use this instead of the single-valued `auxiliaryPowerConsumption` or `auxiliaryConsumption` when auxiliary consumption is not constant. Empirical model uses `auxiliaryConsumption` parameter, while physical model has `auxiliaryPowerConsumption` parameter. Only one of these three different parameters can be set. When using this with the empirical model, please note unit difference with `auxiliaryConsumption`. The format of the string is a pipe separated list of number pairs, as follows: ``` ,|,|...|, ``` where time values are strictly increasing non-negative integer values in seconds, representing elapsed driving time since the start of the route, and power values are strictly decreasing non-negative floating point values in watts. The function is piecewise constant, e.g., for any elapsed time in the range `[TIME_0, TIME_1]` the value of the function is `POWER_0`. For time greater than `TIME_N`, the value of the function is `POWER_N`. TIME_0 must be explicitly set to zero. The time in the last pair, `TIME_N`, can be at most 1800 (30 minutes). Auxiliary consumption applies during stops, including charging stops. At charging stops, power used for charging is reduced by the amount used for auxiliary consumption. The list can have a maximum of six `TIME`,`POWER` pairs. **Note**: When using this feature `departureTime` cannot be set to `any`. **Note:** This is a **beta** release of this feature and may contain bugs or exhibit unexpected behaviour. Related APIs are subject to change without a deprecation process. type: string driveEfficiency: description: | The proportion of the energy drawn from the battery that is used to move the vehicle. (This is to factor in energy losses through heat in the motors, for example.) **Note:** This attribute is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number minimum: 0.1 maximum: 1 recuperationEfficiency: description: | The proportion of the energy gained when braking or going downhill that can be recuperated and restored as battery charge. **Note:** This attribute is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number minimum: 0 maximum: 1 auxiliaryPowerConsumption: description: | Power (in W) consumed by the vehicle's auxiliary systems (for example, air conditioning, lights). Auxiliary power consumption applies during stops, including charging stops. At charging stops, power used for charging is reduced by the amount used for auxiliary consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number minimum: 0 airDensity: description: | The density of air (in kg/m³) used for calculating aerodynamic drag. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number minimum: 0.5 maximum: 2.0 default: 1.225 initialCharge: description: | Charge level of the vehicle's battery at the start of the route (in kWh). Value must be less than or equal to the value of `maxCharge`. type: number minimum: 0 maximum: 1000 maxCharge: description: > Total capacity of the vehicle's battery (in kWh). type: number minimum: 0 maximum: 1200 chargingCurve: description: | Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). The format of the string is a comma-separated list of numbers, as follows: ``` ,,,,...,, ``` where charge values are strictly increasing, non-negative floating-point values in units of (kWh), and rate values are positive floating point values in units of (kW). Charge values must cover the entire range of `[0, maxChargeAfterChargingStation`]. The charging curve is piecewise constant, e.g., for any charge in the range `[CHARGE_0, CHARGE_1)`, the value of the function is `RATE_0`. Maximum value of rate must not be greater than 2000 kW. The values of charge in the curve are only validated up to the value of `maxChargeAfterChargingStation` since values outside this range are not used. Minimum value of rate must not be less than 7kW. The values of charge in the curve are only validated up to the value of `maxChargeAfterChargingStation` since values outside this range are not used. The algorithm calculates a route as the best possible combination of driving and charging parts and uses the charging curve to evaluate the most efficent range of charging. For example, if the rate of charging is high at lower levels of battery, but slows down significantly after charging a little, stopping often and charging less, but quicker, at each station might be better for the overall route. Because batteries lose charging speed with use, providing a charging curve for the exact battery would give more accurate charging time estimate than providing a generic curve for all batteries of one type. type: string example: 0,207,28.761,207,29.011,173,43.493,173,43.743,145,51.209,145,51.459,113,56.120,113,56.370,87,80.0,10 maxChargingVoltage: description: > Maximum charging voltage supported by the vehicle's battery (in Volt). type: number minimum: 0 maximum: 2000 maxChargingCurrent: description: > Maximum charging current supported by the vehicle's battery (in Ampere). type: number minimum: 0 maximum: 2000 maxChargeAfterChargingStation: description: | Maximum charge to which the battery should be charged at a charging station (in kWh). Value must be less than or equal to the value of `maxCharge`. The algorithm calculates a route as the best possible combination of driving and charging parts so charging at a charging station does not happen strictly to the value of this parameter. Instead, the algorithm attempts to leave every station with different charge levels, and only the best possible combination of charging stations and target charge will form the final route. For example, if there is a fast but not reachable charging station on the route, the algorithm prefers first to charge at a slower station, but only to a level that enables it to reach the fast station. This way it calculates the best possible combination of driving and charging parts. type: number minimum: 0 minChargeAtChargingStation: description: | Minimum charge when arriving at a charging station (in kWh). Value must be less than the value of `maxChargeAfterChargingStation`. The algorithm calculates a route as the best possible combination of driving and charging parts so visiting a charging station is planned not when the remaining charge is close to the value of this parameter but when it is part of the best possible charging plan for the given route. For example, it might prefer charging a still half-full battery at the fast charging station because there are only slower stations later on the route and the remaining charge is not enough to reach the destination without charging at all. type: number minimum: 0 minChargeAtFirstChargingStation: description: | Minimum charge when arriving at first charging station (in kWh). Value must be less than the value of `maxChargeAfterChargingStation`. This overrides `minChargeAtChargingStation` for the first charging station. If not specified, `minChargeAtChargingStation` will be used for all charging stations, including the first one. This is usually used when the current charge is too low to reach a charging station within `minChargeAtChargingStation` limits. type: number minimum: 0 minChargeAtDestination: description: | Minimum charge at the final route destination (in kWh). Value must be less than the value of `maxChargeAfterChargingStation`. The algorithm calculates a route as the best possible combination of driving and charging parts while making sure that the actual value of the charge at the destination would be close to the value of this parameter. I.e., the resulting value is expected to be bigger than this parameter's value by no more than 10% of the battery capacity. type: number minimum: 0 chargingSetupDuration: description: | Time spent (in seconds) after arriving at a charging station but before actually charging (for example, time spent for payment processing). type: integer format: int32 minimum: 0 maximum: 1800 maxChargingDuration: description: | Maximum time spent (in seconds) at a charging station unless otherwise specified in a user-introduced charging waypoint. Charging waypoint may specify max or min duration, both of which can be higher. (see documentation for the `via` parameter) type: integer format: int32 minimum: 1800 connectorTypes: description: | Comma-separated list of connector types that are compatible with the vehicle. If `makeReachable` is set to `true`, then only stations with any of these connector types will be evaluated as a potential charging stop. For stations with multiple compatible connectors, the charging time is based on the connector type with the highest power rating among them. Currently supported connector types are: * `iec62196Type1Combo`: Type 1 Combo connector, commonly called "CCS1" * `iec62196Type2Combo`: Type 2 Combo connector, commonly called "CCS2" * `chademo`: CHAdeMO connector * `tesla`: Deprecated alias for `saeJ3400`. Use `saeJ3400` instead. Cannot be used in combination with `saeJ3400` * `saeJ3400`: North American Charging Standard (NACS) connector. * `gbtDc`: Guobiao GB/T 20234.3 DC connector type: string example: iec62196Type1Combo,chademo maxPowerAtLowVoltage: description: | The maximum power (in kW) at which a vehicle can charge given these conditions: * The charging station connector's maximum supply voltage < 800 V. * The vehicle's `maxChargingVoltage` >= 800 V. The `consumablePower` at a station is then taken to be the lower of `maxPowerAtLowVoltage` and the charging station's available power. type: number minimum: 0 default: 45 required: - driveEfficiency - recuperationEfficiency Exclude: type: object description: Options to exclude strictly during the route calculation. properties: countries: description: | A comma separated list of three-letter country codes (ISO-3166-1 alpha-3 code) that routes will exclude. - Format: `{country1}[,country2][,country...]` + `{country}` - Country code according to (ISO-3166-1 alpha-3) - Example: `CZE,SVK` - exclude Czechia and Slovakia from routing. Note - Exclude countries guarantees exclusion, but doesn't guarantee finding a route. type: string states: description: | A pipe separated list of country-aggregated state codes. - Format: `{country1}:{state1.1}[,state1.2][,state1.3]...[|{country2}:{state2.1}[,state2.2]]...` + `{country}` - Country code according to (ISO-3166-1 alpha-3) + `{state}` - State code part according to (ISO 3166-2) - Examples: + `USA:NY,PA` - exclude USA's New York and Pennsylvania states + `USA:NY,PA|CAN:QC`- exclude USA's New York, Pennsylvania states and Canada's Quebec province - Notes: + Exclude states guarantees exclusion, but doesn't guarantee finding a route. + Some countries don't have the state code data available for them, so the states in those countries won't be excluded. type: string areas: $ref: "#/components/schemas/Areas" ExitInfo: type: object description: Exit information attached to an offset action properties: number: description: Number of the exit (e.g. '18') type: array items: $ref: "#/components/schemas/LocalizedString" example: exit: number: - value: "15" language: de FarePass: type: object description: Specifies whether this `Fare` is a multi-travel pass, and its characteristics properties: returnJourney: description: This pass includes the fare for the return journey. type: boolean validityPeriod: $ref: "#/components/schemas/FarePassValidityPeriod" travels: description: This pass allows for the specified number of travels. type: integer transfers: description: Indicates if transfers are permitted with this pass, and if so, how many. type: integer seniorPass: description: This pass is valid only if presented by a senior person. type: boolean HazardousGoodsRestrictionArray: description: Provides a list of all hazardous goods that are restricted during the trip. type: array items: $ref: "#/components/schemas/HazardousGoodsRestriction" example: - gas - flammable HealthResponseFailSchema: type: object description: Returns the health of the service properties: status: description: | Health status of the service: * `ok` - the service is operating normally * `fail` - the service is currently encountering a failure type: string enum: - fail HealthResponseOKSchema: type: object description: Returns the health of the service properties: status: description: | Health status of the service: * `ok` - the service is operating normally * `fail` - the service is currently encountering a failure type: string enum: - ok LicensePlateRestriction: description: Contains details of the violated license plate restriction. type: object properties: type: $ref: "#/components/schemas/LicensePlateRestrictionType" forbiddenCharacters: description: | A list of restricted characters in the vehicle license plate. The `type` property indicates which character of the vehicle license plate is considered for matching. The condition is met if that character matches any of the characters in the `forbiddenCharacters` array. For example, if `type` is set to `lastCharacter` and `forbiddenCharacters` is set to `["7", "8"]` then the condition is met if the last character of the vehicle license plate is either 7 or 8. type: array items: type: string minLength: 1 maxLength: 1 example: - "1" - "3" - "5" - "7" - "9" LocalizedRouteNumber: description: Represents a route number in specific language with optional cardinal direction and route level. example: value: US-101 language: en direction: south routeType: 1 type: object properties: value: description: String written in the language specified in the language property. type: string language: description: Language in BCP47 format type: string direction: description: | This property indicates the official directional identifier assigned to highways. Use direction on sign in conjunction with official name or route number. For example, for route guidance, use "US-101 S" and not just "US-101" when appropriate. Note that the official direction is not necessarily the travel direction. For example, US-101 through the city of Sunnyvale is physically located East to West. However, the official direction on sign is North/South. type: string enum: - north - south - east - west routeType: description: | Specifies route type for different route element. These values must be used in conjunction with a separate HERE data product: Country Profile Road Signs. One of the usage example for this property is it affects how the road shield will be rendered, i.e. this route type might change the shape, color and the font of the road shield. Related examples for different countries can be found [here](https://en.wikipedia.org/wiki/Highway_shield). Possible values are from 1 to 6. But if some countries add extra route type in the future, this range could change as well. type: integer minimum: 1 maximum: 6 required: - value MatchTraceVia: type: object description: Via waypoint in the middle of route properties: index: description: Index of the corresponding trace point type: integer minimum: 1 stopDuration: description: Desired duration for the stop, in seconds allOf: - $ref: "#/components/schemas/Duration" required: - index Notice: type: object description: A notice contains important notifications. properties: title: type: string description: Human-readable notice description. example: No route found code: type: string description: Notice code. example: noRouteFound severity: $ref: "#/components/schemas/NoticeSeverity" details: type: array description: Additional details about the notice items: $ref: "#/components/schemas/BaseNoticeDetail" required: - code PedestrianMode: description: | Extensible enum: `pedestrian` `...` Pedestrian mode of transport. Since the supported pedestrian modes may be extended in the future, the pedestrian mode should be hidden when an unknown mode is encountered. type: string x-extensible-enum: - pedestrian default: pedestrian PermittedNetworksPost: description: | **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** A list of road networks permitted to be used. These road networks are considered mandatory and will be used as much as possible, even at the expense of shorter routes. For the general description of the functionality please refer to the `permittedNetworks` parameter of the query string. The list is provided as an array of objects, where each object contains the country code and list of road network codes for that country. Note: This parameter is required for transport mode `networkRestrictedTruck` and is not supported for other transport modes. type: array uniqueItems: true maxItems: 100 items: type: object properties: country: $ref: "#/components/schemas/CountryCode" states: type: array uniqueItems: true maxItems: 8 items: $ref: "#/components/schemas/StateCode" networks: type: array uniqueItems: true maxItems: 15 items: type: string enum: - fiftyMax - hpmv - bDouble19 - bDouble23Gml - bDouble23Hml - bDouble26Gml - bDouble26Hml - bDouble27Dot5 - bTripleGml - bTripleHml - pbs2A - pbs2B - pbs3A - pbs3B - pbs4A description: List of network codes according to the description of the `permittedNetworks` query parameter required: - country - networks PolygonArea: type: object description: | A polygon defined as a list of coordinates. The polygon is automatically closed, so repeating the first vertex is not required. Self-intersecting polygons are not supported. required: - type - outer properties: type: type: string example: polygon outer: type: array description: List of coordinates defining the outline of the polygon. items: $ref: "#/components/schemas/Coordinate" minItems: 3 maxItems: 100 Rerouting: description: | Rerouting parameters allow to request a new route calculation based on the route handle. All attributes are optional. type: object properties: mode: $ref: "#/components/schemas/ReroutingMode" lastTraveledSectionIndex: description: | Can be used to indicate the index of the last traveled route section on multi-section routes. The traveled part of the route won't be reused. If the last traveled section is specified and the current position, i.e., the new `origin`, is provided, it is expected to be on the last traveled section. If it is not on the last traveled section, it is treated as not on the route, triggering return to route, if enabled, to the waypoint at the end of the last traveled section. If the last traveled section index is not specified, the current position can be matched to any section of the route. In this case the route will continue to the next waypoint after the current position, i.e., the new `origin`. If the current position is not on the route, return to route, if enabled, will by default return to the waypoint at the end of the first section. type: integer traveledDistanceOnLastSection: description: > Offset in meter to the last visited position on the route section defined by the `lastTraveledSectionIndex`. type: integer default: 0 example: $ref: "#/components/examples/ReroutingExample" RouteLabel: type: object description: > Road name or route number distinguishing a route from other alternatives. properties: label_type: type: string enum: - Name - RouteNumber name: $ref: "#/components/schemas/LocalizedString" RoutingErrorResponse: description: Response in case of error type: object properties: title: type: string description: Human-readable error description example: Input data failed validation status: type: integer description: HTTP status code example: 400 code: type: string description: | Machine readable service error code. All error codes of this service start with "`E605`". The last three digits describe a specific error. Provide this error code when contacting support. **NOTE:** Please note that the list of possible error codes could be extended in the future. The client application is expected to handle such a case gracefully. | Code | Reason | | --------- | ------- | | `E60500X` | Malformed query. Typically due to invalid values such as `transportMode=spaceShuttle` or missing required fields. Check the error message for details. | | `E605010` | Invalid combination of vehicle options and transport mode. | | `E605011` | Invalid combination of avoid parameter and transport mode. Check `avoid` for details. | | `E605012` | Invalid combination of transport mode and routing mode. Check `routingMode` for a list of supported combinations. | | `E605013` | Invalid return options. Check `return` for valid combinations of values. | | `E605014` | Invalid language code. Check `lang` for details on how valid language codes look. | | `E605015` | Too many alternatives. Check `alternatives` for the maximum number of alternatives allowed. | | `E605016` | Invalid country code. Check `countries` under `Exclude`. | | `E605017` | `spans` contains a value whose dependency has not been requested | | `E605018` | Invalid combination of departure and arrival time | | `E605019` | `truck[weightPerAxle]` and `truck[weightPerAxleGroup]` are incompatible | | `E605020` | Invalid combination of `radius` and `snapRadius` | | `E605021` | Invalid Combination of `vehicle[occupancy]`/`allow[hot]`/`allow[hov]` and `vehicle[hovOccupancy]` | | `E605022` | `radius` * `radiusPenalty` / 100 must not exceed 7200 | | `E605023` | Invalid combination of `radiusPenalty` and `snapRadius` | | `E605024` | `vehicle[currentWeight]` or `vehicle[grossWeight]` exceeds limit for given `transportMode`. | | `E605025` | Invalid state code. Check `states` under `Exclude` | | `E605026` | Invalid country code. Check `states` under `Exclude` | | `E605027` | Ev parameters cannot be used with the specified transportMode. | | `E605028` | Fuel parameters cannot be used with the specified transportMode. | | `E605029` | State code not available in map data. Check `states` under `Exclude` | | `E605030` | Invalid EV options. Check `ev` for details. | | `E605032` | Invalid transport mode for speed cap, check `vehicle[speedCap]` for details. | | `E605033` | Invalid combination of scooter and transport mode. Check `scooter` for valid scooter transport modes. | | `E605034` | Invalid Speed Cap, check `vehicle[speedCap]` or `vehicle[speedCapPerFc]` for details. | | `E605035` | MLDuration is not supported with `vehicle[speedCap]` and `vehicle[speedCapPerFc]` parameter. | | `E605036` | Consumption parameters are not supported for combination of EV and Fuel-based vehicle. Check `ev` or `fuel` for details. | | `E605037` | Invalid Fuel options. Check `fuel` for details. | | `E605039` | Invalid combination of driver schedule and transport mode. | | `E605040` | Invalid combination of `ev[makeReachable]` and `transportMode`. Check `ev` for details. | | `E605041` | Invalid combination of `ev[makeReachable]` and `routingMode`. Check `ev` for details. | | `E605043` | Invalid combination of `ev[makeReachable]` and `avoid` options. Check `ev` for details. | | `E605047` | Invalid combination of `ev[makeReachable]` and `arrivalTime`. Check `ev` for details. | | `E605048` | Invalid combination of avoid feature `difficultTurns` and truck category `lightTruck`. | | `E605052` | Invalid number of trace points. Check `MatchTrace` for the minimum and maximum number of trace points allowed. | | `E605053` | Invalid Match trace via. Check `via` in `MatchTrace` for valid indexes. | | `E605054` | Too many avoid areas. Check `areas` for the maximum number of avoid areas allowed. | | `E605055` | Invalid trailer axle count. | | `E605056` | Too many avoid polygons. Check `areas[polygon]` for the maximum number of polygons allowed. | | `E605057` | Too many vertices in the polygon. Check `areas[polygon]` for the maximum number of vertices allowed. | | `E605058` | Not enough vertices in the polygon. Check `areas[polygon]` for the minimum number of vertices allowed. | | `E605059` | Polygon is self-intersecting. Check `areas[polygon]`. | | `E605060` | Invalid trace point. Check `lat` value must be between -90 and 90 and `lng` value must be between -180 and 180. | | `E605064` | Invalid transport mode for speed cap per Functional Class, check `vehicle[speedCapPerFc]` for details. | | `E605075` | Invalid customizationIndex. | | `E605076` | Too many charging stations to exclude. Check `ev[excludeChargingStations]` for maximum number of charging stations allowed. | | `E605077` | `rerouting[lastTraveledSectionIndex]` is out of range. | | `E605101` | Credentials not allowed for calculating routes in Japan. | | `E605201` | RouteHandle not valid (anymore). (Re-)calculate route to retrieve new handle. | | `E605204` | Invalid combination of EV and driver schedule. | | `E605301` | Pedestrian options are only supported for transport mode `pedestrian`. | | `E605302` | Routing zones is not supported for transport mode `pedestrian`. | | `E605303` | Avoiding routing zones is not supported for transport mode `pedestrian`. | | `E605304` | Avoiding truck road types is not supported for transport mode `pedestrian`. | | `E605400` | Customization not supported. | | `E6055XX` | Internal server error. | example: E605001 cause: type: string description: Human-readable explanation for the error example: The input data in question does not comply with validation rules action: type: string description: Human-readable description of the action that can be taken to correct the error example: Request a valid id correlationId: type: string description: Auto-generated id that univocally identifies the request example: 4199533b-6290-41db-8d79-edf4f4019a74 required: - title - status - code - cause - action - correlationId RoutingZone: type: object description: Information about a routing zone. properties: ref: $ref: "#/components/schemas/RoutingZoneReference" type: description: | Extensible enum: `environmental` `vignette` `...` The type of the routing zone. A routing zone is defined based on an underlying feature/resource. The standard representation of a routing zone reference is `{catalogHrn}:{catalogVersion}:({layerId})?:{tileId}:{zoneId}` (refer to `RoutingZoneReference` description in this document for details). `{zoneId}` represents the identifier of the underlying feature/resource within the catalog, in the `"domain:system:type:id"` format. This attribute corresponds to the `"domain:system:type"` portion of the identifier. E.g. `type=environmental` corresponds to the `"here:cm:envzone"` portion of the identifiers of all environmental zones within a catalog. To further distinguish between the sub-categories of the `type` (if applicable) use the `category` attribute. NOTE: To maintain legacy support `type=vignette` is not renamed but corresponds to the `"here:cm:tollsystem"` portion of the identifier for all toll cost features. type: string x-extensible-enum: - environmental - vignette name: description: The routing zone's name. type: string category: description: | Extensible enum: `environmental` `vignette` `congestionPricing` `...` The category of the routing zone. Corresponds to the sub-category (if applicable) of the feature/resource defining a routing zone, e.g. `vignette` and `congestionPricing` sub-categories of the toll cost features. type: string x-extensible-enum: - environmental - vignette - congestionPricing SignpostLabelText: type: object description: Text on a signpost label. properties: name: $ref: "#/components/schemas/LocalizedString" TollCollectionLocation: type: object description: | Refers to the physical location where the toll is collected. This can include various structures such as toll booths, transponder readers, or number-plate cameras. It's important to note that certain toll collection methods, such as vignettes, do not have specific toll collection locations associated with them, and therefore this element will not be present at all. The value of this property is a `Location` that specifies the coordinates of the payment location. properties: name: description: > A descriptive name of the location. type: string location: $ref: "#/components/schemas/Location" required: - location TrafficIncident: type: object description: | An incident describes a temporary event on the road network. It typically refers to a real world incident (accident, road construction, weather condition, etc.) on a street or street segment properties: description: type: string description: A human readable description of the incident example: closed due to roadworks type: $ref: "#/components/schemas/TrafficIncidentType" criticality: $ref: "#/components/schemas/TrafficIncidentCriticality" validFrom: $ref: "#/components/schemas/Time" validUntil: $ref: "#/components/schemas/Time" id: description: | Traffic Incident unique identifier, Example of an incident identifier in standard representation: here:traffic:incident:1000155780078589348 Id usage: Incident details can be queried from the traffic service. See [this tutorial](https://www.here.com/docs/bundle/traffic-api-developer-guide-v7/page/topics/use-cases/incidents-by-id.html). **Notice**: In most cases, the ID comes from a third party incident supplier. This means that once an incident has expired, the ID might be reused type: string TransitIncident: type: object description: | An incident describes disruptions on the transit network. Disruptions scale from delays to service cancellations. properties: summary: type: string description: A human readable summary of the incident example: The subway is closed each night between 1 AM and 5 AM. description: type: string description: A human readable description of the incident example: The subway is closed each night between 1 AM and 5 AM while we clean our trains and stations. We are running extra bus service overnight. type: $ref: "#/components/schemas/TransitIncidentType" effect: $ref: "#/components/schemas/TransitIncidentEffect" validFrom: $ref: "#/components/schemas/Time" validUntil: $ref: "#/components/schemas/Time" url: description: Link to the original incident published at the agency website allOf: - $ref: "#/components/schemas/Uri" required: - type - effect example: summary: The subway is closed each night between 1 AM and 5 AM. description: The subway is closed each night between 1 AM and 5 AM while we clean our trains and stations. We are running extra bus service overnight. type: maintenance effect: modifiedService TransitMode: title: Modes description: | Extensible enum: `highSpeedTrain` `intercityTrain` `interRegionalTrain` `regionalTrain` `cityTrain` `bus` `ferry` `subway` `lightRail` `privateBus` `inclined` `aerial` `busRapid` `monorail` `carShuttleTrain` `flight` `spaceship` `...` Transit mode of transport in the route response type: string x-extensible-enum: - highSpeedTrain - intercityTrain - interRegionalTrain - regionalTrain - cityTrain - bus - ferry - subway - lightRail - privateBus - inclined - aerial - busRapid - monorail - carShuttleTrain - flight - spaceship TruckTypeWithDefault: description: | Specifies the type of the truck * `Straight`: A truck on a single frame with a permanently attached cargo area. * `Tractor`: A towing vehicle that can pull one or more semi-trailers (also known as a semi-truck). deprecated: true type: string enum: - Straight - Tractor default: Straight VehicleMode: description: | Extensible enum: `car` `truck` `bicycle` `scooter` `taxi` `bus` `privateBus` `networkRestrictedTruck` `...` Vehicle mode of transport. Since the supported vehicle modes may be extended in the future, the vehicle mode should be hidden when an unknown mode is encountered. type: string x-extensible-enum: - car - truck - bicycle - scooter - taxi - bus - privateBus - networkRestrictedTruck default: car VersionResponse: type: object description: Returns the versions of the service components. properties: apiVersion: type: string description: The current version of the API. example: 8.18.0 serviceVersion: type: string description: The current version of the service. example: 2022-12-15-b706cc8c-9057409 dataVersions: type: array items: $ref: "#/components/schemas/DataVersion" description: Returns the versions of data sets used by the service. required: - apiVersion ViaNoticeDetail: description: Details about via waypoint. type: object properties: title: type: string description: Detail title cause: type: string description: Cause of the notice type: type: string description: | Detail type. Each type of detail might contain extra attributes. **NOTE:** The list of possible detail types may be extended in the future. The client application is expected to handle such a case gracefully. enum: - via index: description: Index of the via waypoint not matched. When the destination waypoint was not matched, no `via` detail is returned. type: integer minimum: 0 required: - type ViolatedChargingStationOpeningHours: description: > A charging stop was planned at the destination of this section, but the `postActions` would not be completed within the opening hours. type: object properties: title: type: string description: Detail title cause: type: string description: Cause of the notice type: type: string description: | Detail type. Each type of detail might contain extra attributes. **NOTE:** The list of possible detail types may be extended in the future. The client application is expected to handle such a case gracefully. enum: - violatedOpeningHours opening_hours: description: > Information about the opening time intervals of the selected charging station. allOf: - $ref: "#/components/schemas/TimeDomain" required: - type ViolatedTransportMode: description: > Contains details about the violated transport mode on this road, such as trucks being generally forbidden. type: object properties: title: type: string description: Detail title cause: type: string description: Cause of the notice type: type: string description: | Detail type. Each type of detail might contain extra attributes. **NOTE:** The list of possible detail types may be extended in the future. The client application is expected to handle such a case gracefully. enum: - violatedTransportMode required: - type ViolatedTruckRoadType: description: > Contains details about the violated truck road type on this road. type: object properties: title: type: string description: Detail title cause: type: string description: Cause of the notice type: type: string description: | Detail type. Each type of detail might contain extra attributes. **NOTE:** The list of possible detail types may be extended in the future. The client application is expected to handle such a case gracefully. enum: - truckRoadType truckRoadType: description: The truck road type causing this violation. type: string required: - type WebLink: type: object description: The URL address to an external resource. properties: id: description: Unique identifier for the web link. It is used to deduplicate links defined in multiple sections. type: string href: $ref: "#/components/schemas/Uri" text: description: Text describing the url address (e.g. The example website). type: string hrefText: description: > The interactive (or clickable) portion of the text. If not present (default), the entire content of the text attribute will be considered. type: string required: - id - text example: id: 88-7568-21.07.2023 text: Information for public transit provided by ThePublicTransit GmbH AccessPointPlace: type: object description: Access point to a venue/station properties: name: description: Location name type: string waypoint: description: | If present, this place corresponds to the `via` in the request with the same index. Example: If the request contains `via=&via=` * the place corresponding to `` in the response will have `waypoint: 0` * the place corresponding to `` in the response will have `waypoint: 1`. Notes: * `waypoint` is not present for `origin` and `destination` places. `origin` and `destination` waypoints can be trivially identified in the response as the `departure` of the first section and the `arrival` of the final section, respectively. * `waypoint` is not present for any stops that are added automatically by the router. type: integer minimum: 0 type: description: | Place type. Each place type can have extra attributes. **NOTE:** The list of possible place types could be extended in the future. The client application is expected to handle such a case gracefully. type: string enum: - accessPoint location: description: | The position of this location This position was used in route calculation. It may be different to the original position provided in the request. allOf: - $ref: "#/components/schemas/Location" originalLocation: description: If present, the original position of this location provided in the request. allOf: - $ref: "#/components/schemas/Location" displayLocation: description: If present, the display position of this location provided in the request or that of the auto-added waypoint. This is different from the originalLocation and location which are generally expected to be on the navigable road network, i.e., on segments. This coordinate, for example, is the location of the POI as shown by the pin on a map. allOf: - $ref: "#/components/schemas/Location" sideOfStreet: description: | Location of the waypoint or destination, relative to the driving direction on the street/road. **NOTE:** Based on the original waypoint position and `sideOfStreetHint` waypoint property. - If `sideOfStreetHint` property is specified, it takes priority in determining the side of street in the response. - Nothing is returned in the response in case the side of street is ambiguous (too close to the street), or if the position is too far from the street. * 'left`: The left side of the street in relation to the driving direction of the route. * `right`: The right side of the street in relation to the driving direction of the route. type: string enum: - left - right wheelchairAccessible: description: | Information about accessibility for people with a disability and who use a wheelchair. * `unknown` - Accessibility information is not available. * `yes` - Access point is wheelchair accessible. * `limited` - Accessibility is limited or assistance is required. * `no` - No accessible path from the access point to platforms. allOf: - $ref: "#/components/schemas/WheelchairAccessibility" required: - type - location example: type: place location: lat: 50.339167 lng: 18.93 Area: oneOf: - $ref: "#/components/schemas/BoundingBoxArea" - $ref: "#/components/schemas/PolygonArea" - $ref: "#/components/schemas/EncodedPolygonArea" - $ref: "#/components/schemas/CorridorArea" - $ref: "#/components/schemas/EncodedCorridorArea" discriminator: propertyName: type mapping: boundingBox: "#/components/schemas/BoundingBoxArea" polygon: "#/components/schemas/PolygonArea" encodedPolygon: "#/components/schemas/EncodedPolygonArea" corridor: "#/components/schemas/CorridorArea" encodedCorridor: "#/components/schemas/EncodedCorridorArea" description: | Area specified by boundingBoxes or polygons (as encoded polyline or as list of geopts ) or corridor area. Notes: * Maximum count of avoided and excluded polygons and corridors is 20. * Maximum total count of avoided and excluded bounding boxes, polygons, corridors, including exceptions, is 250. Attribution: type: object description: The URL address to an external resource. properties: id: description: Unique identifier for the web link. It is used to deduplicate links defined in multiple sections. type: string href: $ref: "#/components/schemas/Uri" text: description: Text describing the url address (e.g. The example website). type: string hrefText: description: > The interactive (or clickable) portion of the text. If not present (default), the entire content of the text attribute will be considered. type: string type: $ref: "#/components/schemas/AttributionLinkType" required: - id - text example: id: 88-7568-21.07.2023 text: Information for public transit provided by ThePublicTransit GmbH BoardAction: description: An action to board a ferry. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - board duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string required: - action - duration ChargingAction: description: > An action to charge the vehicle. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - charging duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string consumablePower: description: | Maximum charging power (in kW) available to the vehicle, based on the properties of the charging station and the vehicle. type: number arrivalCharge: description: > Estimated vehicle battery charge before this action (in kWh). type: number targetCharge: description: > Level to which vehicle battery should be charged by this action (in kWh). type: number required: - action - duration ChargingSetupAction: description: | An action to prepare for vehicle charging. Represents the time spent setting up for charging (e.g., payment processing), independent of the time required to actually charge the vehicle. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - chargingSetup duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string required: - action - duration ChargingStationPlace: type: object description: A charging station properties: name: description: Human readable name of this charging station type: string waypoint: description: | If present, this place corresponds to the `via` in the request with the same index. Example: If the request contains `via=&via=` * the place corresponding to `` in the response will have `waypoint: 0` * the place corresponding to `` in the response will have `waypoint: 1`. Notes: * `waypoint` is not present for `origin` and `destination` places. `origin` and `destination` waypoints can be trivially identified in the response as the `departure` of the first section and the `arrival` of the final section, respectively. * `waypoint` is not present for any stops that are added automatically by the router. type: integer minimum: 0 type: description: | Place type. Each place type can have extra attributes. **NOTE:** The list of possible place types could be extended in the future. The client application is expected to handle such a case gracefully. type: string enum: - chargingStation location: description: | The position of this location This position was used in route calculation. It may be different to the original position provided in the request. allOf: - $ref: "#/components/schemas/Location" originalLocation: description: If present, the original position of this location provided in the request. allOf: - $ref: "#/components/schemas/Location" displayLocation: description: If present, the display position of this location provided in the request or that of the auto-added waypoint. This is different from the originalLocation and location which are generally expected to be on the navigable road network, i.e., on segments. This coordinate, for example, is the location of the POI as shown by the pin on a map. allOf: - $ref: "#/components/schemas/Location" sideOfStreet: description: | Location of the waypoint or destination, relative to the driving direction on the street/road. **NOTE:** Based on the original waypoint position and `sideOfStreetHint` waypoint property. - If `sideOfStreetHint` property is specified, it takes priority in determining the side of street in the response. - Nothing is returned in the response in case the side of street is ambiguous (too close to the street), or if the position is too far from the street. * 'left`: The left side of the street in relation to the driving direction of the route. * `right`: The right side of the street in relation to the driving direction of the route. type: string enum: - left - right id: description: Identifier of this charging station type: string attributes: $ref: "#/components/schemas/ChargingConnectorAttributes" brand: $ref: "#/components/schemas/ChargingStationBrand" chargePointOperator: $ref: "#/components/schemas/ChargePointOperator" matchingEMobilityServiceProviders: description: | List of matched E-Mobility Service Providers. Populated only when `ev[eMobilityServiceProviderPreferences]` parameter was passed in query. **Note**: * This list reflects the subset of E-Mobility Service Providers supported by the charging station, from the list specified in the request parameter `ev[eMobilityServiceProviderPreferences]`. type: array items: $ref: "#/components/schemas/EMobilityServiceProvider" required: - type - location example: type: place location: lat: 50.339167 lng: 18.93 DeboardAction: description: An action to disembark a ferry. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - deboard duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string required: - action - duration DockingStationPlace: type: object description: A place represents a docking station for rented vehicles. properties: name: description: Location name type: string waypoint: description: | If present, this place corresponds to the `via` in the request with the same index. Example: If the request contains `via=&via=` * the place corresponding to `` in the response will have `waypoint: 0` * the place corresponding to `` in the response will have `waypoint: 1`. Notes: * `waypoint` is not present for `origin` and `destination` places. `origin` and `destination` waypoints can be trivially identified in the response as the `departure` of the first section and the `arrival` of the final section, respectively. * `waypoint` is not present for any stops that are added automatically by the router. type: integer minimum: 0 type: description: | Place type. Each place type can have extra attributes. **NOTE:** The list of possible place types could be extended in the future. The client application is expected to handle such a case gracefully. type: string enum: - dockingStation location: description: | The position of this location This position was used in route calculation. It may be different to the original position provided in the request. allOf: - $ref: "#/components/schemas/Location" originalLocation: description: If present, the original position of this location provided in the request. allOf: - $ref: "#/components/schemas/Location" displayLocation: description: If present, the display position of this location provided in the request or that of the auto-added waypoint. This is different from the originalLocation and location which are generally expected to be on the navigable road network, i.e., on segments. This coordinate, for example, is the location of the POI as shown by the pin on a map. allOf: - $ref: "#/components/schemas/Location" sideOfStreet: description: | Location of the waypoint or destination, relative to the driving direction on the street/road. **NOTE:** Based on the original waypoint position and `sideOfStreetHint` waypoint property. - If `sideOfStreetHint` property is specified, it takes priority in determining the side of street in the response. - Nothing is returned in the response in case the side of street is ambiguous (too close to the street), or if the position is too far from the street. * 'left`: The left side of the street in relation to the driving direction of the route. * `right`: The right side of the street in relation to the driving direction of the route. type: string enum: - left - right required: - type - location example: type: place location: lat: 50.339167 lng: 18.93 EVEmpiricalModel: description: Specifies parameters required for calculation of energy consumption for electric vehicles using the Empirical model. type: object properties: auxiliaryPowerCurve: description: | Function curve specifying power consumed by the vehicle's auxiliary systems as a function of time. Use this instead of the single-valued `auxiliaryPowerConsumption` or `auxiliaryConsumption` when auxiliary consumption is not constant. Empirical model uses `auxiliaryConsumption` parameter, while physical model has `auxiliaryPowerConsumption` parameter. Only one of these three different parameters can be set. When using this with the empirical model, please note unit difference with `auxiliaryConsumption`. The format of the string is a pipe separated list of number pairs, as follows: ``` ,|,|...|, ``` where time values are strictly increasing non-negative integer values in seconds, representing elapsed driving time since the start of the route, and power values are strictly decreasing non-negative floating point values in watts. The function is piecewise constant, e.g., for any elapsed time in the range `[TIME_0, TIME_1]` the value of the function is `POWER_0`. For time greater than `TIME_N`, the value of the function is `POWER_N`. TIME_0 must be explicitly set to zero. The time in the last pair, `TIME_N`, can be at most 1800 (30 minutes). Auxiliary consumption applies during stops, including charging stops. At charging stops, power used for charging is reduced by the amount used for auxiliary consumption. The list can have a maximum of six `TIME`,`POWER` pairs. **Note**: When using this feature `departureTime` cannot be set to `any`. **Note:** This is a **beta** release of this feature and may contain bugs or exhibit unexpected behaviour. Related APIs are subject to change without a deprecation process. type: string freeFlowSpeedTable: allOf: - $ref: "#/components/schemas/ConsumptionSpeedTable" trafficSpeedTable: description: | Function curve specifying consumption rate at a given traffic-reduced speed on a flat stretch of road. See `freeFlowSpeedTable` for a description of the string format. allOf: - $ref: "#/components/schemas/ConsumptionSpeedTable" ascent: description: > Rate of energy consumed per meter rise in elevation (in Wh/m, i.e., Watt-hours per meter). type: number minimum: 0 descent: description: > Rate of energy recovered per meter fall in elevation (in Wh/m, i.e., Watt-hours per meter). type: number minimum: 0 auxiliaryConsumption: description: | Rate of energy (in Wh/s) consumed by the vehicle's auxiliary systems (for example, air conditioning, lights). The value represents the number of Watt-hours consumed per second of travel. Auxiliary consumption applies during stops, including charging stops. At charging stops, power used for charging is reduced by the amount used for auxiliary consumption. type: number minimum: 0 initialCharge: description: | Charge level of the vehicle's battery at the start of the route (in kWh). Value must be less than or equal to the value of `maxCharge`. type: number minimum: 0 maximum: 1000 maxCharge: description: > Total capacity of the vehicle's battery (in kWh). type: number minimum: 0 maximum: 1200 chargingCurve: description: | Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). The format of the string is a comma-separated list of numbers, as follows: ``` ,,,,...,, ``` where charge values are strictly increasing, non-negative floating-point values in units of (kWh), and rate values are positive floating point values in units of (kW). Charge values must cover the entire range of `[0, maxChargeAfterChargingStation`]. The charging curve is piecewise constant, e.g., for any charge in the range `[CHARGE_0, CHARGE_1)`, the value of the function is `RATE_0`. Maximum value of rate must not be greater than 2000 kW. The values of charge in the curve are only validated up to the value of `maxChargeAfterChargingStation` since values outside this range are not used. Minimum value of rate must not be less than 7kW. The values of charge in the curve are only validated up to the value of `maxChargeAfterChargingStation` since values outside this range are not used. The algorithm calculates a route as the best possible combination of driving and charging parts and uses the charging curve to evaluate the most efficent range of charging. For example, if the rate of charging is high at lower levels of battery, but slows down significantly after charging a little, stopping often and charging less, but quicker, at each station might be better for the overall route. Because batteries lose charging speed with use, providing a charging curve for the exact battery would give more accurate charging time estimate than providing a generic curve for all batteries of one type. type: string example: 0,207,28.761,207,29.011,173,43.493,173,43.743,145,51.209,145,51.459,113,56.120,113,56.370,87,80.0,10 maxChargingVoltage: description: > Maximum charging voltage supported by the vehicle's battery (in Volt). type: number minimum: 0 maximum: 2000 maxChargingCurrent: description: > Maximum charging current supported by the vehicle's battery (in Ampere). type: number minimum: 0 maximum: 2000 maxChargeAfterChargingStation: description: | Maximum charge to which the battery should be charged at a charging station (in kWh). Value must be less than or equal to the value of `maxCharge`. The algorithm calculates a route as the best possible combination of driving and charging parts so charging at a charging station does not happen strictly to the value of this parameter. Instead, the algorithm attempts to leave every station with different charge levels, and only the best possible combination of charging stations and target charge will form the final route. For example, if there is a fast but not reachable charging station on the route, the algorithm prefers first to charge at a slower station, but only to a level that enables it to reach the fast station. This way it calculates the best possible combination of driving and charging parts. type: number minimum: 0 minChargeAtChargingStation: description: | Minimum charge when arriving at a charging station (in kWh). Value must be less than the value of `maxChargeAfterChargingStation`. The algorithm calculates a route as the best possible combination of driving and charging parts so visiting a charging station is planned not when the remaining charge is close to the value of this parameter but when it is part of the best possible charging plan for the given route. For example, it might prefer charging a still half-full battery at the fast charging station because there are only slower stations later on the route and the remaining charge is not enough to reach the destination without charging at all. type: number minimum: 0 minChargeAtFirstChargingStation: description: | Minimum charge when arriving at first charging station (in kWh). Value must be less than the value of `maxChargeAfterChargingStation`. This overrides `minChargeAtChargingStation` for the first charging station. If not specified, `minChargeAtChargingStation` will be used for all charging stations, including the first one. This is usually used when the current charge is too low to reach a charging station within `minChargeAtChargingStation` limits. type: number minimum: 0 minChargeAtDestination: description: | Minimum charge at the final route destination (in kWh). Value must be less than the value of `maxChargeAfterChargingStation`. The algorithm calculates a route as the best possible combination of driving and charging parts while making sure that the actual value of the charge at the destination would be close to the value of this parameter. I.e., the resulting value is expected to be bigger than this parameter's value by no more than 10% of the battery capacity. type: number minimum: 0 chargingSetupDuration: description: | Time spent (in seconds) after arriving at a charging station but before actually charging (for example, time spent for payment processing). type: integer format: int32 minimum: 0 maximum: 1800 maxChargingDuration: description: | Maximum time spent (in seconds) at a charging station unless otherwise specified in a user-introduced charging waypoint. Charging waypoint may specify max or min duration, both of which can be higher. (see documentation for the `via` parameter) type: integer format: int32 minimum: 1800 connectorTypes: description: | Comma-separated list of connector types that are compatible with the vehicle. If `makeReachable` is set to `true`, then only stations with any of these connector types will be evaluated as a potential charging stop. For stations with multiple compatible connectors, the charging time is based on the connector type with the highest power rating among them. Currently supported connector types are: * `iec62196Type1Combo`: Type 1 Combo connector, commonly called "CCS1" * `iec62196Type2Combo`: Type 2 Combo connector, commonly called "CCS2" * `chademo`: CHAdeMO connector * `tesla`: Deprecated alias for `saeJ3400`. Use `saeJ3400` instead. Cannot be used in combination with `saeJ3400` * `saeJ3400`: North American Charging Standard (NACS) connector. * `gbtDc`: Guobiao GB/T 20234.3 DC connector type: string example: iec62196Type1Combo,chademo maxPowerAtLowVoltage: description: | The maximum power (in kW) at which a vehicle can charge given these conditions: * The charging station connector's maximum supply voltage < 800 V. * The vehicle's `maxChargingVoltage` >= 800 V. The `consumablePower` at a station is then taken to be the lower of `maxPowerAtLowVoltage` and the charging station's available power. type: number minimum: 0 default: 45 required: - freeFlowSpeedTable ForbiddenHazardousGoods: oneOf: - $ref: "#/components/schemas/HazardousGoodsRestrictionAny" - $ref: "#/components/schemas/HazardousGoodsRestrictionArray" Fuel: description: | **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** Fuel parameters to be used for calculating consumption and related CO2 emission, and toll calculation. The following attributes are required for calculating consumption: * `type` * `freeFlowSpeedTable` The following attribute is needed for fuel specific toll calculation (if not provided default toll instead of fuel specific toll will be returned): * `type` **Notes**: * Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles. * Fuel parameters are not supported in combination with pedestrian and bicycle `transportMode`. type: object properties: type: description: > Vehicle fuel type (diesel, petrol, lpg, etc.) required for calculation of consumption and CO2 emission for fuel-based vehicles. Also used for toll calculation (if provided) when `vehicle[engineType] is internalCombustion` allOf: - $ref: "#/components/schemas/FuelType" freeFlowSpeedTable: allOf: - $ref: "#/components/schemas/ConsumptionSpeedTable" trafficSpeedTable: description: | Function curve specifying consumption rate at a given traffic-reduced speed on a flat stretch of road. See `freeFlowSpeedTable` for a description of the string format. allOf: - $ref: "#/components/schemas/ConsumptionSpeedTable" additionalConsumption: description: | Rate of fuel (in ml/s for diesel, petrol & LPG, gm/s for CNG) consumed by the vehicle for any other reason additional to fuel consumption for speed. type: number minimum: 0 ascent: description: > Rate of fuel consumed per meter rise in elevation (in ml/m for diesel, petrol & LPG, gm/m for CNG). type: number minimum: 0 required: - type MatchTrace: description: Trace file with points and path match parameters type: object properties: trace: type: array minItems: 2 maxItems: 50000 items: $ref: "#/components/schemas/MatchTracePoint" via: type: array items: $ref: "#/components/schemas/MatchTraceVia" required: - trace example: trace: - lat: 52.0 lng: 13.1 - lat: 52.1 lng: 13.2 - lat: 52.2 lng: 13.3 via: - index: 1 NetworkRestrictedTruckPost: description: | **Disclaimer: This parameter is currently in beta release, and is therefore subject to breaking changes.** Parameters specific to the `networkRestrictedTruck` transport mode. type: object properties: permittedNetworks: $ref: "#/components/schemas/PermittedNetworksPost" PedestrianNotice: type: object description: A notice contains important notifications. properties: title: type: string description: Human-readable notice description. example: Violated avoid tunnel code: type: string description: | Extensible enum: `simplePolyline` `pedestrianOptionViolated` `violatedAvoidTunnel` `violatedAvoidDirtRoad` `violatedBlockedRoad` `...` Currently known codes (non-exhaustive: this list could be extended for new situations): | Code | Description | Severity | | --------- | ------- | ------- | | simplePolyline | An accurate polyline is not available for this section. The returned polyline has been generated from departure and arrival places | info | | pedestrianOptionViolated | This section violates the parameter `pedestrian[speed]` or `pedestrian[maxDistance]` | critical | | violatedAvoidTunnel | Route did not manage to avoid user preference | critical | | violatedAvoidDirtRoad | Route did not manage to avoid user preference | critical | | violatedBlockedRoad | Route uses roads that are blocked due to `avoid[areas]` or `avoid[segments]`. | critical | example: violatedAvoidTunnel x-extensible-enum: - simplePolyline - pedestrianOptionViolated - violatedAvoidTunnel - violatedAvoidDirtRoad - violatedBlockedRoad severity: $ref: "#/components/schemas/NoticeSeverity" details: type: array description: Additional details about the notice items: $ref: "#/components/schemas/BaseNoticeDetail" required: - code PedestrianSummary: type: object description: Total value of key attributes for a route section. properties: duration: $ref: "#/components/schemas/Duration" length: $ref: "#/components/schemas/Distance" baseDuration: description: | Duration (in seconds) ignoring time-aware information. For pedestrian mode, the reported time is currently equal to that in `duration`. allOf: - $ref: "#/components/schemas/Duration" required: - duration - length PedestrianTransport: type: object description: Information about a transport properties: mode: $ref: "#/components/schemas/PedestrianMode" name: type: string description: Name of the transport, e.g., the name of a ferry or train. required: - mode Place: type: object description: A place represents a generic location relevant for the route. properties: name: description: Location name type: string waypoint: description: | If present, this place corresponds to the `via` in the request with the same index. Example: If the request contains `via=&via=` * the place corresponding to `` in the response will have `waypoint: 0` * the place corresponding to `` in the response will have `waypoint: 1`. Notes: * `waypoint` is not present for `origin` and `destination` places. `origin` and `destination` waypoints can be trivially identified in the response as the `departure` of the first section and the `arrival` of the final section, respectively. * `waypoint` is not present for any stops that are added automatically by the router. type: integer minimum: 0 type: description: | Place type. Each place type can have extra attributes. **NOTE:** The list of possible place types could be extended in the future. The client application is expected to handle such a case gracefully. type: string enum: - place location: description: | The position of this location This position was used in route calculation. It may be different to the original position provided in the request. allOf: - $ref: "#/components/schemas/Location" originalLocation: description: If present, the original position of this location provided in the request. allOf: - $ref: "#/components/schemas/Location" displayLocation: description: If present, the display position of this location provided in the request or that of the auto-added waypoint. This is different from the originalLocation and location which are generally expected to be on the navigable road network, i.e., on segments. This coordinate, for example, is the location of the POI as shown by the pin on a map. allOf: - $ref: "#/components/schemas/Location" sideOfStreet: description: | Location of the waypoint or destination, relative to the driving direction on the street/road. **NOTE:** Based on the original waypoint position and `sideOfStreetHint` waypoint property. - If `sideOfStreetHint` property is specified, it takes priority in determining the side of street in the response. - Nothing is returned in the response in case the side of street is ambiguous (too close to the street), or if the position is too far from the street. * 'left`: The left side of the street in relation to the driving direction of the route. * `right`: The right side of the street in relation to the driving direction of the route. type: string enum: - left - right required: - type - location example: type: place location: lat: 50.339167 lng: 18.93 RangePrice: type: object properties: type: description: | Type of price represented by this object. The API customer is responsible for correctly visualizing the pricing model. As it is possible to extend the supported price types in the future, the price information should be hidden when an unknown type is encountered. Available price types are: * `value` - A single value. * `range` - A range value that includes a minimum and maximum price. type: string estimated: description: Attribute value is `true` if the fare price is estimated, `false` if it is an exact value. type: boolean default: false currency: description: Local currency of the price compliant to ISO 4217 type: string unit: description: | When set, the price is paid for a specific duration. Examples: * `"unit": 3600` - price for one hour * `"unit": 28800` - price for 8 hours * `"unit": 86400` - price for one day allOf: - $ref: "#/components/schemas/Duration" minimum: description: Minimum price type: number maximum: description: Maximum price type: number required: - type - currency - minimum - maximum RoadInfo: type: object description: Road information attached to an offset action properties: type: $ref: "#/components/schemas/RoadInfoType" name: description: | Name of the road If the road has multiple names, each name will be a separate entry in the array. The road names can be in multiple languages. If a preferred language was provided, and names in that language are available, they will be prioritized in the array. Otherwise the default name of the street is prioritized. type: array items: $ref: "#/components/schemas/LocalizedString" number: description: Route name or number (e.g. 'M25') type: array items: $ref: "#/components/schemas/LocalizedRouteNumber" toward: description: Names of destinations on sign which can be reached when going in that direction type: array items: $ref: "#/components/schemas/LocalizedString" example: fennstrasse: type: street name: - value: Fennstraße language: de number: - value: B96 language: de toward: - value: Reinickendorf language: de RouteResponseNoticeDetail: description: Details attached to notices in route response. oneOf: - $ref: "#/components/schemas/ViaNoticeDetail" discriminator: propertyName: type mapping: via: "#/components/schemas/ViaNoticeDetail" Routing403ErrorResponseSchema: type: object anyOf: - $ref: "#/components/schemas/SimpleErrorResponseSchema" - $ref: "#/components/schemas/RoutingErrorResponse" Routing429ErrorResponseSchema: type: object anyOf: - $ref: "#/components/schemas/SimpleErrorResponseSchema" - $ref: "#/components/schemas/RoutingErrorResponse" SignpostLabelRouteNumber: type: object description: > Route number on a signpost label. The `routeType` property of the LocalizedRouteNumber is always null at the moment for SignpostLabel, because the data is currently not available. properties: routeNumber: $ref: "#/components/schemas/LocalizedRouteNumber" SinglePrice: type: object properties: type: description: | Type of price represented by this object. The API customer is responsible for correctly visualizing the pricing model. As it is possible to extend the supported price types in the future, the price information should be hidden when an unknown type is encountered. Available price types are: * `value` - A single value. * `range` - A range value that includes a minimum and maximum price. type: string estimated: description: Attribute value is `true` if the fare price is estimated, `false` if it is an exact value. type: boolean default: false currency: description: Local currency of the price compliant to ISO 4217 type: string unit: description: | When set, the price is paid for a specific duration. Examples: * `"unit": 3600` - price for one hour * `"unit": 28800` - price for 8 hours * `"unit": 86400` - price for one day allOf: - $ref: "#/components/schemas/Duration" value: description: The price value type: number required: - type - currency - value StationPlace: type: object description: A station properties: name: description: Location name type: string waypoint: description: | If present, this place corresponds to the `via` in the request with the same index. Example: If the request contains `via=&via=` * the place corresponding to `` in the response will have `waypoint: 0` * the place corresponding to `` in the response will have `waypoint: 1`. Notes: * `waypoint` is not present for `origin` and `destination` places. `origin` and `destination` waypoints can be trivially identified in the response as the `departure` of the first section and the `arrival` of the final section, respectively. * `waypoint` is not present for any stops that are added automatically by the router. type: integer minimum: 0 type: description: | Place type. Each place type can have extra attributes. **NOTE:** The list of possible place types could be extended in the future. The client application is expected to handle such a case gracefully. type: string enum: - station location: description: | The position of this location This position was used in route calculation. It may be different to the original position provided in the request. allOf: - $ref: "#/components/schemas/Location" originalLocation: description: If present, the original position of this location provided in the request. allOf: - $ref: "#/components/schemas/Location" displayLocation: description: If present, the display position of this location provided in the request or that of the auto-added waypoint. This is different from the originalLocation and location which are generally expected to be on the navigable road network, i.e., on segments. This coordinate, for example, is the location of the POI as shown by the pin on a map. allOf: - $ref: "#/components/schemas/Location" sideOfStreet: description: | Location of the waypoint or destination, relative to the driving direction on the street/road. **NOTE:** Based on the original waypoint position and `sideOfStreetHint` waypoint property. - If `sideOfStreetHint` property is specified, it takes priority in determining the side of street in the response. - Nothing is returned in the response in case the side of street is ambiguous (too close to the street), or if the position is too far from the street. * 'left`: The left side of the street in relation to the driving direction of the route. * `right`: The right side of the street in relation to the driving direction of the route. type: string enum: - left - right id: description: Identifier of this station type: string platform: description: Platform name or number for the departure. type: string code: description: Short text or a number that identifies the place for riders. type: string wheelchairAccessible: description: | Information about accessibility for people with a disability and who use a wheelchair. * `unknown` - Accessibility information is not available. * `yes` - There exists some accessible path from outside the station to the specific stop/platform. * `limited` - Accessibility is limited or assistance is required. * `no` - There exists no accessible path from outside the station to the specific stop/platform. allOf: - $ref: "#/components/schemas/WheelchairAccessibility" required: - type - location example: type: place location: lat: 50.339167 lng: 18.93 TransitSpan: type: object description: | Contains information attached to a contiguous part of a `Section`. The information may be attached along different dimensions of a section which are geometry (spatial), distance or time. A section, if it uses spans, has an optional attribute `spans` which is an array of extended `Span` types. The attributes of a span which should be returned in the response are configured by a request parameter. Use this type as a base for any span extension for sections that provide spans. properties: offset: description: > Offset of a coordinate in the section's polyline. type: integer format: int32 minimum: 0 length: description: > Length of the span. allOf: - $ref: "#/components/schemas/Distance" duration: description: Duration of the span. allOf: - $ref: "#/components/schemas/Duration" countryCode: $ref: "#/components/schemas/CountryCode" stateCode: $ref: "#/components/schemas/StateCode" names: description: Designated name for the span (e.g. a street name or a transport name) type: array items: $ref: "#/components/schemas/LocalizedString" segmentId: description: | **NOTE:** Attribute segmentId is deprecated. Use segmentRef instead. The directed topology segment id including prefix (e.g '+here:cm:segment:'). The id consists of two parts. * The direction ('+' or '-') * followed by the topology segment id (a unique identifier within the HERE platform catalogs). The direction specifies whether the route is using the segment in its canonical direction ('+' aka traveling along the geometry's direction), or against it ('-' aka traveling against the geometry's direction). This attribute will not appear for HERE Public Transit v8 and HERE Intermodal Routing v8 requests type: string deprecated: true segmentRef: $ref: "#/components/schemas/SegmentRef" notices: description: | A list of indexes into the notices array of the parent section. References all notices that apply to the span. type: array items: type: integer TransitTransport: type: object description: Transit transport information. properties: mode: $ref: "#/components/schemas/TransitMode" name: type: string description: Transit line name example: U2 headsign: description: Transit line headsign type: string category: description: Human readable transport category (such as Bus, Gondola, Tram, Train, ...) type: string example: Train color: description: Color of the transport polyline and background for the transport name. allOf: - $ref: "#/components/schemas/Color" textColor: description: Color of the transport name. allOf: - $ref: "#/components/schemas/Color" shortName: description: Short name of a transit line. type: string example: U2 longName: description: Long name of a transit line. type: string example: Pankow - Ruhleben required: - mode Truck: type: object description: Vehicle-specific parameters properties: shippedHazardousGoods: description: | Hazardous goods restrictions refer to the limitations and regulations imposed on the transportation of specific types of hazardous materials during a trip. A comma-separated list of hazardous goods being shipped in the vehicle. The following values are possible: * `explosive`: Materials that are capable of causing an explosion. * `gas`: Gas (definition varies from country to country). For details, check [here](https://en.wikipedia.org/wiki/HAZMAT_Class_2_Gases). * `flammable`: Materials that are easily ignited and capable of catching fire. * `combustible`: Materials that have the potential to burn or catch fire. * `organic`: Materials derived from living organisms or containing carbon compounds. * `poison`: Substances that can cause harm or death when ingested, inhaled, or absorbed. * `radioactive`: Materials that emit radiation and pose potential health risks. * `corrosive`: Substances that can cause damage or destruction through chemical reactions. * `poisonousInhalation`: Materials that are toxic when inhaled. * `harmfulToWater`: Materials that can cause pollution or harm to water bodies. * `other`: Other types of hazardous materials not covered by the above categories. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: string example: explosive,gas,flammable grossWeight: description: | Gross vehicle weight, including trailers and shipped goods when loaded at capacity, specified in kilograms. If unspecified, it will default to currentWeight. If neither parameter has a value specified, it will default to 0. **Notes:** * Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. * Maximum weight for a car or taxi _without_ a trailer is 4250 kg. * Maximum weight for a car or taxi _with_ a trailer is 7550 kg. type: integer format: int32 minimum: 0 currentWeight: description: | Current vehicle weight, including trailers and shipped goods currently loaded, specified in kilograms. If unspecified, it will default to grossWeight. If neither parameter has a value specified, it will default to 0. **Notes:** * Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. * Maximum weight for a car or taxi _without_ a trailer is 5000 kg. * Maximum weight for a car or taxi _with_ a trailer is 8500 kg. * A route request with `currentWeight` above `grossWeight` may result in non-compliant or invalid routes. type: integer format: int32 minimum: 0 emptyWeight: description: | Empty weight of the vehicle combination ready to be driven, including necessary fluids and equipment determined by the local regulations, specified in kilograms. **Note:** * Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. * Maximum weight for a car or taxi _without_ a trailer is 4250 kg. * Maximum weight for a car or taxi _with_ a trailer is 7550 kg. type: integer format: int32 minimum: 0 weightPerAxle: description: | Heaviest vehicle weight-per-axle, specified in kilograms. Heaviest weight-per-axle, regardless of axle-type or axle-group. It is evaluated against all axle-weight restrictions, including single-axle and tandem-axle weight restrictions. It is useful if differences between axle types, like tandem and triple axles, are not relevant. This is the case in many countries, since they don't distinguish between these different axle groups on signs and in regulations. More fine-grained axle weight input is possible with `weightPerAxleGroup`. **Note:** `weightPerAxleGroup` and `weightPerAxle` are incompatible. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 weightPerAxleGroup: $ref: "#/components/schemas/WeightPerAxleGroup" height: description: | Vehicle height, specified in centimeters. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 maximum: 5000 width: description: | Vehicle width, specified in centimeters. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 maximum: 5000 length: description: | Vehicle length, specified in centimeters. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 maximum: 30000 kpraLength: description: | Kingpin to rear axle length, in centimeters. **NOTE:** Currently, the KPRA restrictions are only present in California and Idaho. **Note:** Supported in `truck`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 payloadCapacity: description: | Allowed payload capacity, including trailers, specified in kilograms. **Note:** Supported in `truck`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 tunnelCategory: description: | Specifies the [cargo tunnel restriction code](https://adrbook.com/en/2017/ADR/8.6.3). Route will pass only through tunnels of less restrictive categories. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. allOf: - $ref: "#/components/schemas/TunnelCategory" axleCount: description: | Specifies the total number of axles the vehicle has, i.e., axles on the base vehicle and any attached trailers. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 2 maximum: 255 trailerAxleCount: description: | Specifies the total number of axles across all the trailers attached to the vehicle. This number is included in `axleCount`, hence `trailerAxleCount` must be strictly less than `axleCount`. `trailerCount` must be non-zero. **Note:** This parameter is currently used only for the calculation of tolls in regions where it is applicable. type: integer format: int32 minimum: 1 tiresCount: description: > Specifies the total number of tires the vehicle has, i.e., the tires on the base vehicle and any attached trailers. type: integer format: int32 minimum: 1 maximum: 255 category: description: | Specifies the category of the vehicle. The supported values are: * `undefined`: The vehicle category is undefined, and no special considerations are taken into account. Vehicle routing will proceed as normal. * `lightTruck`: The vehicle is a truck light enough to be classified more as a car than as a truck. This exempts it from many legal restrictions for normal trucks. However, restrictions related to the physical dimensions of the truck or its cargo still apply. For more details, refer to [Truck categories](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/concepts/truck-routing.html#truck-categories). **Note:** Supported only in `truck` transport mode. type: string enum: - undefined - lightTruck default: undefined trailerCount: description: | The number of trailers attached to the vehicle. Maximum value when used with `transportMode=car` or `transportMode=taxi` is 1. **Limitations:** Considered for route calculation when `transportMode` is one of (`truck`, `bus`, `privateBus`). Considered for route calculation for restrictions, but not for speed limits, when `transportMode` is `car` or `taxi`. type: integer format: int32 minimum: 0 maximum: 255 default: 0 hovOccupancy: description: | **Note**: This parameter is deprecated, `vehicle[occupancy]` and `allow[hov]` should be used instead. The number of occupants in the vehicle, defined as individuals occupying a seat with a restraint device. This value affects the ability of the router to use HOV (High-Occupancy Vehicles) restricted lanes. Limitations: * Any value over 1 is interpreted as the ability to use any HOV lane, including those restricted to 3+ passengers. type: integer minimum: 1 default: 1 deprecated: true licensePlate: description: | Specifies the information about the vehicle's license plate number. This information is used to evaluate whether certain vehicle restrictions in environmental zones apply. Currently, only the last character of the license plate can be provided. Format: `lastCharacter:{character}` Example: `lastCharacter:2` type: string speedCap: description: | Specifies the maximum speed, in meters per second (m/s), that the user wishes not to exceed. This parameter affects the route's estimated time of arrival (ETA) and consumption calculation. Limitations: * valid for following transport modes: `car`, `truck`, `scooter`, `taxi`, `bus`, and `privateBus` Notes: * Car and Truck mode updates route ETA. * Scooter mode updates route optimization and ETA. * Resulting ETA can not be decreased by this parameter. type: number minimum: 1.0 maximum: 70.0 speedCapPerFc: description: | A comma separated list of speeds in meters per second (m/s) specifying the maximum speed per FC (Functional Class, as defined in the `FunctionalClass` schema) that the user wishes not to exceed. The list can have up to 5 entries, corresponding to FC 1 to FC 5. Empty entries indicate that no speed cap is specified for the corresponding FC. This parameter affects the route's estimated time of arrival (ETA) and consumption calculation. Limitations: * valid for following transport modes: `car`, `truck` Values limitations: * minimum: 1.00 * maximum: 70.00 Examples: * `vehicle[speedCapPerFc]=20,16.7,14,11,8` - specify limits for all FCs * `vehicle[speedCapPerFc]=20,16.7,,11,8` - specify limits for all FCs except for FC 3 * `vehicle[speedCapPerFc]=20,16.7,14` - specify limits for FC 1, 2 and 3 Notes: * Resulting ETA can not be decreased by this parameter. * vehicle[speedCapPerFc] and vehicle[speedCap] may be used in combination. For FCs where both values are specified, the minimum value is used. type: string engineSizeCc: description: | Specifies the engine size of the vehicle in cubic centimeters. Currently, the value is used only in scooter mode. This parameter is utilized to determine if the scooter can be classified as a moped. Scooters with an engine size less than 51cc are considered mopeds. **Alpha**: This API is in development. It may not be stable and is subject to change. It may have no impact on response. type: integer minimum: 0 maximum: 2000 occupancy: description: | The number of occupants on the vehicle, defined as individuals occupying a seat. This value affects the ability of the router to use HOV (High-Occupancy Vehicles) restricted lanes. If not set and `allow[hov]=true` is set, then occupancy requirements for all HOV conditions are considered to be met. This parameter also affects scooter occupancy restrictions. If not set, occupancy restrictions for scooters are ignored. The parameter is also used for calculating the toll cost, in cases where the toll-cost for the vehicle depends on the passenger count. If not set, occupancy of 1 is assumed for toll calculation. **Note:**: This parameter can't be used with 'vehicle[hovOccupancy]'. type: integer minimum: 1 engineType: description: | Specifies the engine type of the vehicle. **Limitations:** Currently this parameter is used only for toll calculation. It may be used at any point for route calculation (for example, to automatically avoid environmental zones). **Note:** * If engineType is specified as `internalCombustion`, valid `fuel[type]` should also be provided to get fuel specific toll. If `fuel[type]` is not provided, default toll without considering `fuel[type]` will be returned. * If `ev` or `fuel` namespace parameters are provided with an incompatible `engineType` (e.g. engineType=internalCombustion is provided along with `ev` namespace parameters) then `ev` namespace will override `engineType` and incompatible `engineType` will be ignored for toll, consumption, and emission computations. type: string enum: - electric - pluginHybrid - internalCombustion heightAboveFirstAxle: description: | Height of the vehicle above its first axle, in centimeters. **Note:** This parameter is currently used only for the calculation of tolls in regions where it is applicable. type: integer format: int32 minimum: 0 maximum: 5000 frontalArea: description: | Frontal area represents the total cross section area of the vehicle as viewed from the front, specified in square meters. Physical consumption model is using this value in combination with `airDragCoefficient` to calculate the consumption caused by air resistance. **Note:** This attribute, or both `width` and `height`, is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number minimum: 0.5 maximum: 50 rollingResistanceCoefficient: description: | Rolling resistance refers to the resistance experienced by your vehicle tire as it rolls over a surface. The main causes of this resistance are tire deformation, wing drag, and friction with the ground. The coefficient of rolling resistance is a numerical value indicating the severity of this factor. **Note:** This attribute is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number exclusiveMinimum: true minimum: 0.001 maximum: 0.5 airDragCoefficient: description: | The drag coefficient of an vehicle defines the way the vehicle is expected to pass through the surrounding air. More streamlined vehicles are more aerodynamic and therefore have smaller drag coefficient. **Note:** This attribute is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number exclusiveMinimum: true minimum: 0.1 maximum: 1.0 commercial: description: | Specifies whether the vehicle is a commercial or a non-commercial vehicle. Used for toll costs and speed limits. If left unspecified, the toll cost best fitting the vehicle profile is reported, irrespective of commercial use. For commercial cars, commercial speed limits apply. **Note:** supported in `car`, `truck`, `bus`, `privateBus` and `taxi`. type: boolean type: $ref: "#/components/schemas/TruckTypeWithDefault" deprecated: true Vehicle: type: object description: Vehicle-specific parameters properties: shippedHazardousGoods: description: | Hazardous goods restrictions refer to the limitations and regulations imposed on the transportation of specific types of hazardous materials during a trip. A comma-separated list of hazardous goods being shipped in the vehicle. The following values are possible: * `explosive`: Materials that are capable of causing an explosion. * `gas`: Gas (definition varies from country to country). For details, check [here](https://en.wikipedia.org/wiki/HAZMAT_Class_2_Gases). * `flammable`: Materials that are easily ignited and capable of catching fire. * `combustible`: Materials that have the potential to burn or catch fire. * `organic`: Materials derived from living organisms or containing carbon compounds. * `poison`: Substances that can cause harm or death when ingested, inhaled, or absorbed. * `radioactive`: Materials that emit radiation and pose potential health risks. * `corrosive`: Substances that can cause damage or destruction through chemical reactions. * `poisonousInhalation`: Materials that are toxic when inhaled. * `harmfulToWater`: Materials that can cause pollution or harm to water bodies. * `other`: Other types of hazardous materials not covered by the above categories. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: string example: explosive,gas,flammable grossWeight: description: | Gross vehicle weight, including trailers and shipped goods when loaded at capacity, specified in kilograms. If unspecified, it will default to currentWeight. If neither parameter has a value specified, it will default to 0. **Notes:** * Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. * Maximum weight for a car or taxi _without_ a trailer is 4250 kg. * Maximum weight for a car or taxi _with_ a trailer is 7550 kg. type: integer format: int32 minimum: 0 currentWeight: description: | Current vehicle weight, including trailers and shipped goods currently loaded, specified in kilograms. If unspecified, it will default to grossWeight. If neither parameter has a value specified, it will default to 0. **Notes:** * Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. * Maximum weight for a car or taxi _without_ a trailer is 5000 kg. * Maximum weight for a car or taxi _with_ a trailer is 8500 kg. * A route request with `currentWeight` above `grossWeight` may result in non-compliant or invalid routes. type: integer format: int32 minimum: 0 emptyWeight: description: | Empty weight of the vehicle combination ready to be driven, including necessary fluids and equipment determined by the local regulations, specified in kilograms. **Note:** * Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. * Maximum weight for a car or taxi _without_ a trailer is 4250 kg. * Maximum weight for a car or taxi _with_ a trailer is 7550 kg. type: integer format: int32 minimum: 0 weightPerAxle: description: | Heaviest vehicle weight-per-axle, specified in kilograms. Heaviest weight-per-axle, regardless of axle-type or axle-group. It is evaluated against all axle-weight restrictions, including single-axle and tandem-axle weight restrictions. It is useful if differences between axle types, like tandem and triple axles, are not relevant. This is the case in many countries, since they don't distinguish between these different axle groups on signs and in regulations. More fine-grained axle weight input is possible with `weightPerAxleGroup`. **Note:** `weightPerAxleGroup` and `weightPerAxle` are incompatible. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 weightPerAxleGroup: $ref: "#/components/schemas/WeightPerAxleGroup" height: description: | Vehicle height, specified in centimeters. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 maximum: 5000 width: description: | Vehicle width, specified in centimeters. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 maximum: 5000 length: description: | Vehicle length, specified in centimeters. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 maximum: 30000 kpraLength: description: | Kingpin to rear axle length, in centimeters. **NOTE:** Currently, the KPRA restrictions are only present in California and Idaho. **Note:** Supported in `truck`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 payloadCapacity: description: | Allowed payload capacity, including trailers, specified in kilograms. **Note:** Supported in `truck`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 0 tunnelCategory: description: | Specifies the [cargo tunnel restriction code](https://adrbook.com/en/2017/ADR/8.6.3). Route will pass only through tunnels of less restrictive categories. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. allOf: - $ref: "#/components/schemas/TunnelCategory" axleCount: description: | Specifies the total number of axles the vehicle has, i.e., axles on the base vehicle and any attached trailers. **Note:** Supported in `truck`, `bus`, `privateBus`, `car` (Beta), `taxi` (Beta) transport modes. type: integer format: int32 minimum: 2 maximum: 255 trailerAxleCount: description: | Specifies the total number of axles across all the trailers attached to the vehicle. This number is included in `axleCount`, hence `trailerAxleCount` must be strictly less than `axleCount`. `trailerCount` must be non-zero. **Note:** This parameter is currently used only for the calculation of tolls in regions where it is applicable. type: integer format: int32 minimum: 1 tiresCount: description: > Specifies the total number of tires the vehicle has, i.e., the tires on the base vehicle and any attached trailers. type: integer format: int32 minimum: 1 maximum: 255 category: description: | Specifies the category of the vehicle. The supported values are: * `undefined`: The vehicle category is undefined, and no special considerations are taken into account. Vehicle routing will proceed as normal. * `lightTruck`: The vehicle is a truck light enough to be classified more as a car than as a truck. This exempts it from many legal restrictions for normal trucks. However, restrictions related to the physical dimensions of the truck or its cargo still apply. For more details, refer to [Truck categories](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/concepts/truck-routing.html#truck-categories). **Note:** Supported only in `truck` transport mode. type: string enum: - undefined - lightTruck default: undefined trailerCount: description: | The number of trailers attached to the vehicle. Maximum value when used with `transportMode=car` or `transportMode=taxi` is 1. **Limitations:** Considered for route calculation when `transportMode` is one of (`truck`, `bus`, `privateBus`). Considered for route calculation for restrictions, but not for speed limits, when `transportMode` is `car` or `taxi`. type: integer format: int32 minimum: 0 maximum: 255 default: 0 hovOccupancy: description: | **Note**: This parameter is deprecated, `vehicle[occupancy]` and `allow[hov]` should be used instead. The number of occupants in the vehicle, defined as individuals occupying a seat with a restraint device. This value affects the ability of the router to use HOV (High-Occupancy Vehicles) restricted lanes. Limitations: * Any value over 1 is interpreted as the ability to use any HOV lane, including those restricted to 3+ passengers. type: integer minimum: 1 default: 1 deprecated: true licensePlate: description: | Specifies the information about the vehicle's license plate number. This information is used to evaluate whether certain vehicle restrictions in environmental zones apply. Currently, only the last character of the license plate can be provided. Format: `lastCharacter:{character}` Example: `lastCharacter:2` type: string speedCap: description: | Specifies the maximum speed, in meters per second (m/s), that the user wishes not to exceed. This parameter affects the route's estimated time of arrival (ETA) and consumption calculation. Limitations: * valid for following transport modes: `car`, `truck`, `scooter`, `taxi`, `bus`, and `privateBus` Notes: * Car and Truck mode updates route ETA. * Scooter mode updates route optimization and ETA. * Resulting ETA can not be decreased by this parameter. type: number minimum: 1.0 maximum: 70.0 speedCapPerFc: description: | A comma separated list of speeds in meters per second (m/s) specifying the maximum speed per FC (Functional Class, as defined in the `FunctionalClass` schema) that the user wishes not to exceed. The list can have up to 5 entries, corresponding to FC 1 to FC 5. Empty entries indicate that no speed cap is specified for the corresponding FC. This parameter affects the route's estimated time of arrival (ETA) and consumption calculation. Limitations: * valid for following transport modes: `car`, `truck` Values limitations: * minimum: 1.00 * maximum: 70.00 Examples: * `vehicle[speedCapPerFc]=20,16.7,14,11,8` - specify limits for all FCs * `vehicle[speedCapPerFc]=20,16.7,,11,8` - specify limits for all FCs except for FC 3 * `vehicle[speedCapPerFc]=20,16.7,14` - specify limits for FC 1, 2 and 3 Notes: * Resulting ETA can not be decreased by this parameter. * vehicle[speedCapPerFc] and vehicle[speedCap] may be used in combination. For FCs where both values are specified, the minimum value is used. type: string engineSizeCc: description: | Specifies the engine size of the vehicle in cubic centimeters. Currently, the value is used only in scooter mode. This parameter is utilized to determine if the scooter can be classified as a moped. Scooters with an engine size less than 51cc are considered mopeds. **Alpha**: This API is in development. It may not be stable and is subject to change. It may have no impact on response. type: integer minimum: 0 maximum: 2000 occupancy: description: | The number of occupants on the vehicle, defined as individuals occupying a seat. This value affects the ability of the router to use HOV (High-Occupancy Vehicles) restricted lanes. If not set and `allow[hov]=true` is set, then occupancy requirements for all HOV conditions are considered to be met. This parameter also affects scooter occupancy restrictions. If not set, occupancy restrictions for scooters are ignored. The parameter is also used for calculating the toll cost, in cases where the toll-cost for the vehicle depends on the passenger count. If not set, occupancy of 1 is assumed for toll calculation. **Note:**: This parameter can't be used with 'vehicle[hovOccupancy]'. type: integer minimum: 1 engineType: description: | Specifies the engine type of the vehicle. **Limitations:** Currently this parameter is used only for toll calculation. It may be used at any point for route calculation (for example, to automatically avoid environmental zones). **Note:** * If engineType is specified as `internalCombustion`, valid `fuel[type]` should also be provided to get fuel specific toll. If `fuel[type]` is not provided, default toll without considering `fuel[type]` will be returned. * If `ev` or `fuel` namespace parameters are provided with an incompatible `engineType` (e.g. engineType=internalCombustion is provided along with `ev` namespace parameters) then `ev` namespace will override `engineType` and incompatible `engineType` will be ignored for toll, consumption, and emission computations. type: string enum: - electric - pluginHybrid - internalCombustion heightAboveFirstAxle: description: | Height of the vehicle above its first axle, in centimeters. **Note:** This parameter is currently used only for the calculation of tolls in regions where it is applicable. type: integer format: int32 minimum: 0 maximum: 5000 frontalArea: description: | Frontal area represents the total cross section area of the vehicle as viewed from the front, specified in square meters. Physical consumption model is using this value in combination with `airDragCoefficient` to calculate the consumption caused by air resistance. **Note:** This attribute, or both `width` and `height`, is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number minimum: 0.5 maximum: 50 rollingResistanceCoefficient: description: | Rolling resistance refers to the resistance experienced by your vehicle tire as it rolls over a surface. The main causes of this resistance are tire deformation, wing drag, and friction with the ground. The coefficient of rolling resistance is a numerical value indicating the severity of this factor. **Note:** This attribute is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number exclusiveMinimum: true minimum: 0.001 maximum: 0.5 airDragCoefficient: description: | The drag coefficient of an vehicle defines the way the vehicle is expected to pass through the surrounding air. More streamlined vehicles are more aerodynamic and therefore have smaller drag coefficient. **Note:** This attribute is required when using the physical model `consumptionModel=physical` for EV consumption. **Alpha**: This parameter is in development. It may not be stable and is subject to change. type: number exclusiveMinimum: true minimum: 0.1 maximum: 1.0 commercial: description: | Specifies whether the vehicle is a commercial or a non-commercial vehicle. Used for toll costs and speed limits. If left unspecified, the toll cost best fitting the vehicle profile is reported, irrespective of commercial use. For commercial cars, commercial speed limits apply. **Note:** supported in `car`, `truck`, `bus`, `privateBus` and `taxi`. type: boolean type: $ref: "#/components/schemas/VehicleType" VehicleTransport: type: object description: Information about a transport properties: mode: $ref: "#/components/schemas/VehicleMode" name: type: string description: Name of the transport, e.g., the name of a ferry or train. currentWeight: description: | Contains the value of `vehicle[currentWeight]` used for the section. Value expressed in kilograms. If `currentWeightChange` was specified for any of the via waypoints, the value is updated for the remaining sections. type: integer format: int32 required: - mode ViolatedZoneReference: description: | Provides details about the zone associated with `violatedZoneRestriction` and the violated restriction conditions that were evaluated against parameter values set in the routing request (such as vehicle properties). The restriction is violated only if all of the conditions present are met. type: object properties: title: type: string description: Detail title cause: type: string description: Cause of the notice type: type: string description: | Detail type. Each type of detail might contain extra attributes. **NOTE:** The list of possible detail types may be extended in the future. The client application is expected to handle such a case gracefully. enum: - zoneReference routingZoneRef: $ref: "#/components/schemas/RoutingZoneReference" timeDependent: type: boolean description: Indicates if the violation is time-dependent restrictedTimes: $ref: "#/components/schemas/TimeDomain" licensePlateRestriction: $ref: "#/components/schemas/LicensePlateRestriction" maxWeight: $ref: "#/components/schemas/VehicleRestrictionMaxWeight" required: - type WaitAction: description: > A wait operation to be performed at or during a specific portion of a section. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - wait duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string required: - action - duration WebLinkWithDeviceType: type: object description: The URL address to an external resource. properties: id: description: Unique identifier for the web link. It is used to deduplicate links defined in multiple sections. type: string href: $ref: "#/components/schemas/Uri" text: description: Text describing the url address (e.g. The example website). type: string hrefText: description: > The interactive (or clickable) portion of the text. If not present (default), the entire content of the text attribute will be considered. type: string deviceType: description: | Extensible enum: `web` `ios` `android` `...` Device type for which the link is intended type: string x-extensible-enum: - web - ios - android required: - id - text example: id: 88-7568-21.07.2023 text: Information for public transit provided by ThePublicTransit GmbH EVConsumption: description: | EV properties to be used for calculating consumption. There are two consumption models (`empirical`, `physical`). Set the `consumptionModel` parameter to choose which model to use. Required `empirical` model properties: * `freeFlowSpeedTable` Required `physical` model properties: * `driveEfficiency` * `recuperationEfficiency` When using the physical model, certain properties of the `vehicle` parameter are also required (see documentation for the `vehicle` parameter for more details): * `rollingResistanceCoefficient` * `airDragCoefficient` * `currentWeight` * `frontalArea` or combination of `width` and `height` The following `ev` properties are additionally required in order to calculate State-of-Charge along the route: * `initialCharge` * `maxCharge` Route reachability based on State-of-Charge will be evaluated for the following constraints, if additionally provided, * `minChargeAtDestination` * `minChargeAtFirstChargingStation` * `minChargeAtChargingStation` The following properties are additionally required in order to calculate charging at charging station waypoints (see documentation for `via` parameter) * `chargingCurve` **Notes**: * Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles. * EV parameters are not supported in combination with pedestrian, bicycle and network restricted truck `transportMode`. oneOf: - $ref: "#/components/schemas/EVEmpiricalModel" - $ref: "#/components/schemas/EVPhysicalModel" FarePrice: description: Price of a fare discriminator: propertyName: type mapping: value: "#/components/schemas/SinglePrice" range: "#/components/schemas/RangePrice" oneOf: - $ref: "#/components/schemas/SinglePrice" - $ref: "#/components/schemas/RangePrice" Passthrough: type: object description: Describes a location and time the section is passing through. properties: place: $ref: "#/components/schemas/Place" offset: description: Passthrough offsets are the coordinate index in the polyline. type: number required: - place PedestrianPostAction: oneOf: - $ref: "#/components/schemas/WaitAction" discriminator: propertyName: action mapping: wait: "#/components/schemas/WaitAction" PedestrianSpan: type: object description: > Span attached to a `Section` describing pedestrian content. properties: offset: description: > Offset of a coordinate in the section's polyline. type: integer format: int32 minimum: 0 length: description: > Length of the span. allOf: - $ref: "#/components/schemas/Distance" duration: description: Duration of the span. allOf: - $ref: "#/components/schemas/Duration" streetAttributes: description: | `StreetAttributes` is applied to a span of a route section and describes attribute flags of a street. The following flags can be assigned: * `rightDrivingSide`: Vehicles must drive on the right-hand side of the road in this part of the route. * `dirtRoad`: This part of the route has an unpaved surface, such as a gravel or dirt road. * `tunnel`: This part of the route passes through a tunnel. * `bridge`: This part of the route crosses a bridge. * `ramp`: This part of the route is a ramp, typically connecting to or from highways. * `motorway`: This part of the route is a controlled access road, typically a highway with motorway signage. * `roundabout`: This part of the route includes a roundabout. * `underConstruction`: This part of the route is currently under construction. * `dividedRoad`: This part of the route uses a road with a physical or legal divider in the middle, separating opposing traffic flows. * `privateRoad`: This part of the route uses a privately owned road. * `controlledAccessHighway`: This part of the route is either a controlled access road, limited access road, or both. * `builtUpArea`: This part of the route most likely passes through a built-up area. It is possible that new street attributes may be supported in the future. When encountering unknown street attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/StreetAttributes" walkAttributes: description: | WalkAttributes are applied to a span of a route section and describe walk-related attribute flags. * `stairs`: This part of the route is using stairs. * `park`: This part of the route is located inside a park. * `indoor`: This part of the route is located inside a venue. * `open`: This part of the route is open to walking. * `noThrough`: This part of the route can only be traversed if origin, destination or any via waypoint is located there. * `tollRoad`: This part of the route is restricted with a fee (or toll). It is possible that new attributes may be supported in the future. When encountering unknown attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/WalkAttributes" carAttributes: description: | Car-specific `AccessAttributes`. `AccessAttributes` is applied to a span of a route section and describe access flags specific to cars. The following flags can be assigned: * `open`: This part of the route is open and accessible to cars. * `noThrough`: This part of the route can only be traversed by cars if the origin, destination, or any via waypoint is located there. It is not a through-route for cars. * `tollRoad`: This part of the route is a toll road, which means access is restricted for cars and requires the payment of a fee or toll. It is possible that new access attributes may be supported in the future. When encountering unknown access attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/AccessAttributes" truckAttributes: description: | Truck-specific `AccessAttributes`. `AccessAttributes` is applied to a span of a route section and describe access flags specific to trucks. These flags indicate the accessibility and restrictions for trucks along the route. The following flags can be assigned: * `open`: This part of the route is open and accessible to trucks. * `noThrough`: That this part of the route can only be traversed by trucks if the origin, destination, or any via waypoint is located there. It is not a through-route for trucks. * `tollRoad`: This part of the route is a toll road, which means access is restricted for trucks and requires the payment of a fee or toll. It is possible that new access attributes may be supported in the future. When encountering unknown access attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/AccessAttributes" scooterAttributes: description: | Scooter specific `AccessAttributes`. `AccessAttributes` is applied to a span of a route section and describes access flags of a street. * `open`: This part of the route is open to scooters. It is possible that new access attributes may be supported in the future. When encountering unknown access attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/AccessAttributes" names: description: Designated name for the span (e.g. a street name or a transport name) type: array items: $ref: "#/components/schemas/LocalizedString" routeNumbers: description: Designated route name or number of the span (e.g. 'M25') type: array items: $ref: "#/components/schemas/LocalizedRouteNumber" countryCode: $ref: "#/components/schemas/CountryCode" stateCode: $ref: "#/components/schemas/StateCode" functionalClass: $ref: "#/components/schemas/FunctionalClass" speedLimit: description: > **NOTE:** Attribute speedLimit is deprecated. Use maxSpeed instead. allOf: - $ref: "#/components/schemas/Speed" maxSpeed: $ref: "#/components/schemas/MaxSpeed" dynamicSpeedInfo: $ref: "#/components/schemas/DynamicSpeedInfo" segmentId: description: | **NOTE:** Attribute segmentId is deprecated. Use segmentRef instead. The directed topology segment id including prefix (e.g '+here:cm:segment:'). The id consists of two parts. * The direction ('+' or '-') * followed by the topology segment id (a unique identifier within the HERE platform catalogs). The direction specifies whether the route is using the segment in its canonical direction ('+' aka traveling along the geometry's direction), or against it ('-' aka traveling against the geometry's direction). type: string deprecated: true segmentRef: $ref: "#/components/schemas/SegmentRef" incidents: description: | A list of indices into the incident array of the parent section. References all incidents that apply to the span. This requires `incidents` to be specified as part of the `return` parameter. type: array items: type: integer gate: description: Indication that a gate is present at the end of this span. allOf: - $ref: "#/components/schemas/Gate" railwayCrossing: description: Indication that a railway crossing is present at the end of this span. allOf: - $ref: "#/components/schemas/RailwayCrossing" notices: description: | A list of indexes into the notices array of the parent section. References all notices that apply to the span. Depending on the notice type the notice might apply to the whole span, or only at the end of the span. Notices that only apply at the end of the span are: | Code | Description | | --------- | ------- | | violatedTurnRestriction | A restricted turn is performed at the end of the span | | violatedAvoidDifficultTurns | A difficult turn is performed at the end of the span | | violatedAvoidUTurns | A U-turn is performed at the end of the span | | violatedEmergencyGate | An emergency gate is crossed at the end of the span | **Note:** `difficultTurns` avoidance feature is deprecated and the corresponding notice will not be available in the future. type: array items: type: integer baseDuration: description: | Duration of this span (in seconds) ignoring time-aware information. For pedestrian mode, the reported time is currently equal to that in `duration`. allOf: - $ref: "#/components/schemas/Duration" typicalDuration: description: | Duration of this span (in seconds) under typical traffic conditions. For pedestrian mode, the reported time is currently equal to that in `duration`. allOf: - $ref: "#/components/schemas/Duration" RouteResponseNotice: example: $ref: "#/components/examples/routeResponseNoticeExample" type: object description: A notice contains important notifications. properties: title: type: string description: Human-readable notice description. example: No route found code: type: string description: | Extensible enum: `noRouteFound` `failedRouteHandleCreation` `cancelled` `routeCalculationFailed` `couldNotMatchOrigin` `couldNotMatchDestination` `noReachableChargingStationsFound` `violatedTransportModeInRouteHandleDecoding` `unknownError` `routeLengthLimitExceeded` `avoidSegmentsInvalidId` `avoidZonesInvalidId` `avoidTruckRoadTypesInvalidId` `returnToRoute` `importFailed` `importSplitRoute` `brandDoesNotExist` `unknownParameter` `mainLanguageNotFound` `avoidOptionsWithMakeReachableLimitation` `currentWeightChangeNoCurrentWeight` `currentWeightChangeNoGrossWeight` `...` Currently known codes (non-exhaustive: this list could be extended for new error situations): | Code | Description | Severity | | --------- | ------- | ------- | | noRouteFound | No Route was found | critical | | failedRouteHandleCreation | No RouteHandle was created | critical | | cancelled | Calculation took too long and was cancelled | critical | | routeCalculationFailed | Calculation did not succeed | critical | | couldNotMatchOrigin | Origin waypoint could not be matched | critical | | couldNotMatchDestination | Destination waypoint could not be matched | critical | | noReachableChargingStationsFound | Initial charge is not enough to reach any known charging stations | critical | | violatedTransportModeInRouteHandleDecoding | Route handle decoding failed due to forbidden segments for the specified transport mode | critical | | unknownError | No detailed error cause has been determined | critical | | routeLengthLimitExceeded | Distance between waypoints is too large for current options | critical | | avoidSegmentsInvalidId | The provided segment ID was not found | info | | avoidZonesInvalidId | The provided zone ID was not found | info | | avoidTruckRoadTypesInvalidId | The provided truck road type id was not found | info | | returnToRoute | Applicable only to requests with route handle provided. Current route position was not on the original route. New route was calculated from the current position to the destination. Old route may have been reused. | info | | importFailed | No route section was found for imported waypoints | critical | | importSplitRoute | Not all trace points were matched | info | | brandDoesNotExist | Preferred charging station brand does not exist | info | | unknownParameter | The provided parameter is unknown | info | | mainLanguageNotFound | The first language in the list of preferred languages is not supported. | info | | avoidOptionsWithMakeReachableLimitation | Avoiding toll or controlledAccessHighway with makeReachable is supported only for trucks up to 7.5 tons. | critical | | currentWeightChangeNoCurrentWeight | Route handle contains `currentWeightChange` but missing vehicle[currentWeight]. `currentWeight` will not be evaluated. | info | | currentWeightChangeNoGrossWeight | Route handle contains `currentWeightChange` but missing vehicle[grossWeight]. Vehicle restrictions based on gross weight will not be evaluated. | info | example: noRouteFound x-extensible-enum: - noRouteFound - failedRouteHandleCreation - cancelled - routeCalculationFailed - couldNotMatchOrigin - couldNotMatchDestination - noReachableChargingStationsFound - violatedTransportModeInRouteHandleDecoding - unknownError - routeLengthLimitExceeded - avoidSegmentsInvalidId - avoidZonesInvalidId - avoidTruckRoadTypesInvalidId - returnToRoute - importFailed - importSplitRoute - brandDoesNotExist - unknownParameter - mainLanguageNotFound - avoidOptionsWithMakeReachableLimitation - currentWeightChangeNoCurrentWeight - currentWeightChangeNoGrossWeight severity: $ref: "#/components/schemas/NoticeSeverity" details: type: array description: Additional details about the notice items: $ref: "#/components/schemas/RouteResponseNoticeDetail" required: - code SignpostLabel: description: > Label on a signpost. anyOf: - $ref: "#/components/schemas/SignpostLabelText" - $ref: "#/components/schemas/SignpostLabelRouteNumber" TimeRestrictedPrice: type: object properties: type: description: | Type of price represented by this object. The API customer is responsible for correctly visualizing the pricing model. As it is possible to extend the supported price types in the future, the price information should be hidden when an unknown type is encountered. Available price types are: * `restricted` - A single price value valid for a specific time or duration type: string estimated: description: Attribute value is `true` if the fare price is estimated, `false` if it is an exact value. type: boolean default: false currency: description: Local currency of the price compliant to ISO 4217 type: string unit: description: | When set, the price is paid for a specific duration. Examples: * `"unit": 3600` - price for one hour * `"unit": 28800` - price for 8 hours * `"unit": 86400` - price for one day allOf: - $ref: "#/components/schemas/Duration" value: description: The price value type: number days: description: This price applies only for the selected days type: array items: $ref: "#/components/schemas/TimeRestrictedWeekdays" example: - sa - su minDuration: description: The price applies if the duration is more or equal to `minDuration` allOf: - $ref: "#/components/schemas/Duration" example: 1801 maxDuration: description: The price applies if the duration is less or equal to `maxDuration` allOf: - $ref: "#/components/schemas/Duration" example: 3600 fromTime: description: The price applies from this time of the day allOf: - $ref: "#/components/schemas/PartialTime" toTime: description: The price applies until this time of the day allOf: - $ref: "#/components/schemas/PartialTime" required: - type - currency - value TransitDeparturePlace: description: Departure/arrival location oneOf: - $ref: "#/components/schemas/Place" - $ref: "#/components/schemas/StationPlace" discriminator: propertyName: type mapping: place: "#/components/schemas/Place" station: "#/components/schemas/StationPlace" TransitPostAction: oneOf: - $ref: "#/components/schemas/DeboardAction" discriminator: propertyName: action mapping: deboard: "#/components/schemas/DeboardAction" TransitPreAction: description: An action that must be done prior to `departure`. discriminator: propertyName: action mapping: board: "#/components/schemas/BoardAction" oneOf: - $ref: "#/components/schemas/BoardAction" VehiclePostAction: description: Action attached to a vehicle section that must be done after `arrival`. discriminator: propertyName: action mapping: chargingSetup: "#/components/schemas/ChargingSetupAction" charging: "#/components/schemas/ChargingAction" wait: "#/components/schemas/WaitAction" oneOf: - $ref: "#/components/schemas/ChargingSetupAction" - $ref: "#/components/schemas/ChargingAction" - $ref: "#/components/schemas/WaitAction" VehicleRestriction: description: | Provides details about the violated restriction and the violated restriction conditions that were evaluated against parameter values set in the routing request (such as vehicle properties). The restriction is violated only if all of the conditions present are met. type: object properties: title: type: string description: Detail title cause: type: string description: Cause of the notice type: type: string description: | Detail type. Each type of detail might contain extra attributes. **NOTE:** The list of possible detail types may be extended in the future. The client application is expected to handle such a case gracefully. enum: - restriction forbiddenHazardousGoods: description: | Hazardous goods restrictions applied during the trip. This condition is met when the vehicle's shippedHazardousGoods contains any of the items in the specified array. This property can either be "any" or a list of all forbidden hazardous goods. allOf: - $ref: "#/components/schemas/ForbiddenHazardousGoods" maxWeight: allOf: - $ref: "#/components/schemas/VehicleRestrictionMaxWeight" maxGrossWeight: description: | Contains the maximum permitted weight, specified in kilograms. This condition is met when the vehicle's weight exceeds the specified value. **NOTE:** This attribute is deprecated, use `maxWeight` instead. It is redundant and is present because of backward compatibility reasons. type: integer format: int32 minimum: 0 deprecated: true maxWeightPerAxle: description: | Contains the maximum permitted weight per axle, specified in kilograms. This condition is met when the vehicle's `weightPerAxle` exceeds the specified value. type: integer format: int32 minimum: 0 maxAxleGroupWeight: description: | Contains the maximum permitted weight for an axle-group. This condition is triggered when the vehicle's `weightPerAxleGroup` exceeds this value. allOf: - $ref: "#/components/schemas/AxleGroupWeight" maxHeight: description: | Contains the maximum permitted height, specified in centimeters. This condition is met when the vehicle's `height` exceeds the specified value. type: integer format: int32 minimum: 0 maxWidth: description: | Contains the maximum permitted width, specified in centimeters. This condition is met when the vehicle's `width` exceeds the specified value. type: integer format: int32 minimum: 0 maxLength: description: | Contains the maximum permitted length, specified in centimeters. This condition is met when the vehicle's `length` exceeds the specified value. type: integer format: int32 minimum: 0 maxTiresCount: description: | Contains the maximum number of permitted tires. This condition is met when the vehicle's `tiresCount` exceeds the specified value. type: integer format: int32 minimum: 0 axleCount: description: | Constrains the restriction to trucks with the number of axles within the specified range. This condition is met when the vehicle's `axleCount` is within the specified range. allOf: - $ref: "#/components/schemas/TruckAxleCountRange" tunnelCategory: description: | Specifies the tunnel category used to restrict the transport of specific goods. This condition is met when the value exceeds the tunnel category specified by the vehicle's `tunnelCategory` allOf: - $ref: "#/components/schemas/TunnelCategory" timeDependent: description: > Indicates that the restriction depends on time. type: boolean truckType: description: | Constrains the restriction to a specific type of vehicle. This condition is met if the `vehicle[type]` request parameter matches the specified value. deprecated: true allOf: - $ref: "#/components/schemas/TruckType" vehicleType: description: | Constrains the restriction to a specific type of vehicle. This condition is met if the `vehicle[type]` request parameter matches this value. allOf: - $ref: "#/components/schemas/VehicleType" trailerCount: description: | Constrains the restriction to trucks with the number of axles within the specified range. This condition is met when the vehicle's `trailerCount` is within the specified range. allOf: - $ref: "#/components/schemas/TrailerCountRange" maxEngineSizeCC: description: | Contains the maximum permitted size of the engine, specified in cubic centimeters. This condition is met when the vehicle's `engineSizeCC` exceeds the specified value. type: integer format: int32 minimum: 0 minEngineSizeCC: description: | Contains the minimum permitted size of the engine, specified in cubic centimeters. This condition is met when the vehicle's `engineSizeCC' is less than the specified value. type: integer format: int32 minimum: 0 maxOccupancy: description: | Contains the maximum permitted occupancy. This condition is met when the vehicle's `occupancy` exceeds the specified value. type: integer format: int32 minimum: 1 minOccupancy: description: | Contains the minimum permitted occupancy. This condition is met when the vehicle's `occupancy` is less than the specified value. type: integer format: int32 minimum: 1 restrictedTimes: $ref: "#/components/schemas/TimeDomain" maxKpraLength: description: | Contains max permitted kingpin to rear axle length, in centimeters. This condition is met when the vehicle's `kpraLength` exceeds this value. type: integer format: int32 minimum: 0 maxPayloadCapacity: description: | Contains the maximum allowed payload capacity, specified in kilograms. This condition is met when the vehicle's `payloadCapacity` exceeds the specified value. type: integer format: int32 minimum: 0 unconditional: description: Restriction applies unconditionally. type: boolean default: false required: - type example: $ref: "#/components/examples/restrictionExample" VehicleSpan: type: object description: > Span attached to a `Section` that describes the vehicle content. properties: offset: description: > Offset of a coordinate in the section's polyline. type: integer format: int32 minimum: 0 length: description: > Length of the span. allOf: - $ref: "#/components/schemas/Distance" duration: description: Duration of the span. allOf: - $ref: "#/components/schemas/Duration" streetAttributes: description: | `StreetAttributes` is applied to a span of a route section and describes attribute flags of a street. The following flags can be assigned: * `rightDrivingSide`: Vehicles must drive on the right-hand side of the road in this part of the route. * `dirtRoad`: This part of the route has an unpaved surface, such as a gravel or dirt road. * `tunnel`: This part of the route passes through a tunnel. * `bridge`: This part of the route crosses a bridge. * `ramp`: This part of the route is a ramp, typically connecting to or from highways. * `motorway`: This part of the route is a controlled access road, typically a highway with motorway signage. * `roundabout`: This part of the route includes a roundabout. * `underConstruction`: This part of the route is currently under construction. * `dividedRoad`: This part of the route uses a road with a physical or legal divider in the middle, separating opposing traffic flows. * `privateRoad`: This part of the route uses a privately owned road. * `controlledAccessHighway`: This part of the route is either a controlled access road, limited access road, or both. * `builtUpArea`: This part of the route most likely passes through a built-up area. It is possible that new street attributes may be supported in the future. When encountering unknown street attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/StreetAttributes" walkAttributes: description: | WalkAttributes are applied to a span of a route section and describe walk-related attribute flags. * `stairs`: This part of the route is using stairs. * `park`: This part of the route is located inside a park. * `indoor`: This part of the route is located inside a venue. * `open`: This part of the route is open to walking. * `noThrough`: This part of the route can only be traversed if origin, destination or any via waypoint is located there. * `tollRoad`: This part of the route is restricted with a fee (or toll). It is possible that new attributes may be supported in the future. When encountering unknown attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/WalkAttributes" carAttributes: description: | Car-specific `AccessAttributes`. `AccessAttributes` is applied to a span of a route section and describe access flags specific to cars. The following flags can be assigned: * `open`: This part of the route is open and accessible to cars. * `noThrough`: This part of the route can only be traversed by cars if the origin, destination, or any via waypoint is located there. It is not a through-route for cars. * `tollRoad`: This part of the route is a toll road, which means access is restricted for cars and requires the payment of a fee or toll. It is possible that new access attributes may be supported in the future. When encountering unknown access attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/AccessAttributes" truckAttributes: description: | Truck-specific `AccessAttributes`. `AccessAttributes` is applied to a span of a route section and describe access flags specific to trucks. These flags indicate the accessibility and restrictions for trucks along the route. The following flags can be assigned: * `open`: This part of the route is open and accessible to trucks. * `noThrough`: That this part of the route can only be traversed by trucks if the origin, destination, or any via waypoint is located there. It is not a through-route for trucks. * `tollRoad`: This part of the route is a toll road, which means access is restricted for trucks and requires the payment of a fee or toll. It is possible that new access attributes may be supported in the future. When encountering unknown access attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/AccessAttributes" scooterAttributes: description: | Scooter specific `AccessAttributes`. `AccessAttributes` is applied to a span of a route section and describes access flags of a street. * `open`: This part of the route is open to scooters. It is possible that new access attributes may be supported in the future. When encountering unknown access attributes, e.g., in the software parser, it is recommended to ignore them. type: array items: $ref: "#/components/schemas/AccessAttributes" names: description: Designated name for the span (e.g. a street name or a transport name) type: array items: $ref: "#/components/schemas/LocalizedString" routeNumbers: description: Designated route name or number of the span (e.g. 'M25') type: array items: $ref: "#/components/schemas/LocalizedRouteNumber" countryCode: $ref: "#/components/schemas/CountryCode" stateCode: $ref: "#/components/schemas/StateCode" functionalClass: $ref: "#/components/schemas/FunctionalClass" speedLimit: description: > **NOTE:** Attribute speedLimit is deprecated. Use maxSpeed instead. allOf: - $ref: "#/components/schemas/Speed" maxSpeed: $ref: "#/components/schemas/MaxSpeed" dynamicSpeedInfo: $ref: "#/components/schemas/DynamicSpeedInfo" segmentId: description: | **NOTE:** Attribute segmentId is deprecated. Use segmentRef instead. The directed topology segment id including prefix (e.g '+here:cm:segment:'). The id consists of two parts. * The direction ('+' or '-') * followed by the topology segment id (a unique identifier within the HERE platform catalogs). The direction specifies whether the route is using the segment in its canonical direction ('+' aka traveling along the geometry's direction), or against it ('-' aka traveling against the geometry's direction). type: string deprecated: true segmentRef: $ref: "#/components/schemas/SegmentRef" incidents: description: | A list of indices into the incident array of the parent section. References all incidents that apply to the span. This requires `incidents` to be specified as part of the `return` parameter. type: array items: type: integer gate: description: Indication that a gate is present at the end of this span. allOf: - $ref: "#/components/schemas/Gate" railwayCrossing: description: Indication that a railway crossing is present at the end of this span. allOf: - $ref: "#/components/schemas/RailwayCrossing" notices: description: | A list of indexes into the notices array of the parent section. References all notices that apply to the span. Depending on the notice type the notice might apply to the whole span, or only at the end of the span. Notices that only apply at the end of the span are: | Code | Description | | --------- | ------- | | violatedTurnRestriction | A restricted turn is performed at the end of the span | | violatedAvoidDifficultTurns | A difficult turn is performed at the end of the span | | violatedAvoidUTurns | A U-turn is performed at the end of the span | | violatedEmergencyGate | An emergency gate is crossed at the end of the span | **Note:** `difficultTurns` avoidance feature is deprecated and the corresponding notice will not be available in the future. type: array items: type: integer tollSystems: description: > The toll systems applicable to specific spans are described using an array of reference indexes. These indexes correspond to the `tollSystems` array in the enclosing section. Please note that toll information is not static and can vary based on factors such as transport-mode, time-of-day, etc. Therefore, the tolls applicable to a span may change in similar requests. type: array items: type: integer consumption: description: | The estimated net energy or fuel consumption along a span of the route is provided based on the `consumptionType` of the section. The value represents either net energy consumption or fuel consumption. Here are the units used for different vehicle types: * For electric vehicles (EVs): The energy consumption is measured in kilowatt-hours (kWh). This indicates the amount of energy consumed by the EV while traversing the specific span. * For fuel-based vehicles: Depending on the fuel type, the fuel consumption is measured in liters (for diesel, petrol vehicles, and vehicles using liquefied petroleum gas (LPG)), and in kilograms (for vehicles using compressed natural gas (CNG)). allOf: - $ref: "#/components/schemas/Consumption" baseDuration: description: | The duration of this span, specified in seconds, without taking time-aware information into account. Dynamic traffic information is not considered. The duration is calculated using average free-flow speeds based on historical traffic, without taking into account the current traffic conditions. The actual duration of the route section may be lower than `baseDuration` in some cases, e.g. if `trafficSpeed` is greater than `baseSpeed`. allOf: - $ref: "#/components/schemas/Duration" typicalDuration: description: | The duration of this span, specified in seconds, under typical traffic conditions. Dynamic traffic information is not considered. Instead, the duration is calculated using speeds that are typical for the given time of day/day of week, based on historical traffic data. **Note:** Will be the same as `baseDuration` if `traffic[mode]=disabled` is specified. allOf: - $ref: "#/components/schemas/Duration" intersectionIncidents: description: | A list of indexes in the incident array of the parent section. References all incidents that block movement through the intersection at the end of this span. This requires `incidents` to be specified in `return` and `spans` parameters. type: array items: type: integer routingZones: description: | A list of indexes into the routing zone array of the parent section. References all applicable routing zones to the span. type: array items: type: integer truckRoadTypes: description: A list of indexes into the truck road types array of the parent section. References all applicable truck road types to the span. type: array items: type: integer noThroughRestrictions: description: | A list of indexes into the `noThroughRestrictions` array of the parent section. References all `noThroughRestrictions` that apply to the span. type: array items: type: integer hovAttributes: description: > `hovAttributes` is applied to a span of a route section and indicates the presence of usable HOV lanes. allOf: - $ref: "#/components/schemas/HovAttributes" permittedNetworks: $ref: "#/components/schemas/PermittedNetworks" BoundingBoxAreaWithExceptions: description: | A bounding box defined by two longitudes and two latitudes. Can be expanded to include excepted areas that are excluded from the current bounding box area. type: object required: - type - north - south - west - east properties: type: type: string example: boundingBox north: description: Latitude in WGS-84 degrees of the northern boundary of the box. type: number minimum: -90 maximum: 90 example: 30.0 south: description: Latitude in WGS-84 degrees of the southern boundary of the box. type: number minimum: -90 maximum: 90 example: 30.0 east: description: Longitude in WGS-84 degrees of the eastern boundary of the box type: number minimum: -180 maximum: 180 example: 30.0 west: description: Longitude in WGS-84 degrees of the western boundary of the box. type: number minimum: -180 maximum: 180 example: 30.0 exceptions: type: array description: Optional list of areas to exclude from avoidance. items: $ref: "#/components/schemas/Area" minItems: 0 CorridorAreaWithExceptions: description: | A polyline with a specified radius in meters that defines an area. Can be expanded to include excepted areas that are excluded from the current corridor area. type: object required: - type - polyline - radius properties: type: type: string example: corridor polyline: type: array description: List of coordinates defining polyline. items: $ref: "#/components/schemas/Coordinate" minItems: 2 maxItems: 100 radius: type: integer description: The width in meters of the corridor determines the outline of the polygon. minimum: 1 maximum: 1000 exceptions: type: array description: Optional list of areas to exclude from avoidance. items: $ref: "#/components/schemas/Area" minItems: 0 EV: type: object description: | EV properties to be used for calculating consumption. There are two consumption models (`empirical`, `physical`). Set the `consumptionModel` parameter to choose which model to use. Required `empirical` model properties: * `freeFlowSpeedTable` Required `physical` model properties: * `driveEfficiency` * `recuperationEfficiency` When using the physical model, certain properties of the `vehicle` parameter are also required (see documentation for the `vehicle` parameter for more details): * `rollingResistanceCoefficient` * `airDragCoefficient` * `currentWeight` * `frontalArea` or combination of `width` and `height` The following `ev` properties are additionally required in order to calculate State-of-Charge along the route: * `initialCharge` * `maxCharge` Route reachability based on State-of-Charge will be evaluated for the following constraints, if additionally provided, * `minChargeAtDestination` * `minChargeAtFirstChargingStation` * `minChargeAtChargingStation` The following properties are additionally required in order to calculate charging at charging station waypoints (see documentation for `via` parameter) * `chargingCurve` **Notes**: * Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles. * EV parameters are not supported in combination with pedestrian, bicycle and network restricted truck `transportMode`. The following properties are additionally required for the router to automatically enhance the route with charging stops * `makeReachable` set to `true` * `chargingCurve` * `connectorTypes` * `maxChargeAfterChargingStation` oneOf: - $ref: "#/components/schemas/EVEmpiricalModel" - $ref: "#/components/schemas/EVPhysicalModel" properties: makeReachable: description: | When set to `true`, the router ensures that the calculated route is reachable within the given constraints (i.e., `minChargeAtChargingStation`, `minChargeAtDestination`). If necessary, charging stations are added to the route to achieve reachability. The following conditions must be met in order to enable this option: * `routingMode=fast` * `transportMode=car` or `transportMode=truck` (Beta) Support for this feature with `transportMode=truck` is currently in beta release, with the following limitations: * `avoid[features]=controlledAccessHighway` and `avoid[features]=tollRoad` in combination with `transportMode=truck` are supported only for `vehicle[grossWeight]` up to 7500 kg. * Trucks above 4200 kg are limited to following countries: - Germany - Netherlands - Belgium - Luxembourg - Denmark - Sweden - Switzerland - Austria - Liechtenstein This is mainly because the coverage of charging station data for trucks is limited outside of these countries. * For trucks up to 7500 kg the coverage of charging stations can be improved by including car charging stations by specifying `ev[allowCarChargingStations]=true`. This will also enable routing in countries other than the ones listed above. * Quality of the resulting routes and performance of the calculation is not guaranteed. **Note**: * When setting avoid[areas] option, the route calculation may fail if route has to take significant detour to avoid them. type: boolean preferredBrands: description: | Comma-separated list of charging station brand IDs. If `makeReachable` is set to `true`, then charging stations from the specified brands will be preferred as potential charging stops, even if this makes the total route duration (travel time plus charging time) longer (up to 15 minutes per charging stop). **Note**: * This parameter is deprecated. Use `preferredChargePointOperators` instead. type: string deprecated: true excludeChargingStations: description: | Comma-separated list of charging station IDs. ID values can be found in the Routing API response. See `ChargingStationPlace.id`. These charging stations are to be excluded during EV route calculations, even if no other charging stations are reachable. Adding this parameter might result in `noReachableChargingStationsFound` response. More information about charging stations can be found in the [EV routing](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/concepts/ev-routing.html) section of the Developer Guide. **Note**: * Maximum number of charging station IDs supported in one request is 10. type: string example: 276u33dc1rxhv-aGVyZS1ldjplY29tb3ZlbWVudDo5MTk5ODEzNjE,276u33dbk5e2h-aGVyZS1ldjplY29tb3ZlbWVudDo5NDMwNzkyMzA excludeChargePointOperators: description: | Comma-separated list of charge-point-operator IDs. ID values can be found in the Routing API response. The charging stations with these charge-point-operators IDs will be excluded during EV route calculation, even if no other charging stations are reachable. Adding this parameter might result in `noReachableChargingStationsFound` response. Details of Charge Point Operators are available from the [HERE EV Charge Points API v3](https://www.here.com/docs/category/ev-charge-points-api-v3) service. This [tutorial](https://www.here.com/docs/bundle/ev-charge-points-api-v3-developer-guide/page/topics/tutorial-metadata.html) has details on retrieving the list by country. **Note**: * Maximum number of IDs that can be excluded is limited to 10. type: string example: 1f608648-cca5-11ed-bb1e-42010aa40002,1f90fdf0-cca5-11ed-be23-42010aa40002 preferredChargePointOperators: description: | Comma-separated list of charge-point-operator IDs. If `makeReachable` is set to `true`, then charging station with one of provided charge-point-operators will be preferred as potential charging stop, even if this makes the total route duration (travel time plus charging time) longer (up to 15 minutes per charging stop). Details of Charge Point Operators are available from the [HERE EV Charge Points API v3](https://www.here.com/docs/category/ev-charge-points-api-v3) service. This [tutorial](https://www.here.com/docs/bundle/ev-charge-points-api-v3-developer-guide/page/topics/tutorial-metadata.html) has details on retrieving the list by country. **Note**: * Maximum number of IDs that can be preferred is limited to 10. type: string eMobilityServiceProviderPreferences: description: | Specifies a comma-separated list of E-Mobility Service Providers with their associated preference levels. These settings are used to prefer charging stations that support the specified E-Mobility Service Provider(s). Single E-Mobility Service Provider preference is comprised of semicolon-separated E-Mobility Service Provider ID and associated preference level. Details of eMobility Service Providers are available from the [HERE EV Charge Points API v3](https://www.here.com/docs/category/ev-charge-points-api-v3) service. This [tutorial](https://www.here.com/docs/bundle/ev-charge-points-api-v3-developer-guide/page/topics/tutorial-metadata.html) has details on retrieving the list by country. ## Format: `{emobility-service-provider-id};preference={preference-level}[,{emobility-service-provider-id};preference={preference-level}]...` ## Supported E-Mobility Service Provider IDs * A valid E-Mobility Service Provider ID * `default`: special value to be used in place of an id, to model default behavior when a station doesn't support any of the specified E-Mobility Service Providers. The preference level passed with `default` is applied to such stations. This value must be lowest of all preferences. If a `default` preference level is not specified, the value `exclude` is applied to the stations under this category. ## Supported preference levels *`high`: Stations that support E-Mobility Service Providers with `high` preference level are preferred over all other stations. At least one Provider must be specified with this level. * `medium`: Stations supporting E-Mobility Service Providers with `medium` preference level are considered only in case the vehicle cannot reach stations supporting Providers with `high` level. * `low`: Stations supporting only E-Mobility Service Providers with `low` preference level are preferred the least and such stations are considered only in case the vehicle cannot reach stations that support Providers with `high` or `medium` level. * `exclude`: Can only be used as the `default` preference level. When `exclude` is the `default`, stations that are not assigned a higher preference are never considered. **Note**: * Maximum number of IDs that can be preferred is limited to 10. type: string example: ev[eMobilityServiceProviderPreferences]=default;preference=low,79c4c474-19a2-11ee-880e-42010aa40002;preference=high,2d6754b0-cca5-11ed-ade1-42010aa40002;preference=medium allowCarChargingStations: description: | When set to `true`, and when `ev[makeReachable]=true` and `transportMode=truck`, charging at stations that are open for cars is allowed, even when the station is not explicitly open for trucks. This feature can be used, for example, for lighter trucks, like vans, which are small enough to access car chargers. This option is applicable only if `vehicle[grossWeight]` is set to less than 7500 kg. If `vehicle[grossWeight]` is not provided, `vehicle[currentWeight]` is considered instead. If the applicable weight exceeds 7500 kg, an error is returned. type: boolean default: false EVRouteHandle: type: object description: | EV properties to be used for calculating consumption. There are two consumption models (`empirical`, `physical`). Set the `consumptionModel` parameter to choose which model to use. Required `empirical` model properties: * `freeFlowSpeedTable` Required `physical` model properties: * `driveEfficiency` * `recuperationEfficiency` When using the physical model, certain properties of the `vehicle` parameter are also required (see documentation for the `vehicle` parameter for more details): * `rollingResistanceCoefficient` * `airDragCoefficient` * `currentWeight` * `frontalArea` or combination of `width` and `height` The following `ev` properties are additionally required in order to calculate State-of-Charge along the route: * `initialCharge` * `maxCharge` Route reachability based on State-of-Charge will be evaluated for the following constraints, if additionally provided, * `minChargeAtDestination` * `minChargeAtFirstChargingStation` * `minChargeAtChargingStation` The following properties are additionally required in order to calculate charging at charging station waypoints (see documentation for `via` parameter) * `chargingCurve` **Notes**: * Hybrid vehicles (EV + Other fuel types) are not supported. Consumption properties are not supported for combination of `ev` and `fuel` vehicles. * EV parameters are not supported in combination with pedestrian, bicycle and network restricted truck `transportMode`. oneOf: - $ref: "#/components/schemas/EVEmpiricalModel" - $ref: "#/components/schemas/EVPhysicalModel" properties: eMobilityServiceProviderPreferences: description: | Specifies a comma-separated list of E-Mobility Service Providers with their associated preference levels. These settings are used to prefer or exclude charging stations supporting specified set of E-Mobility Service Provider(s). Single E-Mobility Service Provider preference is comprised of semicolon-separated E-Mobility Service Provider ID and associated preference level. Details of eMobility Service Providers are available from the [HERE EV Charge Points API v3](https://www.here.com/docs/category/ev-charge-points-api-v3) service. This [tutorial](https://www.here.com/docs/bundle/ev-charge-points-api-v3-developer-guide/page/topics/tutorial-metadata.html) has details on retrieving the list by country. ## Format: `{emobility-service-provider-id;preference=preference-level[,emobility-service-provider-id;preference=preference-level]...}` ## Supported E-Mobility Service Provider IDs * A valid E-Mobility Service Provider ID * `default`: special value to be used in place of id, to model default behavior when a station doesn't support any of the provided E-Mobility Service Providers. The preference level passed with `default` is applied to such stations. If not specified then preference level `exclude` is applied, which means that stations not supporting any of the provided E-Mobility Service Providers are not considered for charging stop. Check example section for the usage. ## Supported preference levels * `high`: specifies that E-Mobility Service Provider ID passed along is preferred the most. Stations supporting E-Mobility Service Providers with high preference level are chosen over all other stations. * `medium`: Stations supporting E-Mobility Service Providers in this preference setting are taken into consideration only in case the vehicle cannot reach stations supporting E-Mobility Service Providers with high preference. * `low`: Stations supporting only low preference level E-Mobility Service Providers are preferred the least and such stations are chosen only in case the vehicle cannot reach stations that support E-Mobility Service Providers with high or medium preference. * `exclude`: stations that only support E-Mobility Service Providers with this preference level are never selected as a charging stop. **Notes**: * Maximum number of E-Mobility Service Providers in preferences is limited to 10 * In routeHandle request this affects only value of matchingEMobilityServiceProviders in the response. The route is not affected in any way. For convenience the format of the parameter is same as in route calculation request. type: string example: ev[eMobilityServiceProviderPreferences]=default;preference=low,79c4c474-19a2-11ee-880e-42010aa40002;preference=high,2d6754b0-cca5-11ed-ade1-42010aa40002;preference=medium EncodedCorridorAreaWithExceptions: description: | A polygon defined as a [Flexible Polyline](https://github.com/heremaps/flexible-polyline) encoded string and with a specified radius that defines an area. Can be expanded to include excepted areas that are excluded from the current corridor area. type: object required: - type - polyline - radius properties: type: type: string example: encodedCorridor polyline: type: string description: | [Flexible Polyline](https://github.com/heremaps/flexible-polyline) that defines a supporting structure for a corridor. Notes: * Support only 2D polyline (without `elevation` specified). * Minimum count of vertices in polyline is 2. * Maximum count of vertices in polyline is 100. example: BFoz5xJ67i1B1B7PzIhaxL7Y radius: type: integer description: The width in meters of the corridor determines the outline of the polygon. minimum: 1 maximum: 1000 exceptions: type: array description: Optional list of areas to exclude from avoidance. items: $ref: "#/components/schemas/Area" minItems: 0 EncodedPolygonAreaWithExceptions: description: | A polygon defined as a [Flexible Polyline](https://github.com/heremaps/flexible-polyline) encoded string. Can be expanded to include excepted areas that are excluded from the current polygon area. type: object required: - type - outer properties: type: type: string example: encodedPolygon outer: type: string description: | [Flexible Polyline](https://github.com/heremaps/flexible-polyline) that defines the outline of the polygon. Notes: * Support only 2D polyline (without `elevation` specified). * Minimum count of vertices in polygon is 3. * Maximum count of vertices in polygon is 16. example: BFoz5xJ67i1B1B7PzIhaxL7Y exceptions: type: array description: Optional list of areas to exclude from avoidance. items: $ref: "#/components/schemas/Area" minItems: 0 Fare: type: object description: | "`Fare` type contains information about a single fare or ticket needed for this section of the route." **NOTE**: Fares information support will be available soon. properties: id: description: Unique Fare id. Used to deduplicate fares that apply to multiple sections type: string example: carrideco-1753076078174759852-1749341260512683512 name: description: Name of a fare type: string example: Carride Company price: $ref: "#/components/schemas/FarePrice" convertedPrice: $ref: "#/components/schemas/FarePrice" reason: default: ride description: | Extensible enum: `ride` `parking` `toll` `...` Reason for the cost described in this `Fare` element. type: string x-extensible-enum: - ride - parking - toll paymentMethods: description: > Specifies the payment methods for which this fare is valid. type: array items: $ref: "#/components/schemas/PaymentMethod" minItems: 1 uniqueItems: true pass: $ref: "#/components/schemas/FarePass" applicableTimes: description: | Specifies the time domain when this fare is valid. If this field is missing, it means the fare is always valid. For a detailed description of the Time Domain specification and usage in routing services, please refer to the documentation available in the [Time Domain](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/concepts/time-domain.html) page. type: string allOf: - $ref: "#/components/schemas/TimeDomain" transponders: description: List of transponder systems for which this fare is applicable. Only available for transponder payment method type: array items: $ref: "#/components/schemas/TransponderSystem" required: - id - name - price ParkingLotPlace: type: object description: A parking lot properties: name: description: Location name type: string waypoint: description: | If present, this place corresponds to the `via` in the request with the same index. Example: If the request contains `via=&via=` * the place corresponding to `` in the response will have `waypoint: 0` * the place corresponding to `` in the response will have `waypoint: 1`. Notes: * `waypoint` is not present for `origin` and `destination` places. `origin` and `destination` waypoints can be trivially identified in the response as the `departure` of the first section and the `arrival` of the final section, respectively. * `waypoint` is not present for any stops that are added automatically by the router. type: integer minimum: 0 type: description: | Place type. Each place type can have extra attributes. **NOTE:** The list of possible place types could be extended in the future. The client application is expected to handle such a case gracefully. type: string enum: - parkingLot location: description: | The position of this location This position was used in route calculation. It may be different to the original position provided in the request. allOf: - $ref: "#/components/schemas/Location" originalLocation: description: If present, the original position of this location provided in the request. allOf: - $ref: "#/components/schemas/Location" displayLocation: description: If present, the display position of this location provided in the request or that of the auto-added waypoint. This is different from the originalLocation and location which are generally expected to be on the navigable road network, i.e., on segments. This coordinate, for example, is the location of the POI as shown by the pin on a map. allOf: - $ref: "#/components/schemas/Location" sideOfStreet: description: | Location of the waypoint or destination, relative to the driving direction on the street/road. **NOTE:** Based on the original waypoint position and `sideOfStreetHint` waypoint property. - If `sideOfStreetHint` property is specified, it takes priority in determining the side of street in the response. - Nothing is returned in the response in case the side of street is ambiguous (too close to the street), or if the position is too far from the street. * 'left`: The left side of the street in relation to the driving direction of the route. * `right`: The right side of the street in relation to the driving direction of the route. type: string enum: - left - right id: description: Identifier of this parking lot type: string attributes: type: array description: Attributes of a parking lot. items: $ref: "#/components/schemas/ParkingLotPlaceType" rates: description: > List of possible parking rates for this facility. Different rates can apply depending on the day, time of the day or parking duration. type: array items: $ref: "#/components/schemas/TimeRestrictedPrice" required: - type - location example: type: place location: lat: 50.339167 lng: 18.93 PolygonAreaWithExceptions: description: | A polygon defined as a list of coordinates. Self-intersecting polygons are not supported. Can be expanded to include excepted areas that are excluded from the current polygon area. type: object required: - type - outer properties: type: type: string example: polygon outer: type: array description: List of coordinates defining the outline of the polygon. items: $ref: "#/components/schemas/Coordinate" minItems: 3 maxItems: 100 exceptions: type: array description: Optional list of areas to exclude from avoidance. items: $ref: "#/components/schemas/Area" minItems: 0 SignpostInfo: type: object description: > Signpost information attached to an offset action. properties: labels: description: > Part of a signpost representing particular direction or destination. type: array items: $ref: "#/components/schemas/SignpostLabel" required: - labels example: $ref: "#/components/examples/routeResponseManeuverSignpostInfoExample" TollCountrySummary: type: object properties: countryCode: $ref: "#/components/schemas/CountryCode" price: $ref: "#/components/schemas/FarePrice" TollSystemSummary: type: object properties: tollSystem: description: > Reference index into the `tollSystems` array of the containing section. type: integer price: $ref: "#/components/schemas/FarePrice" TransitDeparture: type: object description: Transit departure properties: time: description: Expected time of departure of the event. Format is **RFC 3339**, section 5.6 as defined by `date-time`. allOf: - $ref: "#/components/schemas/Time" place: $ref: "#/components/schemas/TransitDeparturePlace" charge: description: | Vehicle battery charge, specified in kilowatt-hours (kWh). **NOTE:** This is only returned in ferry sections when a vehicle route requests battery consumption. type: number required: - place TransitNoticeDetail: description: Details attached to notices in vehicle section. oneOf: - $ref: "#/components/schemas/VehicleRestriction" - $ref: "#/components/schemas/ViolatedTransportMode" discriminator: propertyName: type mapping: restriction: "#/components/schemas/VehicleRestriction" violatedTransportMode: "#/components/schemas/ViolatedTransportMode" VehicleNoticeDetail: description: Details attached to notices in vehicle section. oneOf: - $ref: "#/components/schemas/VehicleRestriction" - $ref: "#/components/schemas/ViolatedTransportMode" - $ref: "#/components/schemas/ViolatedTruckRoadType" - $ref: "#/components/schemas/ViolatedZoneReference" - $ref: "#/components/schemas/ViolatedChargingStationOpeningHours" discriminator: propertyName: type mapping: restriction: "#/components/schemas/VehicleRestriction" violatedTransportMode: "#/components/schemas/ViolatedTransportMode" truckRoadType: "#/components/schemas/ViolatedTruckRoadType" zoneReference: "#/components/schemas/ViolatedZoneReference" violatedOpeningHours: "#/components/schemas/ViolatedChargingStationOpeningHours" AreaPost: oneOf: - $ref: "#/components/schemas/BoundingBoxAreaWithExceptions" - $ref: "#/components/schemas/PolygonAreaWithExceptions" - $ref: "#/components/schemas/EncodedPolygonAreaWithExceptions" - $ref: "#/components/schemas/CorridorAreaWithExceptions" - $ref: "#/components/schemas/EncodedCorridorAreaWithExceptions" discriminator: propertyName: type mapping: boundingBox: "#/components/schemas/BoundingBoxAreaWithExceptions" polygon: "#/components/schemas/PolygonAreaWithExceptions" encodedPolygon: "#/components/schemas/EncodedPolygonAreaWithExceptions" corridor: "#/components/schemas/CorridorAreaWithExceptions" encodedCorridor: "#/components/schemas/EncodedCorridorAreaWithExceptions" description: | Defines an explicit area to avoid/exclude when calculating the routes. Area specified by boundingBoxes or polygons (as encoded polyline or as list of geopoints) or corridor area. Can be expanded to include excepted areas that are excluded from the current avoidance. Notes: * Maximum count of avoided and excluded polygons and corridors is 20. * Maximum total count of avoided and excluded bounding boxes, polygons, corridors, including exceptions, is 250. OffsetAction: description: > An action to be performed at or during a specific portion of a section. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" required: - action - duration PedestrianPlace: description: Place used in pedestrian routing oneOf: - $ref: "#/components/schemas/Place" - $ref: "#/components/schemas/StationPlace" - $ref: "#/components/schemas/AccessPointPlace" - $ref: "#/components/schemas/ParkingLotPlace" - $ref: "#/components/schemas/ChargingStationPlace" - $ref: "#/components/schemas/DockingStationPlace" discriminator: propertyName: type mapping: place: "#/components/schemas/Place" station: "#/components/schemas/StationPlace" accessPoint: "#/components/schemas/AccessPointPlace" parkingLot: "#/components/schemas/ParkingLotPlace" chargingStation: "#/components/schemas/ChargingStationPlace" dockingStation: "#/components/schemas/DockingStationPlace" TollFare: description: > Contains information about a single toll fare needed for this section of the route. type: object properties: id: description: Unique Fare id. Used to deduplicate fares that apply to multiple sections type: string example: carrideco-1753076078174759852-1749341260512683512 name: description: | Name of a toll fare. **NOTE** This property is deprecated. A toll fare represents one of the various fares linked to the route section toll cost(`TollCost`) and for a toll cost associated with a single toll system the fare name is same as the toll system name. But for a toll cost associated with multiple toll systems this parameter will return the name of only one toll system. To get the names of all the toll systems associated with a toll cost use `TollCost.tollSystems`. type: string example: Carride Company deprecated: true price: $ref: "#/components/schemas/FarePrice" convertedPrice: $ref: "#/components/schemas/FarePrice" reason: default: ride description: | Extensible enum: `ride` `parking` `toll` `...` Reason for the cost described in this `Fare` element. type: string x-extensible-enum: - ride - parking - toll paymentMethods: description: > Specifies the payment methods for which this fare is valid. type: array items: $ref: "#/components/schemas/PaymentMethod" minItems: 1 uniqueItems: true pass: $ref: "#/components/schemas/FarePass" applicableTimes: description: | Specifies the time domain when this fare is valid. If this field is missing, it means the fare is always valid. For a detailed description of the Time Domain specification and usage in routing services, please refer to the documentation available in the [Time Domain](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/concepts/time-domain.html) page. type: string allOf: - $ref: "#/components/schemas/TimeDomain" transponders: description: List of transponder systems for which this fare is applicable. Only available for transponder payment method type: array items: $ref: "#/components/schemas/TransponderSystem" required: - id - name - price TollSummary: type: object description: > The summary of the tolls grouped by criteria (total, per system, per country). properties: total: description: > Represents the overall sum of toll fees for the entire route or section. It provides the aggregated amount of toll charges without further breakdown. allOf: - $ref: "#/components/schemas/FarePrice" totalBySystem: description: > Categorizes toll fees based on the different toll systems applicable along the route or section. Each toll system has its own set of charges and payment rules. The summary provides a breakdown of toll costs for each individual toll system encountered. type: array items: $ref: "#/components/schemas/TollSystemSummary" totalByCountry: description: > Groups toll fees based on the countries traversed during the route or section. It provides a breakdown of toll charges specific to each country. type: array items: $ref: "#/components/schemas/TollCountrySummary" TransitNotice: type: object description: A notice contains important notifications. properties: title: type: string description: Human-readable notice description. example: No schedule code: type: string description: | Extensible enum: `noSchedule` `noIntermediate` `unwantedMode` `scheduledTimes` `simplePolyline` `violatedAvoidFerry` `violatedAvoidRailFerry` `violatedBlockedRoad` `violatedVehicleRestriction` `seasonalClosure` `currentWeightNegative` `currentWeightExceedsLimit` `travelTimeExceedsDriverWorkHours` `vehicleRestriction` `...` Currently known codes (non-exhaustive: this list could be extended for new situations): | Code | Description | Severity | | --------- | ------- | ------- | | noSchedule | A timetable schedule is not available for the transit line in this section, and only the run frequency is available. As a result, departure/arrival times are approximated | info | | noIntermediate | Information about intermediate stops is not available for this transit line | info | | unwantedMode | This section contains a transport mode that was explicitly disabled. Mode filtering is not available in this area | info | | scheduledTimes | The times returned on this section are the scheduled times even though delay information are available | info | | simplePolyline | An accurate polyline is not available for this section. The returned polyline has been generated from departure and arrival places | info | | violatedAvoidFerry | Route did not manage to avoid user preference | critical | | violatedAvoidRailFerry | Route did not manage to avoid user preference | critical | | violatedBlockedRoad | Route uses form of transit that are blocked due to `avoid[areas]` or `avoid[segments]` | critical | | violatedVehicleRestriction | Route uses form of transit which is forbidden for the given vehicle profile | critical | | seasonalClosure | Route goes through seasonal closure | info | | currentWeightNegative | `vehicle[currentWeight]` is negative after applying `currentWeightChange` at a via waypoint. | critical | | currentWeightExceedsLimit | `vehicle[currentWeight]` exceeds limit for given `transportMode` | critical | | travelTimeExceedsDriverWorkHours | The route travelTime exceeds drive time sequence provided in `driver[schedule]` parameter | critical | The codes listed below can appear as info notices when the request contains `return=potentialTimeDependentViolations`. The resulting info notices are not violations on the current route but could be violations if the arrival time at these restrictions differs from the calculated time. For example, an info notice for a `vehicleRestriction` could indicate that your vehicle is not currently violating any restriction but, If the journey is delayed by an hour, the vehicle would not be allowed on part of the route because there is a time-dependent restriction active at that time. Codes for potential time-dependent restriction violations are (non-exhaustive: can be extended for new situations): | Code | Description | Severity | | --------- | ------- | ------- | | vehicleRestriction | Route potentially uses form of transit which is forbidden for the given vehicle profile | info | example: noSchedule x-extensible-enum: - noSchedule - noIntermediate - unwantedMode - scheduledTimes - simplePolyline - violatedAvoidFerry - violatedAvoidRailFerry - violatedBlockedRoad - violatedVehicleRestriction - seasonalClosure - currentWeightNegative - currentWeightExceedsLimit - travelTimeExceedsDriverWorkHours - vehicleRestriction severity: $ref: "#/components/schemas/NoticeSeverity" details: type: array description: Additional details about the notice items: $ref: "#/components/schemas/TransitNoticeDetail" required: - code TransitStop: type: object description: A transit stop of the route properties: departure: $ref: "#/components/schemas/TransitDeparture" duration: description: Stop duration. If not set the vehicle departs as soon as people are on board. type: integer example: 198 default: 0 transport: description: | Information about transit transport changes. If set, the vehicle changes its transit transport information, like name, color, headsign etc, on this stop. allOf: - $ref: "#/components/schemas/TransitTransport" offset: description: The position of the stop on the polyline. type: integer attributes: description: > **NOTE:** As it is possible that new attributes are supported in the future, unknown attributes should be ignored. type: array items: $ref: "#/components/schemas/TransitStopAttributes" required: - departure VehicleNotice: example: $ref: "#/components/examples/noticeWithRestrictionsExample" type: object description: A notice contains important notifications. properties: title: type: string description: Human-readable notice description. example: Violated avoid toll road code: type: string description: | Extensible enum: `violatedAvoidControlledAccessHighway` `violatedAvoidTollRoad` `violatedAvoidTunnel` `violatedAvoidDirtRoad` `violatedBlockedRoad` `violatedStartDirection` `violatedCarpool` `violatedTurnRestriction` `violatedVehicleRestriction` `violatedZoneRestriction` `violatedAvoidDifficultTurns` `violatedAvoidUTurns` `violatedEmergencyGate` `violatedAvoidSeasonalClosure` `violatedAvoidTollTransponder` `violatedAvoidTruckRoadType` `seasonalClosure` `tollTransponder` `mlDurationUnavailable` `simplePolyline` `tollsDataUnavailable` `tollsDataTemporarilyUnavailable` `currencyUnsupported` `chargingStopNotNeeded` `violatedChargingStationOpeningHours` `violatedMinChargeAtDestination` `violatedMinChargeAtFirstChargingStation` `violatedMinChargeAtChargingStation` `outOfCharge` `currentWeightNegative` `currentWeightExceedsLimit` `travelTimeExceedsDriverWorkHours` `carpool` `turnRestriction` `vehicleRestriction` `zoneRestriction` `avoidTollRoad` `targetChargeNotAchievable` `violatedChargingStationTransportMode` `violatedChargingStationVehicleRestrictions` `...` Currently known codes (non-exhaustive: this list could be extended for new situations): | Code | Description | Severity | | --------- | ------- | ------- | | violatedAvoidControlledAccessHighway | Route did not manage to avoid user preference. | critical | | violatedAvoidTollRoad | Route did not manage to avoid user preference. | critical | | violatedAvoidTunnel | Route did not manage to avoid user preference. | critical | | violatedAvoidDirtRoad | Route did not manage to avoid user preference. | critical | | violatedBlockedRoad | Route uses roads that are blocked, due to traffic incidents, `avoid[areas]`, or `avoid[segments]`. | critical | | violatedStartDirection | The starting direction of the route differs from the value set in the `course` parameter of the waypoint. | critical | | violatedCarpool | Route did not manage to avoid user preference. | critical | | violatedTurnRestriction | Route requires performing a time-restricted maneuver at a time when it's prohibited. | critical | | violatedVehicleRestriction | Route uses a road which is forbidden for the given vehicle profile. | critical | | violatedZoneRestriction | Route uses a road in a user-specified avoidance zone, such as the London Low Emission Zone. | critical | | violatedAvoidDifficultTurns | Route did not manage to avoid user preference.| critical | | violatedAvoidUTurns | Route did not manage to avoid user preference. | critical | | violatedEmergencyGate | Route goes through an emergency gate. | critical | | violatedAvoidSeasonalClosure | Route did not manage to avoid a seasonal closure.| critical | | violatedAvoidTollTransponder | Route did not manage to avoid a toll booth that requires a transponder. | critical | | violatedAvoidTruckRoadType | Route did not manage to avoid truck road type. | critical | | seasonalClosure | Route goes through a seasonal closure. | info | | tollTransponder | Route goes through a toll booth that requires a transponder. | info | | mlDurationUnavailable | Machine learning duration was requested but is not available for this section. | info | | simplePolyline | An accurate polyline is not available for this section. The returned polyline has been generated from departure and arrival places. | info | | tollsDataUnavailable | Tolls data was requested but could not be calculated for this section. | info | | tollsDataTemporarilyUnavailable | Tolls data was requested but is temporarily unavailable. | info | | currencyUnsupported | Provided currency is unsupported. | info | | chargingStopNotNeeded | A charging stop was planned at the destination of this section, but it is no longer needed (getRoutesByHandle requests only). | info | | violatedChargingStationOpeningHours | A charging stop was planned at the destination of this section, but the `postActions` would not be completed within the opening hours. | critical | | violatedMinChargeAtDestination | The `arrival.charge` at the destination is lower than the `minChargeAtDestination`. | info | | violatedMinChargeAtFirstChargingStation | The `arrival.charge` on the first charging stop is lower than the `minChargeAtFirstChargingStation`. | info | | violatedMinChargeAtChargingStation | The `arrival.charge` on a charging station stop is lower than the `minChargeAtChargingStation`. This can be on the first charging stop if `minChargeAtFirstChargingStation` is not specified. | info | | outOfCharge | The charge of the EV drops below 0 along the section. | info | | currentWeightNegative | `vehicle[currentWeight]` is negative after applying `currentWeightChange` at a via waypoint. | critical | | currentWeightExceedsLimit | `vehicle[currentWeight]` exceeds limit for given `transportMode`. | critical | | travelTimeExceedsDriverWorkHours | The route travelTime exceeds drive time sequence provided in `driver[schedule]` parameter. | critical | | targetChargeNotAchievable | `ev[MaxChargingDuration]` too short to achieve required charging level. | info | | violatedChargingStationTransportMode | Provided `transportMode` is not permitted at the charging station | critical | | violatedChargingStationVehicleRestrictions | One or more vehicle attributes exceed the permitted vehicle limits of the charging station | critical | The codes listed below can appear as info notices when the request contains `return=potentialTimeDependentViolations`. The resulting info notices are not violations on the current route but could be violations if the arrival time at these restrictions differs from the calculated time. For example, an info notice for a `vehicleRestriction` could indicate that while your vehicle is not currently violating any restriction. However, if the journey is delayed by an hour the vehicle would not be allowed on part of the route because there is a time-dependent restriction active at that time. Codes for potential time dependent restriction violations are (non-exhaustive: can be extended for new situations): | Code | Description | Severity | | --------- | ------- | ------- | | carpool | Route potentially uses a carpool only road when not allowed. | info | | turnRestriction | Route potentially uses a time-restricted turn when not allowed. | info | | vehicleRestriction | Route potentially uses a road that is forbidden for the given vehicle profile. | info | | zoneRestriction | Route uses a road that is potentially part of restricted routing zones. | info | | avoidTollRoad | Route uses a road that potentially is a toll road. **Note:** This is not currently supported and will not be returned, but the enum value is retained for backwards-compatibility purposes. | info | example: violatedAvoidTollRoad x-extensible-enum: - violatedAvoidControlledAccessHighway - violatedAvoidTollRoad - violatedAvoidTunnel - violatedAvoidDirtRoad - violatedBlockedRoad - violatedStartDirection - violatedCarpool - violatedTurnRestriction - violatedVehicleRestriction - violatedZoneRestriction - violatedAvoidDifficultTurns - violatedAvoidUTurns - violatedEmergencyGate - violatedAvoidSeasonalClosure - violatedAvoidTollTransponder - violatedAvoidTruckRoadType - seasonalClosure - tollTransponder - mlDurationUnavailable - simplePolyline - tollsDataUnavailable - tollsDataTemporarilyUnavailable - currencyUnsupported - chargingStopNotNeeded - violatedChargingStationOpeningHours - violatedMinChargeAtDestination - violatedMinChargeAtFirstChargingStation - violatedMinChargeAtChargingStation - outOfCharge - currentWeightNegative - currentWeightExceedsLimit - travelTimeExceedsDriverWorkHours - carpool - turnRestriction - vehicleRestriction - zoneRestriction - avoidTollRoad - targetChargeNotAchievable - violatedChargingStationTransportMode - violatedChargingStationVehicleRestrictions severity: $ref: "#/components/schemas/NoticeSeverity" details: type: array description: Additional details about the notice items: $ref: "#/components/schemas/VehicleNoticeDetail" required: - code VehiclePlace: description: Place used in vehicle routing. oneOf: - $ref: "#/components/schemas/Place" - $ref: "#/components/schemas/StationPlace" - $ref: "#/components/schemas/AccessPointPlace" - $ref: "#/components/schemas/ParkingLotPlace" - $ref: "#/components/schemas/ChargingStationPlace" - $ref: "#/components/schemas/DockingStationPlace" discriminator: propertyName: type mapping: place: "#/components/schemas/Place" station: "#/components/schemas/StationPlace" accessPoint: "#/components/schemas/AccessPointPlace" parkingLot: "#/components/schemas/ParkingLotPlace" chargingStation: "#/components/schemas/ChargingStationPlace" dockingStation: "#/components/schemas/DockingStationPlace" AreasPost: description: | List of user-defined areas that routes should avoid/exclude going through. Notes: * Maximum count of avoided and excluded polygons and corridors is 20. * Maximum total count of avoided and excluded bounding boxes, polygons, corridors, including exceptions, is 250. type: array maxItems: 250 items: $ref: "#/components/schemas/AreaPost" example: areas: - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR - type: boundingBox west: 1.1 south: 2.2 east: 3.3 north: 4.4 exceptions: - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR ArriveAction: description: > An arrival maneuver to be performed at or during a specific portion of a section. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - arrive duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" required: - action - duration ContinueAction: description: > A continue operation to be performed at or during a specific portion of a section. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - continue duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" intersectionName: description: Name of the intersection where the turn takes place, if available. type: array items: $ref: "#/components/schemas/LocalizedString" required: - action - duration DepartAction: description: > A departure maneuver to be performed at or during a specific portion of a section. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - depart duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" required: - action - duration PedestrianDeparture: type: object description: Departure of pedestrian properties: time: description: Expected time of departure of the event. Format is **RFC 3339**, section 5.6 as defined by `date-time`. allOf: - $ref: "#/components/schemas/Time" place: $ref: "#/components/schemas/PedestrianPlace" required: - place TollCost: type: object description: > Information for a single toll payment. properties: tollSystem: description: | The name of the toll system collecting the toll. **NOTE** This property is deprecated. For a toll cost associated with multiple toll systems this parameter will return only one toll system name. Use `tollSystems` property to get all the systems. type: string deprecated: true tollSystemRef: description: | Reference index of the affected toll system in the `tollSystems` array. **NOTE** This property is deprecated. For a toll cost associated with multiple systems this parameter will return only one system. Use `tollSystems` property to get all the systems. type: integer deprecated: true tollSystems: description: | Reference indices of the associated toll system(s). These indices correspond to the `tollSystems` array in the enclosing section. A toll cost may be associated with multiple systems. For details, refer to this Developer Guide [tutorial](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/tutorials/tolls-multiple-systems.html). type: array items: type: integer countryCode: $ref: "#/components/schemas/CountryCode" tollCollectionLocations: description: > The toll places represent the location(s) where the fare is collected. For tolls measured by distance, both the entry and exit toll locations are returned. It's important to note that while both entry and exit toll locations are provided, the payment is typically made at only one of these places, which is usually the exit toll location. type: array items: $ref: "#/components/schemas/TollCollectionLocation" fares: description: | The list of possible `Fare`s represents the various fares that may apply for the tolls. The specific fares can vary based on factors such as the time of day, payment method, and vehicle characteristics. **Note**: The router presents the relevant fare options based on the original query, on a best effort basis. The `Fare` object for tolls will always be of type `SinglePrice`, indicating a single price for the toll. type: array items: $ref: "#/components/schemas/TollFare" required: - tollSystem - tollSystemRef - fares TurnAction: description: > An action in which a direction change is made. type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - turn - ramp - roundaboutPass - roundaboutEnter - uTurn - enterHighway - keep - continueHighway duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" intersectionName: description: Name of the intersection where the turn takes place, if available. type: array items: $ref: "#/components/schemas/LocalizedString" direction: description: > Note that the direction of a turn has a special meaning for "roundaboutEnter": It indicates the direction in which one drives around the roundabout (left for left-hand-side driving countries, right for right-hand-side ones). allOf: - $ref: "#/components/schemas/TurnActionDirection" severity: $ref: "#/components/schemas/TurnActionSeverity" turnAngle: $ref: "#/components/schemas/TurnAngle" required: - action - duration VehicleDeparture: type: object description: Describe a departure or arrival location and time. properties: time: description: Expected time of departure of the event. Format is **RFC 3339**, section 5.6 as defined by `date-time`. allOf: - $ref: "#/components/schemas/Time" place: $ref: "#/components/schemas/VehiclePlace" charge: description: Vehicle battery charge, specified in kilowatt-hours (kWh). type: number required: - place VehicleSummary: type: object description: Total value of key attributes for a route section. properties: duration: $ref: "#/components/schemas/Duration" length: $ref: "#/components/schemas/Distance" baseDuration: description: | The duration, specified in seconds, without taking time-aware information into account. Dynamic traffic information is not considered. The duration is calculated using average free-flow speeds based on historical traffic, without taking into account the current traffic conditions. The actual duration of the route section may be lower than `baseDuration` in some cases, e.g. if `trafficSpeed` is greater than `baseSpeed`. allOf: - $ref: "#/components/schemas/Duration" consumption: description: | The estimated net energy or fuel consumption along a span of the route is provided based on the `consumptionType` of the section. The value represents either net energy consumption or fuel consumption. Here are the units used for different vehicle types: * For electric vehicles (EVs): The energy consumption is measured in kilowatt-hours (kWh). This indicates the amount of energy consumed by the EV while traversing the specific span. * For fuel-based vehicles: Depending on the fuel type, the fuel consumption is measured in liters (for diesel, petrol vehicles, and vehicles using liquefied petroleum gas (LPG)), and in kilograms (for vehicles using compressed natural gas (CNG)). allOf: - $ref: "#/components/schemas/Consumption" typicalDuration: description: | The duration, specified in seconds, under typical traffic conditions. Dynamic traffic information is not considered. Instead, the duration is calculated using speeds that are typical for the given time of day/day of week, based on historical traffic data. allOf: - $ref: "#/components/schemas/Duration" mlDuration: description: | The duration, specified in seconds, based on the region-specific machine learning model. `mlDuration` is calculated for each route section of the route. If a section of the route is not supported, `mlDuration` will not be present in the summary of that section. Instead, a notice with the reason will be provided. `mlDuration` is only calculated for the entire section. The sum of span durations is not equivalent to `mlDuration`. **Limitations:** * Only valid for `transportMode=car` or `transportMode=taxi`. * Only valid for `traffic[mode]=default`. * Invalid for `departureTime=any`. * Invalid when `arrivalTime` is specified. allOf: - $ref: "#/components/schemas/Duration" tolls: description: | The summary of tolls to be paid for this section of the route, grouped according to the criteria specified in the `tolls` parameter. This element is included in the response if at least one grouping criteria was requested. allOf: - $ref: "#/components/schemas/TollSummary" co2Emission: description: | Estimation of the carbon dioxide emission for the given route section. Unit is kilograms with precision to three decimal places. Definitions: * Total Emission (Well-to-Wheel) = Production Emission (Well-to-Tank) + Operational Emission (Tank-to-Wheel) * CO2 Equivalent Emission (CO2e for CH4, N2O, etc.) = Gas Emission * Global Warming Potential (GWP) **Notes:** * This value represents the operational (tank-to-wheel) carbon dioxide emission. * This value represents only the carbon dioxide emission and does not represent the carbon dioxide equivalent emission for other gases or particulates. * This value is calculated based on `fuel[type]`, the `consumption` for the given route section and the `fuel emission factor` provided in this document. The calculation does not adhere to any other standards (e.g. ISO 14083, etc.). * `co2Emission` is only returned for `fuel` based vehicle. Emission factors for different fuel types: * `diesel`: Diesel. Emission is 2.697 kg of CO2 from each combusted liter of fuel. * `petrol`: Petrol/gasoline. Emission is 2.319 kg of CO2 from each combusted liter of fuel. * `lpg`: LPG. Emission is 1.5 kg of CO2 from each combusted liter of fuel. * `cng`: CNG. Emission is 2.529 kg of CO2 from each combusted kilogram of fuel. * `lng`: LNG. Emission is 1.189 kg of CO2 from each combusted liter of fuel. * `ethanol`: Ethanol (100%). Emission is 1.519 kg of CO2 from each combusted liter of fuel. * `propane`: Propane. Emission is 1.511 kg of CO2 from each combusted liter of fuel. * `hydrogen`: Hydrogen (emission for production is not considered). Emission is 0 kg of CO2 from each combusted liter of fuel. Source for Emission Factors: * [Table(2) Mobile Combustion (CO2) - Emission Factors for Greenhouse Gas Inventories (2024): EPA GHG Emission Factors Hub](https://www.epa.gov/climateleadership/ghg-emission-factors-hub) * Some data may be from a previous year if data is not available for 2024. allOf: - $ref: "#/components/schemas/CO2Emission" required: - duration - length VehicleTravelSummary: type: object description: Total value of key attributes for a route section. properties: duration: $ref: "#/components/schemas/Duration" length: $ref: "#/components/schemas/Distance" baseDuration: description: | The duration, specified in seconds, without taking time-aware information into account. Dynamic traffic information is not considered. The duration is calculated using average free-flow speeds based on historical traffic, without taking into account the current traffic conditions. The actual duration of the route section may be lower than `baseDuration` in some cases, e.g. if `trafficSpeed` is greater than `baseSpeed`. allOf: - $ref: "#/components/schemas/Duration" consumption: description: | The estimated net energy or fuel consumption for the travel only. It is based on the `consumptionType` of the section. The value represents either net energy consumption or fuel consumption. Here are the units used for different vehicle types: * For electric vehicles (EVs): The energy consumption is measured in kilowatt-hours (kWh) and does not include any charging at stations. * For fuel-based vehicles: Depending on the fuel type, the fuel consumption is measured in liters (for diesel, petrol vehicles, and vehicles using liquefied petroleum gas (LPG)), and in kilograms (for vehicles using compressed natural gas (CNG)). allOf: - $ref: "#/components/schemas/Consumption" typicalDuration: description: | The duration, specified in seconds, under typical traffic conditions. Dynamic traffic information is not considered. Instead, the duration is calculated using speeds that are typical for the given time of day/day of week, based on historical traffic data. allOf: - $ref: "#/components/schemas/Duration" mlDuration: description: | The duration, specified in seconds, based on the region-specific machine learning model. `mlDuration` is calculated for each route section of the route. If a section of the route is not supported, `mlDuration` will not be present in the summary of that section. Instead, a notice with the reason will be provided. `mlDuration` is only calculated for the entire section. The sum of span durations is not equivalent to `mlDuration`. **Limitations:** * Only valid for `transportMode=car` or `transportMode=taxi`. * Only valid for `traffic[mode]=default`. * Invalid for `departureTime=any`. * Invalid when `arrivalTime` is specified. allOf: - $ref: "#/components/schemas/Duration" tolls: description: | The summary of tolls to be paid for this section of the route, grouped according to the criteria specified in the `tolls` parameter. This element is included in the response if at least one grouping criteria was requested. allOf: - $ref: "#/components/schemas/TollSummary" co2Emission: description: | Estimation of the carbon dioxide emission for the given route section. Unit is kilograms with precision to three decimal places. Definitions: * Total Emission (Well-to-Wheel) = Production Emission (Well-to-Tank) + Operational Emission (Tank-to-Wheel) * CO2 Equivalent Emission (CO2e for CH4, N2O, etc.) = Gas Emission * Global Warming Potential (GWP) **Notes:** * This value represents the operational (tank-to-wheel) carbon dioxide emission. * This value represents only the carbon dioxide emission and does not represent the carbon dioxide equivalent emission for other gases or particulates. * This value is calculated based on `fuel[type]`, the `consumption` for the given route section and the `fuel emission factor` provided in this document. The calculation does not adhere to any other standards (e.g. ISO 14083, etc.). * `co2Emission` is only returned for `fuel` based vehicle. Emission factors for different fuel types: * `diesel`: Diesel. Emission is 2.697 kg of CO2 from each combusted liter of fuel. * `petrol`: Petrol/gasoline. Emission is 2.319 kg of CO2 from each combusted liter of fuel. * `lpg`: LPG. Emission is 1.5 kg of CO2 from each combusted liter of fuel. * `cng`: CNG. Emission is 2.529 kg of CO2 from each combusted kilogram of fuel. * `lng`: LNG. Emission is 1.189 kg of CO2 from each combusted liter of fuel. * `ethanol`: Ethanol (100%). Emission is 1.519 kg of CO2 from each combusted liter of fuel. * `propane`: Propane. Emission is 1.511 kg of CO2 from each combusted liter of fuel. * `hydrogen`: Hydrogen (emission for production is not considered). Emission is 0 kg of CO2 from each combusted liter of fuel. Source for Emission Factors: * [Table(2) Mobile Combustion (CO2) - Emission Factors for Greenhouse Gas Inventories (2024): EPA GHG Emission Factors Hub](https://www.epa.gov/climateleadership/ghg-emission-factors-hub) * Some data may be from a previous year if data is not available for 2024. allOf: - $ref: "#/components/schemas/CO2Emission" required: - duration - length AvoidPost: type: object description: | Avoid routes that violate certain features of road network or that go through user-specified geographical bounding boxes. For the general description of the functionality please refer to the `avoid` parameter of the query string. Passing parameters in the POST body is suggested when the length of the parameters exceeds the limitation of the GET request. properties: segments: description: | An array of segment identifiers that routes will avoid going through. Each entry has the following structure: `{segmentId}(#{direction})?` The individual parts are: * segmentId: The identifier of the referenced topology segment inside the catalog, example: `here:cm:segment:207551710` * direction (optional): Either '*' for bidirectional (default), '+' for positive direction, or '-' for negative direction Example of a parameter value excluding two segments: `["here:cm:segment:207551710#+", "here:cm:segment:76771992#*"]` **Note**: Maximum number of penalized segments in one request should not be greater than 1000. "Penalized segments" refers to segments that have a restriction on maximum baseSpeed with `maxSpeedOnSegment` or avoided with `avoid[segments]` type: array items: type: string areas: $ref: "#/components/schemas/AreasPost" ExcludePost: type: object description: | User-specified properties that need to be strictly excluded during route calculation. For the general description of the functionality please refer to the `exclude` parameter of the query string. Passing parameters in the POST body is suggested when the length of the parameters exceeds the limitation of the GET request. properties: areas: $ref: "#/components/schemas/AreasPost" ExitAction: description: | An action to leave a highway or roundabout. * `exit`: exit maneuver, such as "Take the left exit to" * `roundaboutExit`: roundabout exit maneuver, such as "Take the third exit of the roundabout onto" type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - exit - roundaboutExit duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" intersectionName: description: Name of the intersection where the turn takes place, if available. type: array items: $ref: "#/components/schemas/LocalizedString" direction: description: > Note that the direction of a turn has a special meaning for "roundaboutEnter": It indicates the direction in which one drives around the roundabout (left for left-hand-side driving countries, right for right-hand-side ones). allOf: - $ref: "#/components/schemas/TurnActionDirection" severity: $ref: "#/components/schemas/TurnActionSeverity" turnAngle: $ref: "#/components/schemas/TurnAngle" exit: description: Which exit to take next. type: integer minimum: 1 maximum: 12 default: 1 roundaboutAngle: $ref: "#/components/schemas/RoundaboutAngle" required: - action - duration KeepAction: description: > Keep maneuver, such as "Take the middle fork onto" type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - keep duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" intersectionName: description: Name of the intersection where the turn takes place, if available. type: array items: $ref: "#/components/schemas/LocalizedString" direction: description: > Note that the direction of a turn has a special meaning for "roundaboutEnter": It indicates the direction in which one drives around the roundabout (left for left-hand-side driving countries, right for right-hand-side ones). allOf: - $ref: "#/components/schemas/TurnActionDirection" severity: $ref: "#/components/schemas/TurnActionSeverity" turnAngle: $ref: "#/components/schemas/TurnAngle" required: - action - duration SimpleTurnAction: description: > Turn maneuver, such as "Make a sharp right turn at" type: object properties: action: description: | The type of the action. **NOTE:** The list of possible actions may be extended in the future. The client application should handle such a case gracefully. type: string enum: - turn duration: description: Estimated duration of this action (in seconds). Actions last until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Duration" instruction: description: Description of the action (e.g. Turn left onto Minna St.). type: string offset: description: Offset of a coordinate in the section's polyline. type: integer example: 0 length: description: Estimated length of this action (in meters). Actions extend until the next action, or the end of the route in case of the last one. allOf: - $ref: "#/components/schemas/Distance" currentRoad: description: Attributes of the current road allOf: - $ref: "#/components/schemas/RoadInfo" nextRoad: description: Attributes of the next road allOf: - $ref: "#/components/schemas/RoadInfo" exitSign: description: Attributes of the road exit allOf: - $ref: "#/components/schemas/ExitInfo" signpost: description: Signpost information of the action, provided for turn by turn actions only allOf: - $ref: "#/components/schemas/SignpostInfo" intersectionName: description: Name of the intersection where the turn takes place, if available. type: array items: $ref: "#/components/schemas/LocalizedString" direction: description: > Note that the direction of a turn has a special meaning for "roundaboutEnter": It indicates the direction in which one drives around the roundabout (left for left-hand-side driving countries, right for right-hand-side ones). allOf: - $ref: "#/components/schemas/TurnActionDirection" severity: $ref: "#/components/schemas/TurnActionSeverity" turnAngle: $ref: "#/components/schemas/TurnAngle" required: - action - duration TransitAction: description: Action attached to a transit section. oneOf: - $ref: "#/components/schemas/DepartAction" - $ref: "#/components/schemas/ArriveAction" - $ref: "#/components/schemas/ContinueAction" discriminator: propertyName: action mapping: depart: "#/components/schemas/DepartAction" arrive: "#/components/schemas/ArriveAction" continue: "#/components/schemas/ContinueAction" TransitTurnByTurnAction: oneOf: - $ref: "#/components/schemas/DepartAction" discriminator: propertyName: action mapping: depart: "#/components/schemas/DepartAction" CalculateRoutesPostParameters: description: Parameters of the POST body for route calculation type: object properties: avoid: $ref: "#/components/schemas/AvoidPost" exclude: $ref: "#/components/schemas/ExcludePost" ev: $ref: "#/components/schemas/EVPost" maxSpeedOnSegment: $ref: "#/components/schemas/MaxSpeedOnSegmentPost" networkRestrictedTruck: $ref: "#/components/schemas/NetworkRestrictedTruckPost" GetRoutesByHandlePostParameters: description: Parameters of the POST body for get route by handle type: object properties: avoid: $ref: "#/components/schemas/AvoidPost" exclude: $ref: "#/components/schemas/ExcludePost" maxSpeedOnSegment: $ref: "#/components/schemas/MaxSpeedOnSegmentPost" networkRestrictedTruck: $ref: "#/components/schemas/NetworkRestrictedTruckPost" PedestrianAction: description: Action attached to a pedestrian section. oneOf: - $ref: "#/components/schemas/DepartAction" - $ref: "#/components/schemas/ArriveAction" - $ref: "#/components/schemas/ContinueAction" - $ref: "#/components/schemas/ExitAction" - $ref: "#/components/schemas/SimpleTurnAction" - $ref: "#/components/schemas/KeepAction" discriminator: propertyName: action mapping: depart: "#/components/schemas/DepartAction" arrive: "#/components/schemas/ArriveAction" continue: "#/components/schemas/ContinueAction" exit: "#/components/schemas/ExitAction" turn: "#/components/schemas/SimpleTurnAction" keep: "#/components/schemas/KeepAction" TransitSection: type: object description: A section of the route. It contains departure, arrival, and route information. properties: id: description: Unique identifier of the section type: string type: description: Section type used by the client to identify what extension to the BaseSection are available. type: string enum: - transit preActions: description: Actions that must be done prior to `departure`. type: array items: $ref: "#/components/schemas/TransitPreAction" actions: description: | Actions that must be done during the travel portion of the section. Action offsets represent the coordinate index in the polyline. *NOTE:* currentRoad and nextRoad are not populated for actions. type: array items: $ref: "#/components/schemas/TransitAction" language: description: Language of the localized strings in the section, if any, in BCP47 format. type: string postActions: description: Actions that must be done after `arrival`. type: array items: $ref: "#/components/schemas/TransitPostAction" turnByTurnActions: description: Actions for turn by turn guidance during the travel portion of the section, i.e., between `departure` and `arrival`. type: array items: $ref: "#/components/schemas/TransitTurnByTurnAction" departure: $ref: "#/components/schemas/TransitDeparture" arrival: $ref: "#/components/schemas/TransitDeparture" passthrough: description: | List of via waypoints this section is passing through. Each via waypoint of the request that is a `passThrough=true` waypoint, appears as a `Passthrough` in the response. It appears in the section that starts with the closest non-passthrough via specified before it or origin. The passthrough vias appear in this list in the order they are traversed. They are traversed in the order they are specified in the request. type: array items: $ref: "#/components/schemas/Passthrough" summary: description: | Total value of key attributes (e.g., duration, length) summed up for the entire section, including `preActions`, `postActions`, and the travel portion of the section. allOf: - $ref: "#/components/schemas/BaseSummary" travelSummary: description: | Total value of key attributes (e.g., duration, length) summed up for just the travel portion of the section, between `departure` and `arrival`. `preActions` and `postActions` are excluded. allOf: - $ref: "#/components/schemas/BaseSummary" polyline: $ref: "#/components/schemas/Polyline" notices: description: > Contains a list of issues related to this section of the route. type: array items: $ref: "#/components/schemas/TransitNotice" bookingLinks: description: Links to external ticket booking services type: array items: $ref: "#/components/schemas/WebLinkWithDeviceType" transport: $ref: "#/components/schemas/TransitTransport" intermediateStops: description: > Intermediate stops between departure and destination of the transit line. It can be missing if this information is not available or not requested. type: array items: $ref: "#/components/schemas/TransitStop" agency: $ref: "#/components/schemas/Agency" attributions: description: List of required attributions to display. type: array items: $ref: "#/components/schemas/Attribution" fares: description: | "List of tickets to pay for this section of the route" **NOTE**: Fares information support will be available soon. type: array items: $ref: "#/components/schemas/Fare" booking: description: > **NOTE:** Attribute booking is deprecated. Please, use bookingLinks instead of it. deprecated: true allOf: - $ref: "#/components/schemas/WebLink" spans: type: array description: > Span attached to a `Section` describing transit content. items: $ref: "#/components/schemas/TransitSpan" refReplacements: $ref: "#/components/schemas/RefReplacements" incidents: description: A list of all incidents that apply to the section. type: array items: $ref: "#/components/schemas/TransitIncident" required: - id - type - departure - arrival VehicleAction: description: Action attached to a vehicle section. oneOf: - $ref: "#/components/schemas/DepartAction" - $ref: "#/components/schemas/ArriveAction" - $ref: "#/components/schemas/ContinueAction" - $ref: "#/components/schemas/ExitAction" - $ref: "#/components/schemas/TurnAction" discriminator: propertyName: action mapping: depart: "#/components/schemas/DepartAction" arrive: "#/components/schemas/ArriveAction" continue: "#/components/schemas/ContinueAction" ramp: "#/components/schemas/TurnAction" exit: "#/components/schemas/ExitAction" roundaboutPass: "#/components/schemas/TurnAction" roundaboutEnter: "#/components/schemas/TurnAction" roundaboutExit: "#/components/schemas/ExitAction" uTurn: "#/components/schemas/TurnAction" turn: "#/components/schemas/TurnAction" keep: "#/components/schemas/TurnAction" enterHighway: "#/components/schemas/TurnAction" continueHighway: "#/components/schemas/TurnAction" PedestrianSection: type: object description: Represent a section of a route properties: id: description: Unique identifier of the section type: string type: description: Section type used by the client to identify what extension to the BaseSection are available. type: string enum: - pedestrian preActions: description: Actions that must be done prior to `departure`. type: array items: $ref: "#/components/schemas/BaseAction" actions: description: | Actions to be performed at or during a specific portion of a section. Action offsets are the coordinate index in the polyline. *NOTE:* currentRoad and nextRoad are not populated for actions. type: array items: $ref: "#/components/schemas/PedestrianAction" language: description: Language of the localized strings in the section, if any, in BCP47 format. type: string postActions: description: Actions that must be done after `arrival`. type: array items: $ref: "#/components/schemas/PedestrianPostAction" turnByTurnActions: description: Actions for turn by turn guidance during the travel portion of the section, i.e., between `departure` and `arrival`. type: array items: $ref: "#/components/schemas/OffsetAction" departure: $ref: "#/components/schemas/PedestrianDeparture" arrival: $ref: "#/components/schemas/PedestrianDeparture" passthrough: description: | List of via waypoints this section is passing through. Each via waypoint of the request that is a `passThrough=true` waypoint, appears as a `Passthrough` in the response. It appears in the section that starts with the closest non-passthrough via specified before it or origin. The passthrough vias appear in this list in the order they are traversed. They are traversed in the order they are specified in the request. type: array items: $ref: "#/components/schemas/Passthrough" summary: description: | Total value of key attributes (e.g. duration, length) summed up for the entire section, including `preActions`, `postActions`, and the travel portion of the section. allOf: - $ref: "#/components/schemas/PedestrianSummary" travelSummary: description: | Total value of key attributes (e.g., duration, length) summed up for just the travel portion of the section, between `departure` and `arrival`. `preActions` and `postActions` are excluded. allOf: - $ref: "#/components/schemas/BaseSummary" polyline: $ref: "#/components/schemas/Polyline" notices: description: > Contains a list of issues related to this section of the route. type: array items: $ref: "#/components/schemas/PedestrianNotice" transport: $ref: "#/components/schemas/PedestrianTransport" spans: description: > Spans attached to a `Section` describing pedestrian content. type: array items: $ref: "#/components/schemas/PedestrianSpan" refReplacements: $ref: "#/components/schemas/RefReplacements" required: - id - type - departure - arrival - transport VehicleSection: type: object description: Represent a section of a route properties: id: description: Unique identifier of the section type: string type: description: Section type used by the client to identify what extension to the BaseSection are available. type: string enum: - vehicle preActions: description: Actions that must be done prior to `departure`. type: array items: $ref: "#/components/schemas/BaseAction" actions: description: | Actions to be performed at or during a specific portion of a section. Action offsets represent the coordinate index in the polyline. *NOTE:* The following attributes are valid for turnByTurnActions only and are not populated for actions * currentRoad * nextRoad * exitSign * signPost * intersectionName * turnAngle type: array items: $ref: "#/components/schemas/VehicleAction" language: description: Language of the localized strings in the section, if any, in BCP47 format. type: string postActions: description: Actions that must be done after `arrival`. type: array items: $ref: "#/components/schemas/VehiclePostAction" turnByTurnActions: description: | Turn-by-turn guidance actions. Action offsets represent the coordinate index in the polyline. type: array items: $ref: "#/components/schemas/VehicleAction" departure: $ref: "#/components/schemas/VehicleDeparture" arrival: $ref: "#/components/schemas/VehicleDeparture" passthrough: description: | List of via waypoints this section is passing through. Each via waypoint of the request that is a `passThrough=true` waypoint, appears as a `Passthrough` in the response. It appears in the section that starts with the closest non-passthrough via specified before it or origin. The passthrough vias appear in this list in the order they are traversed. They are traversed in the order they are specified in the request. type: array items: $ref: "#/components/schemas/Passthrough" summary: description: > The total value of key attributes, such as duration, length, and consumption, summed up for the entire section, including `preActions`, `postActions`, and the travel portion of the section. allOf: - $ref: "#/components/schemas/VehicleSummary" travelSummary: description: | The total value of key attributes, such as duration, length, and consumption, summed up only for the travel portion of the section, between `departure` and `arrival`. `preActions` and `postActions` are excluded. allOf: - $ref: "#/components/schemas/VehicleTravelSummary" polyline: $ref: "#/components/schemas/Polyline" notices: description: | Contains a list of issues related to this section of the route. Notices must be carefully evaluated and, if deemed necessary, the route section should be discarded accordingly. In particular, the user should be aware that new notice codes may be added at any time. If an unrecognized notice code appears with a `critical` severity level, the route section must be discarded. Please refer to the `code` attribute for possible values. type: array items: $ref: "#/components/schemas/VehicleNotice" spans: description: > Spans attached to a `Section` describing vehicle content. type: array items: $ref: "#/components/schemas/VehicleSpan" routingZones: description: | A list of routing zones that are applicable to the section. Elements of this list will be referenced by indexes within the `span` attribute of the section. type: array items: $ref: "#/components/schemas/RoutingZone" truckRoadTypes: description: | A list of truck road types that are applicable to the section. Elements of this list will be referenced by indexes within the `span` attribute of the section. A truck road type is an identifier associated with roads that have additional regulations applied by local administration for traversal by heavy vehicles like trucks. For example, the BK Bearing Class regulations in Sweden, and ET categories in Mexico. The identifiers of supported truck road types are specified at HERE Map Content [TruckRoadType](https://www.here.com/docs/bundle/map-content-schema-data-specification/page/topics_schema/truckroadtypeattribute.html). These names should be provided when avoiding a certain truck road type. type: array items: type: string incidents: description: A list of all incidents that apply to the section. type: array items: $ref: "#/components/schemas/TrafficIncident" refReplacements: $ref: "#/components/schemas/RefReplacements" tollSystems: description: > An array of toll authorities that collect payments for the use of (part of) the specified section of the route. type: array items: $ref: "#/components/schemas/TollSystem" tolls: description: > Detail of tolls to be paid for traversing the specified section. type: array items: $ref: "#/components/schemas/TollCost" consumptionType: description: Vehicle energy or fuel consumption type. allOf: - $ref: "#/components/schemas/ConsumptionType" noThroughRestrictions: description: | A list of all rules that restrict movement through the area without there being an origin, destination, or `via` waypoint inside of it. Only restrictions applicable to the vehicle for which the route was requested are returned. type: array items: $ref: "#/components/schemas/VehicleRestriction" transport: $ref: "#/components/schemas/VehicleTransport" required: - id - type - departure - arrival - transport RouterSection: description: | One of the possible sections that can be part of the Router route. `TransitSection` is only used for ferries and car shuttles. oneOf: - $ref: "#/components/schemas/VehicleSection" - $ref: "#/components/schemas/PedestrianSection" - $ref: "#/components/schemas/TransitSection" discriminator: propertyName: type mapping: vehicle: "#/components/schemas/VehicleSection" pedestrian: "#/components/schemas/PedestrianSection" transit: "#/components/schemas/TransitSection" RouterRoute: type: object description: > A basic route. Includes personal vehicles as car, truck, etc... For all modes, cf. `transportMode`. properties: id: description: Unique identifier of the route type: string notices: description: Contains a list of issues encountered during the processing of this response. type: array items: $ref: "#/components/schemas/Notice" sections: type: array items: $ref: "#/components/schemas/RouterSection" description: > An ordered list of vehicle, transit, and pedestrian sections making up the route. routeLabels: description: | Contains a list of the most important names and route numbers on this route that differentiate it from other alternatives. These names are used to make labels for the main and alternative routes, like "route1 via A4,D10", "route2 via D11,5" The generated list is expected to be unique for each route in response (but it's not guaranteed) type: array items: $ref: "#/components/schemas/RouteLabel" minItems: 0 maxItems: 2 routeHandle: description: | Opaque handle of the calculated route. A handle encodes the calculated route. The route can be decoded from a handle at a later point in time as long as the service uses the same map data which was used during encoding. To request a handle set the `routeHandle` flag in `return` parameter. If a handle is requested, but fails to be calculated for any reason, then the `routeHandle` property is not available in the response. The rest of the route is intact. type: string required: - id - sections RouterRouteResponse: type: object description: Returns a list of routes. properties: notices: description: | Contains a list of issues related to this route calculation. Please refer to the `code` attribute for possible values. type: array items: $ref: "#/components/schemas/RouteResponseNotice" routes: description: List of possible routes type: array items: $ref: "#/components/schemas/RouterRoute" required: - routes responses: 401ErrorResponseWithRequestID: description: API response in case of unauthorized access. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/SimpleErrorResponseSchema" examples: errorResponseExample: $ref: "#/components/examples/401errorResponseExample" 500ErrorResponseWithRequestID: description: API response in case of internal server error. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" examples: errorResponseExample: $ref: "#/components/examples/500errorResponseExample" 502ErrorResponseWithRequestID: description: API response in case of bad gateway. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" examples: errorResponseExample: $ref: "#/components/examples/502errorResponseExample" 503ErrorResponseWithRequestID: description: API response in case of service unavailable. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" examples: errorResponseExample: $ref: "#/components/examples/503errorResponseExample" 504ErrorResponseWithRequestID: description: API response in case of gateway timeout. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" examples: errorResponseExample: $ref: "#/components/examples/504errorResponseExample" HealthResponseFailWithRequestID: description: API response in case of failure. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/HealthResponseFailSchema" text/plain: schema: type: string HealthResponseOkWithRequestID: headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" description: API response in case of success. content: application/json: schema: $ref: "#/components/schemas/HealthResponseOKSchema" InternalServerErrorRoutesResponse: description: Internal server error headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/RoutingErrorResponse" examples: errorResponseExample: $ref: "#/components/examples/500RoutingErrorResponseExample" InvalidRoutesRequestResponse: description: | Failure to parse the request, caused by, for example, invalid parameter values such as `transportMode=spaceShuttle` or `alternatives=999`. Note that route calculation errors aren't considered failures. Cf. `RouterRouteResponse` for details on route calculation errors. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/RoutingErrorResponse" examples: errorResponseExample: $ref: "#/components/examples/400RoutingErrorResponseExample" OpenApiResponseOk: description: API specification in OpenAPI 3 format headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/x-yaml: schema: type: string text/x-yaml: schema: type: string RoutesResponseOk: description: Routes API response in case of success content: application/json: schema: $ref: "#/components/schemas/RouterRouteResponse" examples: routeResponseExample: $ref: "#/components/examples/routeResponseExample" evRouteResponseExample: $ref: "#/components/examples/evRouteResponseExample" headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" Routing403ErrorResponse: description: | Not allowed, such as trying to calculate routes in Japan without having necessary permissions. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/Routing403ErrorResponseSchema" examples: errorResponseExample: $ref: "#/components/examples/403RoutingErrorResponseExample" Routing429ErrorResponse: description: Service is rate-limited. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/Routing429ErrorResponseSchema" examples: errorResponseExample: $ref: "#/components/examples/429RoutingErrorResponseExample" VersionResponseOkWithRequestID: description: API response in case of success. headers: X-Correlation-Id: $ref: "#/components/headers/X-Correlation-Id" X-Request-Id: $ref: "#/components/headers/X-Request-Id" content: application/json: schema: $ref: "#/components/schemas/VersionResponse" examples: versionResponseOkExample: $ref: "#/components/examples/VersionResponseOkExample" examples: 400RoutingErrorResponseExample: value: title: Malformed request status: 400 code: E605001 cause: missing field `destination` action: "" correlationId: 4199533b-6290-41db-8d79-edf4f4019a74 401errorResponseExample: value: error: Unauthorized error_description: No credentials found 403RoutingErrorResponseExample: value: title: Not allowed status: 403 code: E605101 cause: Your credentials are not allowed to calculate routes in Japan action: Obtain credentials that allow you to calculate routes in Japan correlationId: 4199533b-6290-41db-8d79-edf4f4019a74 429RoutingErrorResponseExample: value: title: Too many requests status: 429 code: E605501 cause: "" action: "" correlationId: 4199533b-6290-41db-8d79-edf4f4019a74 500RoutingErrorResponseExample: value: title: Internal server error status: 500 code: E605500 cause: "" action: "" correlationId: 4199533b-6290-41db-8d79-edf4f4019a74 500errorResponseExample: value: title: "failed with reason: internal server error" status: 500 code: E600103 cause: Internal Server Error action: "" correlationId: "" 502errorResponseExample: value: title: "failed with reason: bad gateway" status: 502 code: E600002 cause: Bad Gateway action: "" correlationId: "" 503errorResponseExample: value: title: "failed with reason: service unavailable" status: 503 code: E600001 cause: Service Unavailable action: "" correlationId: "" 504errorResponseExample: value: title: "failed with reason: gateway timeout" status: 504 code: E600000 cause: Gateway Timeout action: "" correlationId: "" ReroutingExample: value: mode: returnToRoute lastTraveledSectionIndex: 0 traveledDistanceOnLastSection: 142 VersionResponseOkExample: value: - apiVersion: 8.18.0 - serviceVersion: 2022-12-15-b706cc8c-9057409 - dataVersions: - name: traffic-feed version: "2023-01-31T14:41:36+00:00" - name: hrn:here:data::olp-here:rib-2 version: "4898" - name: hrn:here:data::olp-here:here-map-content-japan-2 version: "65" - name: optimized-map-for-routing version: 2022.346.5.48 calculateRoutesPostAvoidExample: value: avoid: segments: - here:cm:segment:85925921 - here:cm:segment:79445268 areas: - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR - type: boundingBox west: 1.1 south: 2.2 east: 3.3 north: 4.4 exceptions: - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR exceptions: - type: corridor polyline: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 radius: 10 - type: encodedCorridor polyline: BG8mnlkD6-9wZAmrR19DAAlrR radius: 15 calculateRoutesPostEvExample: value: ev: preferredBrands: - 6e1a148e8ddf06f613599134197b7c1c - 6211c90a063d36429b599dda79ae85e3 calculateRoutesPostExcludeExample: value: exclude: areas: - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: corridor polyline: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 radius: 30 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR - type: boundingBox west: 1.1 south: 2.2 east: 3.3 north: 4.4 exceptions: - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR - type: polygon outer: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 - type: encodedPolygon outer: BG8mnlkD6-9wZAmrR19DAAlrR exceptions: - type: corridor polyline: - lat: 52.514414 lng: 13.384685 - lat: 52.514414 lng: 13.393568 - lat: 52.512403 lng: 13.393568 - lat: 52.512403 lng: 13.384685 radius: 10 - type: encodedCorridor polyline: BG8mnlkD6-9wZAmrR19DAAlrR radius: 15 calculateRoutesPostMaxSpeedOnSegmentExample: value: maxSpeedOnSegment: - segment: here:cm:segment:207551710#+ speed: 10 - segment: here:cm:segment:76771992 speed: 1 calculateRoutesPostNetworkRestrictedTruckExample: value: networkRestrictedTruck: permittedNetworks: - country: NZL networks: - hpmv - fiftyMax - country: AUS states: - NSW networks: - bDouble23Hml - bTripleGml - country: AUS states: - NSW - QLD networks: - pbs3A - country: AUS states: - NSW - VIC networks: - bDouble23Gml - bDouble26Hml - pbs2A evRouteResponseExample: value: routes: - id: a4ba8e3d-1c48-4850-a5c9-bc9d89e88e4f sections: - id: a40f342e-c60c-4236-8294-449d75bf070d type: vehicle postActions: - action: chargingSetup duration: 300 - action: charging duration: 105 consumablePower: 150 arrivalCharge: 5.4335 targetCharge: 9.365 departure: time: "2023-09-27T14:38:19+02:00" place: type: place location: lat: 52.5271737 lng: 13.3865749 elv: 75 originalLocation: lat: 52.527211 lng: 13.3865009 displayLocation: lat: 52.5271737 lng: 13.3865749 charge: 7 arrival: time: "2023-09-27T14:44:44+02:00" place: type: chargingStation location: lat: 52.5364614 lng: 13.4065972 elv: 93 displayLocation: lat: 52.5364614 lng: 13.4065972 id: 276u33dc5fquu-aGVyZS1ldjplY29tb3ZlbWVudDo5MjMzMTE2Mjg name: Allego DEALLEGO003423 attributes: power: 150 current: 400 voltage: 375 supplyType: dc connectorType: iec62196Type2Combo brand: hrn: 33f356bd26936af938cc8846bedc95f0 name: Allego chargePointOperator: id: 1f0a8b4e-cca5-11ed-a5c2-42010aa40002 name: Allego matchingEMobilityServiceProviders: - id: 1f098f1e-cca5-11ed-b774-42010aa40002 name: Last Mile Solutions - id: 1f39ad02-cca5-11ed-9d1a-42010aa40002 name: Shell Recharge - id: 1f351b84-cca5-11ed-8155-42010aa40002 name: Plugsurfing charge: 5.4335 transport: mode: car noticeWithRestrictionsExample: description: | Example of a notice indicating violation of a restriction that applies to vehicles over 12 tons and having between 2 and 4 axles (inclusive). value: title: Violated vehicle restriction. code: violatedVehicleRestriction severity: critical details: - cause: Route violates vehicle restriction type: restriction maxGrossWeight: 12000 axleCount: from: 2 to: 4 restrictionExample: description: | Example modeling the following set of conditions that apply to one section of a road: * 12t weight * 3m height * forbidden transportation of gas value: type: restriction maxGrossWeight: 12000 maxHeight: 300 forbiddenHazardousGoods: - gas routeResponseExample: value: routes: - id: 1793a897-0843-4957-ab63-c61e0f13aff2 sections: - id: c3e300ab-a880-4fab-9bb2-702355b2bf6b type: vehicle actions: - action: depart duration: 126 instruction: Head toward Chausseestraße on Invalidenstraße. Go for 1.2 km. offset: 0 - action: arrive duration: 0 instruction: Arrive at Invalidenstraße. offset: 78 departure: time: "2019-12-05T15:15:56+01:00" place: type: place location: lat: 52.53100287169218 lng: 13.38464098982513 arrival: time: "2019-12-05T15:18:02+01:00" place: type: place location: lat: 52.52639072947204 lng: 13.368653766810894 summary: duration: 126 length: 1200 currentWeight: 2530 polyline: BG2znmkDi89wZ9ChKAA1IvfAArH5cAArHvbAA1CrJAArF5SAAtP9yBAAT1E3E3QAA_BrH3M9sBAA_F5SAA3KlkBAA1EtNAApB_DAAhC1EAApB1I_D5OAA3ErPAApFtTAAtN_wBAA1GtVAA5U3lCAA_DhOAA3KliBAAtXjvCAArDtLAA1EhQAA1CrJAA_BrFAAvbl9CAAhIvZ_FtTrDtLAAV1I1CtNAA1E3QAArLnoB1G5YAAhGhSpBrFAAhC1GAA1FxT spans: - offset: 0 names: - value: Invalidenstraße language: de length: 787 - offset: 49 names: - value: Invalidenstraße language: de - value: Sandkrugbrücke language: de length: 51 - offset: 57 names: - value: Invalidenstraße language: de length: 362 transport: mode: car routeResponseManeuverSignpostInfoExample: value: labels: - name: value: San Jose language: en routeNumber: value: US-101 language: en direction: south - name: value: San Francisco language: en routeNumber: value: US-101 language: en direction: north - routeNumber: value: I-280 language: en routeResponseNoticeExample: value: title: "Route calculation failed: Couldn't match origin." code: couldNotMatchOrigin severity: critical