xroute

XRoute Operations

SOAP/JSON

Synchronous API

since 2.0
Operation Name Request Type Response Type Since Description
calculateRoute RouteRequest RouteResponse 2.0 Calculates and returns route information.
calculateReachableAreas ReachableAreasRequest ReachableAreasResponse 2.18 Calculate the areas which can be reached from a location within given horizons. This operation requires a special license.
calculateReachableLocations ReachableLocationsRequest ReachableLocationsResponse 2.21 Calculates the locations that can be reached from a waypoint within a given horizon.
getProfile ProfileRequest ProfileResponse 2.25 Returns the effective profile specified by the stored and the request profile. If no request profile is specified, the response contains the complete contents of the stored profile.
SOAP/JSON

Asynchronous API

since 2.0
Operation Name Request Type Response Type Since Description
startCalculateRoute RouteRequest Job 2.0

This is the asynchronous version of calculateRoute.

Calling this operation will not block until the result has been calculated. Instead of a result object, a Job object is returned which identifies the started calculation. To get status updates on a running job, use the operation watchJob. If it changes to SUCCEEDED, the calculation was successful and the result can be obtained using fetchRouteResponse. If the job ended with status FAILED, fetchRouteResponse throws the exception that occurred during calculation.

startCalculateReachableAreas ReachableAreasRequest Job 2.18

This is the asynchronous version of calculateReachableAreas.

Calling this operation will not block until the result has been calculated. Instead of a result object, a Job object is returned which identifies the started calculation. To get status updates on a running job, use the operation watchJob. If it changes to SUCCEEDED, the calculation was successful and the result can be obtained using fetchReachableAreasResponse. If the job ended with status FAILED, fetchReachableAreasResponse throws the exception that occurred during calculation.

startCalculateReachableLocations ReachableLocationsRequest Job 2.21

This is the asynchronous version of calculateReachableLocations.

Calling this operation will not block until the result has been calculated. Instead of a result object, a Job object is returned which identifies the started calculation. To get status updates on a running job, use the operation watchJob. If it changes to SUCCEEDED, the calculation was successful and the result can be obtained using fetchReachableLocationsResponse. If the job ended with status FAILED, fetchReachableLocationsResponse throws the exception that occurred during calculation.

fetchReachableAreasResponse JobRequest ReachableAreasResponse 2.18

Fetches results of type ReachableAreasResponse for the given job. If the calculation ended with an exception, fetchReachableAreasResponse will rethrow it. If the id of the job is unknown, a XServerException with message 'unknown id' is thrown.

fetchReachableLocationsResponse JobRequest ReachableLocationsResponse 2.21

Fetches results of type ReachableLocationsResponse for the given job. If the calculation ended with an exception, fetchReachableLocationsResponse will rethrow it. If the id of the job is unknown, a XServerException with message 'unknown id' is thrown.

fetchRouteResponse JobRequest RouteResponse 2.0

Fetches results of type RouteResponse for the given job. If the calculation ended with an exception, fetchRouteResponse will rethrow it. If the id of the job is unknown, a XServerException with message 'unknown id' is thrown.

watchJob WatchRequest Job 2.0

Returns the status of the given job.

This operation behaves exactly like the watchJob operation of the xRuntime service.

stopJob JobRequest Job 2.0

Attempts to stop a running job. If the status of the job changes to SUCCEEDED, preliminary results can be fetched, if available.

This operation behaves exactly like the stopJob operation of the xRuntime service.

deleteJob JobRequest Job 2.0

Attempts to delete a running job. If successful, the returned job will have state DELETED.

This operation behaves exactly like the deleteJob operation of the xRuntime service.

REST

route

URL format: /services/rest/XRoute/2.32/route/{startX}/{startY}/{destinationX}/{destinationY}
since 2.14

Calculates a route from start to destination and returns route information. This operation supports exactly two on-road waypoints.

Path Parameter Name Type Since Description
startX double 2.14 The longitude in WGS84 (EPSG:4326) of the start location. The location is interpreted as an OnRoadRouteLocation.
startY double 2.14 The latitude in WGS84 (EPSG:4326) of the start location. The location is interpreted as an OnRoadRouteLocation.
destinationX double 2.14 The longitude in WGS84 (EPSG:4326) of the destination location. The location is interpreted as an OnRoadRouteLocation.
destinationY double 2.14 The latitude in WGS84 (EPSG:4326) of the destination location. The location is interpreted as an OnRoadRouteLocation.
Query Parameter Name Type Default Since Description
storedProfile Url (String) default 2.14 The name of the stored profile to use without its extension, e.g. bicycle. The corresponding file bicycle.xml must be available in the folder conf/profiles. Parent profiles must be located in the same folder.
polyline Boolean false 2.14 Specifies if the RouteResponse.polyline shall be returned for the complete route.
themeIds ThemeId[] (String[]) - 2.14 A comma-separated list of Feature Layer theme IDs which will be considered. If this parameter is specified, themes enabled in the stored profile are ignored. These themes can be any of the supported Feature Layer themes, such as PTV_TruckAttributes. If this parameter is not present, the themes defined by the stored profile are used. A trailing comma is permitted. For more information see Calculating the Best Route for Rush Hour Traffic and Considering Long-term Blockings.
preferredRouteTypes CommaSeparatedListValue[] (String[]) - 2.14 The road networks to be preferred by the routing algorithm as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requestedthrough the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'preferredRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. If this parameter is not present, all types of PTV_PreferredRoutes are displayed.
timeConsideration TimeConsiderationScenario TimeConsideration ... 2.14 Specifies how to evaluate Feature Layer attributes which contain time restrictions. For time consideration scenario NONE the parameters for reference time and timespan are not evaluated. For SNAPSHOT, TIME_SPAN, EXACT_TIME_AT_START and EXACT_TIME_AT_ARRIVAL the reference time is required. The time span is needed for the TIME_SPAN scenarios. For detailed information about time consideration scenarios see time consideration.
referenceTime XMLGregorianCalendar - 2.14 The reference time at which Feature Layer attributes with time restrictions will be evaluated. The time format either has to conform to the notation of xs:dateTime such as 2015-12-24T12:00:00+01:00, or it has to be a datetime sequence without any delimiters nor time zone specification such as 20151224T120000. If the time-zone offset is missing, the corresponding service tries to detect it by means of information available in the calling context. A detailed description of this behavior can be found in the technical concept time zones. It is recommended to always specify the time zone. If no reference time is set, the current UTC time is used.
timeSpan TimeSpanDuration (Double) 86400.0 2.14 The duration of time (in combination with reference time as start) at which Feature Layer attributes with time restrictions will be evaluated, defined in [s]. The value is rounded to whole seconds.
contentSnapshotId String - 2.14 Specifies the content snapshot to use. If no snapshot ID is set, the most recent content is used.
Response Type Description
RouteResponse Response object.
XServerException Default exception for all xServer operations. See subtypes of XServerFault for details.

Types

AlternativeRoute

used by RouteResponse
since 2.20

Contains basic information about an alternative route for the current route.

Field Name Type Required Default Since Description
distance Distance (double) yes - 2.20 The distance of the complete route.
travelTime Duration (double) yes - 2.20 The travel time for the complete route.
trafficDelay Duration (Double) no - 2.26

The total delay due to traffic incidents (traffic jams, construction sites etc.) on the route.

For each section of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass the traffic jam than usually at the same time and the same day of week. As an example, driving a section on a highway between two exits usually takes 15 minutes on an average Friday afternoon at 4 pm, but due to a road works there is a traffic jam on this specific Friday afternoon at 4 pm, and driving this section takes 30 minutes. The delay will be 15 minutes.

This value contains the sum of all traffic events on this alterative route and will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used.

violated boolean yes - 2.20 If set to true, indicates that this route contains a violation for the chosen vehicle.
encodedPath EncodedContent (String) no - 2.20 The encoded string describing the complete path of the calculated route. Use this string as an input of another route request to calculate the same route with different parameters.
It is only returned if requested by ResultFields.encodedPath.
polyline EncodedGeometry no - 2.20 The polyline of the complete alternative route. This polyline consists of all coordinates representing the alternative route and can be used to draw the route into a map.
It is only returned if requested by ResultFields.polyline.
providerIds String[] 0..* - (2.25) The provider ids of the complete alternative route.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

CombinedTransportEvent

extends RouteEvent
since 2.20

This event indicates the entering or exiting of a combined transport.

Field Name Type Required Default Since Description
combinedTransportId SegmentId (String) no - 2.20 The ID of the combined transport.
combinedTransportName String no - 2.20 The name of the combined transport.
combinedTransportType CombinedTransportType no - 2.20 The type of the combined transport.
accessType AccessType no - 2.20 Indicates the ENTERing or EXITing of a combined transport.
relatedEventIndex Index (Integer) no - 2.20 For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa.

CombinedTransportViaWaypoint

extends InputWaypoint
since 2.20

Specifies an input waypoint in order to force to use this combined transport on the route. There is no output waypoint and there is no leg that ends at this waypoint. This waypoint cannot be used as first or last input waypoint.

Field Name Type Required Default Since Description
combinedTransportId SegmentId (String) yes - 2.20 The internal ID of the combined transport that the route shall pass through. Can be retrieved using xdata/getSegments operations.

ConsumptionValues

used by VehicleParametersAtWaypoint
since 2.27

Defines the consumption values of the vehicle that can be changed at waypoints. These parameters are only relevant if the driveType is MOTOR_VEHICLE.

Field Name Type Required Default Since Description
fuelConsumption EnergyConsumption (Double) no - 2.27 The fuel consumption for engine type COMBUSTION and HYBRID [l/100km or kg/100km]. (1,3)
electricityConsumption EnergyConsumption (Double) no - 2.27 The electricity consumption for engine type ELECTRIC and HYBRID [kWh/100km]. (1,3)
consumptionFactorsPerSpeed ConsumptionFactorAtSpeed[] 0..* - 2.27 The consumption factors relative to Engine.fuelConsumption and Engine.electricityConsumption of the engine at different speeds (1).
It is used for monetary cost optimized routing to assign energy costs to road segments in the following way:
  1. Use linear interpolation to calculate the fuel/electricity consumption factor for the speed of the segment.
  2. Calculate the actual fuel/electricity consumption for the segment speed by multiplying the Engine.fuelConsumption/Engine.electricityConsumption, with the previously interpolated consumption factor.
  3. Calculate the amount of used fuel/electricity for the road segment with its distance.
  4. Calculate the fuel/electricity cost by multiplying the amount of used fuel/electricity with the MonetaryCostOptions.costPerFuelUnit and MonetaryCostOptions.costPerElectricityUnit.

CountryCost

used by TollSummary
since 2.21

Specifies monetary costs in a certain currency that apply in a certain country.

Field Name Type Required Default Since Description
country CountryCode (String) no - 2.21 The country in which the cost has to be paid.
cost Cost no - 2.21 The amount that has to be paid in the local currency of the country.
convertedCost Cost no - 2.21 The amount that has to be paid converted to the specified currency. It is only returned if a currency is specified in the route options. It is still returned in case the requested currency and the local currency of the country are the same.

CountryEvent

extends RouteEvent
since 2.13

This event indicates that a border of a country or a subdivision is crossed by the route, i.e. the current country code changes. As this object contains only the country which is entered, consider the previous CountryEvent to obtain the code of the country or subdivision which is left. To obtain the country in which the route starts, there is always an event for the start of the route. If only borders between countries are needed, ignore those events for which only the subdivision code changes, e.g. US-GA and US-FL.

Field Name Type Required Default Since Description
country CountryCode (String) no - 2.13 The code of the country or subdivision the route enters.

ETACalculationOptions

used by RouteOptions
since 2.21

Specifies the options to calculate the estimated time of arrival. A PathWaypoint is needed to use this feature.

Field Name Type Required Default Since Description
vehiclePosition VehiclePosition yes - 2.21 Position of the vehicle.

ETACalculationReport

used by RouteResponse
since 2.21

Represents the summary of a route which has been calculated using the ETACalculationOptions.

Field Name Type Required Default Since Description
newRoute Boolean no false 2.21 If set to true, indicates that the route has been recalculated, ignoring the given PathWaypoint.
travelTimeExceeded Boolean no false 2.21 If set to true, indicates that the travel time of a segment has been recalculated because it exceeded 2h30.

EffectiveFuelConsumption

used by RouteOptions
since 2.0

The attributes for calculating CEN or factor-based emissions. The response element contains only those scenarios for which the corresponding request parameter is set.

Field Name Type Required Default Since Description
fleetSpecificAverageFuelConsumption EnergyConsumption (Double) no - 2.0 The average fuel consumption for a fleet in [l/100km] for liquid fuel types or [kg/100km] for gaseous fuel types like COMPRESSED_NATURAL_GAS.
fleetSpecificAverageElectricityConsumption EnergyConsumption (Double) no - 2.27 The average electricity consumption for a fleet in [kWh/100km] for electric/hybrid vehicles.
routeSpecificAverageFuelConsumption EnergyConsumption (Double) no - 2.0 The average fuel consumption for a specific type of route in [l/100km] for liquid fuel types or [kg/100km] for gaseous fuel types like COMPRESSED_NATURAL_GAS.
routeSpecificAverageElectricityConsumption EnergyConsumption (Double) no - 2.27 The average electricicty consumption for a specific type of route in [kWh/100km] for electric/hybrid vehicles.
actualFuelConsumptionForThisRoute EnergyConsumption (Double) no - 2.0 The actual fuel consumption for this route in [l] for liquid fuel types or [kg] for gaseous fuel types like COMPRESSED_NATURAL_GAS.
actualElectricityConsumptionForThisRoute EnergyConsumption (Double) no - 2.27 The actual electricity consumption for this route in [kWh] for electric/hybrid vehicles.

ElevationsNotAvailableLimitation

extends ResultLimitation
since 2.0

This result limitation indicates that elevations could not be calculated for the route or at least parts of it. The z-coordinate of the points where the elevations could not be calculated is 0. By default the coverage of elevations data is between +60° and -60° latitude.

Field Name Type Required Default Since Description
routePolylineIndices IndexInterval[] 0..* - 2.0

The intervals of the RouteResponse.polyline for which elevations are not available.

The list is only populated if the polyline for the whole route was requested by ResultFields.polyline.

segmentPolylineIndices IndexPairInterval[] 0..* - 2.0

The intervals of the Segment.polyline for which elevations are not available.

IndexPair.first denotes the index of the segment where the interval starts/ends.

IndexPair.second denotes the index of the polypoint for the segment where the interval starts/ends.

The list is only populated if segments were requested by ResultFields.segments.

legPolylineIndices IndexPairInterval[] 0..* - 2.0

The intervals of the Leg.polyline for which elevations are not available.

IndexPair.first denotes the index of the leg where the interval starts/ends.

IndexPair.second denotes the index of the polypoint for the leg where the interval starts/ends.

The list is only populated if legs were requested by ResultFields.legs.

elevationsDataAvailable boolean yes - 2.0 Specifies whether elevation data are available at all. If true, the route is beyond the limits of the data, otherwise elevations could not be calculated, at all.

EmissionOptions

used by RouteOptions
since 2.0

The emissions for different fuel consumption scenarios. Only those scenarios will be returned for which the corresponding request parameter is set.

Field Name Type Required Default Since Description
valueScenarios EmissionValueScenario[] 0..* - 2.0 The list of Emission scenarios.

HeadingIgnoredLimitation

extends ResultLimitation
since 2.21

This result limitation indicates that PositionEnRoute linking to the road network has ignored specified heading. This happens if it is not possible to find a road, near the vehicle, that satisfy the defined heading.

No fields defined.

HeadingToleranceIgnoredLimitation

extends ResultLimitation
since 2.21

This result limitation indicates that PositionEnRoute linking to the road network has ignored specified heading tolerance. This happens if no heading has been provided.

No fields defined.

Base for all waypoint types that can be provided as input in a RouteRequest.

Field Name Type Required Default Since Description
name String no - 2.0 User-defined content to identify the waypoint in route response elements like Leg. Make sure that this name is unique even if a waypoint is visited more than once.

Leg

used by RouteResponse
since 2.0

A leg is defined by a start- and an end-waypoint and the segment (s) between them. It is guaranteed that a leg consists of at least one segment. It is also guaranteed that the leg of index n connects waypoints of indices n and n+1, i.e. the number of response waypoints equals the number of the list of legs plus 1.

Field Name Type Required Default Since Description
startWaypointName String no - 2.10 The name of the start waypoint of the leg. This user-defined name is available only if InputWaypoint.name for the corresponding input waypoint is set.
endWaypointName String no - 2.10 The name of the end waypoint of the leg. This user-defined name is available only if InputWaypoint.name for the corresponding input waypoint is set.
startSegmentIndex Index (Integer) no - 2.0 The index in the list of RouteResponse.segments of the start segment of the leg. It is available only if the list of segments is requested by ResultFields.segments.
endSegmentIndex Index (Integer) no - 2.0 The index in the list of RouteResponse.segments of the end segment of the leg. It is available only if the list of segments is requested by ResultFields.segments.
startNodeIndex Index (Integer) no - 2.0 The index in the list of RouteResponse.nodes of the start node of the leg. It is available only if the list of nodes is requested by ResultFields.nodes.
endNodeIndex Index (Integer) no - 2.0 The index in the list of RouteResponse.nodes of the end node of the leg. It is available only if the list of nodes is requested by ResultFields.nodes.
startTollSectionIndex Index (Integer) no - 2.16 The index in the list of Toll.sections of the first toll section of the leg. It is available only if the toll sections are requested in ResultFields.toll and if there is at least one toll section for the leg.
endTollSectionIndex Index (Integer) no - 2.16 The index in the list of Toll.sections of the last toll section of the leg. It is available only if the toll sections are requested in ResultFields.toll and if there is at least one toll section for the leg.
distance Distance (double) yes - 2.0 The travel distance for the leg. It is the sum of distances of all segments in the leg and hence is a whole number without decimal places (see Segment.distance).
travelTime Duration (double) yes - 2.0 The travel time for the leg. It is the sum of travel times of all segments in the leg and hence has up to three decimal places (see Segment.travelTime).
trafficDelay Duration (Double) no - 2.26

The total delay due to traffic incidents (traffic jams, construction sites etc.) on the leg.

For each section of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass the traffic jam than usually at the same time and the same day of week. As an example, driving a section on a highway between two exits usually takes 15 minutes on an average Friday afternoon at 4 pm, but due to a road works there is a traffic jam on this specific Friday afternoon at 4 pm, and driving this section takes 30 minutes. The delay will be 15 minutes.

This value contains the sum of all traffic events on this leg and will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used.

tollSummary TollSummary no - 2.10 The toll summary for the leg. The toll summary is only populated if requested by LegResultFields.tollSummary.

emissions Emissions no - 2.0

The emissions along the route.

polyline EncodedGeometry no - 2.0

The polyline of the leg. This polyline consists of all coordinates representing the leg and can be used to draw the leg onto a map. It is available only if requested by LegResultFields.polyline and it contains elevations only if requested by PolylineOptions.elevations. If the elevations data do not cover the complete polyline, an ElevationsNotAvailableLimitation will be available which states which parts of the polyline are not covered.

providerIds String[] 0..* - (2.25) The provider ids of the leg.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

violated boolean yes - 2.0 If set to true, indicates that this leg contains a violation for the chosen vehicle.

LegResultFields

used by ResultFields
since 2.0

Specifies if and to what extent the legs shall be returned for the complete route.

Field Name Type Required Default Since Description
enabled Boolean no false 2.0 Specifies if the legs shall be returned for the complete route.
polyline Boolean no false 2.0 Specifies if the legs shall contain the polyline.
tollSummary Boolean no false 2.10 Specifies if the legs shall contain the toll summary.
emissions Boolean no false 2.0 Specifies if the legs shall contain the emissions.
providerIds Boolean no false (2.25) Specifies if the legs shall contain the providerIds.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

LowEmissionZoneEvent

extends RouteEvent
since 2.32

This event indicates entering or exiting a low emission zone.

Field Name Type Required Default Since Description
name String yes - 2.32 The name of the low emission zone.
accessType AccessType no - 2.32 Indicates how a range of segments with the same kind of violation is accessed.
relatedEventIndex Index (Integer) no - 2.32 For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise.

ManeuverEvent

extends RouteEvent
since 2.13

This event provides directions for the driver. A single event gives information on the maneuver to execute. The RequestProfile.mapLanguage will not be considered, geographical names such as road names are always given in the local language.

Field Name Type Required Default Since Description
maneuverType ManeuverType no - 2.13 The high-level type of the current maneuver, e.g. turning or entering / exiting a highway.
relativeDirection RelativeDirection (Integer) no - 2.13 The direction of the outgoing road relative to continuing in the same direction as the incoming road (clockwise).
absoluteDirection AbsoluteDirectionInteger (Integer) no - 2.13 The absolute direction of the outgoing road (clockwise). North represents 0 degrees.
directionDescription String no - 2.13 A descriptive text for the current maneuver. The language can be specified by RequestProfile.userLanguage. The RequestProfile.mapLanguage will not be considered, geographical names such as road names are always given in the local language.
directionDescriptionLanguage LanguageCode (String) no - 2.13 The language of the direction description. It is only populated if different from the requested RequestProfile.userLanguage.
roadAhead RoadDescriptor no - 2.13 The description of the road to which the current maneuver finally leads. This is not necessarily the name of the road segment right after the maneuver. Especially when exiting a highway there are ramps or distributor roads which do not have a description. This field is not present if there is no road description available (usually for the very last maneuver).
directionSignText String no - 2.13 The city names and road numbers on a signpost at the current location to follow for the current maneuver. Empty if no signpost is present or the data is not available.
exitNumber String no - 2.13 The number of an exit or interchange of a highway or a freeway-like road. Only present if the maneuver type is CHANGE or EXIT. Empty if the data does not contain an exit number.
exitName String no - 2.13 The name of an exit or interchange of a highway or a freeway-like road. Only present if the maneuver type is CHANGE or EXIT. Empty if the data does not contain an exit name.
roundaboutExit PositiveInteger (Integer) no - 2.13 The exit number at a roundabout. Only drivable roads are counted. Only present if the maneuver type is TAKE_ROUNDABOUT.
combinedTransportName String no - 2.13 The name of the combined transport to take a the current location. Only present if the maneuver type is TAKE_COMBINED_TRANSPORT.
combinedTransportType CombinedTransportType no - 2.13 The type of the combined transport to take a the current location. Only present if the maneuver type is TAKE_COMBINED_TRANSPORT.
crossingRoadName String no - 2.13 The name of the crossing road at which a U-turn has to be made. Only present if the maneuver type is MAKE_U_TURN and if the U-turn takes place at a crossing.

ManipulateRouteWaypoint

extends InputWaypoint
since 2.20

Specifies an input waypoint in order to manipulate the course of the route. There is no output waypoint and there is no leg that ends at this waypoint. The route passes near the specified coordinate. This waypoint cannot be used as first or last input waypoint.

Field Name Type Required Default Since Description
coordinate Coordinate yes - 2.20 The coordinate that the route shall pass by.
radius Distance (double) yes - 2.20 A radius that specifies how close the route shall pass by the specified coordinate. This radius refers to the distance on the road network in meters.

MonetaryCostsReport

used by RouteResponse
since 2.21

Contains the monetary costs of a route in the specified currency.

Field Name Type Required Default Since Description
totalCost Double no - 2.21 The total monetary cost of the route.
distanceCost Double no - 2.21 The distance cost based on MonetaryCostOptions.costPerKilometer.
workingTimeCost Double no - 2.21 The working time cost based on MonetaryCostOptions.workingCostPerHour.
energyCost Double no - 2.27 The energy cost based on MonetaryCostOptions.costPerFuelUnit, MonetaryCostOptions.costPerElectricityUnit, Engine.consumptionFactorsPerSpeed, Engine.fuelConsumption and Engine.electricityConsumption.
tollCost Double no - 2.21 The toll cost based on the route and the vehicle.
Toll prices do not include VAT.

MultiCoordinateOnRoadWaypoint

extends InputWaypoint
since 2.19

Specifies an input waypoint as a list of coordinates. It is similar to an on-road waypoint but can have multiple coordinates. For example, the destination of a route can consist of different entries to a certain parking area. The resulting route will end at one of the entries. This waypoint can be used only as first or last waypoint of a route request.

Field Name Type Required Default Since Description
coordinates Coordinate[] 1..* - 2.19 Specifies the coordinates for the waypoint. At least one coordinate must be given. A route actually reaches only the nearest road of one of the given coordinates, and the coordinates are not linked to the road by a segment of type SegmentType.LINK_SEGMENT.
vehicleParameters VehicleParametersAtWaypoint no - 2.27 Specify vehicle parameters at intermediate waypoints to get more accurate results for routing, emissions and tolls for the next legs. Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint.
For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading goods at waypoints.
The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint.

Node

used by RouteResponse
since 2.0

Represents a real or virtual node along a route. See NodeType for the possible types.

Field Name Type Required Default Since Description
coordinate Coordinate yes - 2.0 Location of the node. It never contains the z-coordinate, refer to the polyline instead to obtain the z-coordinate.
type NodeType yes - 2.0 Type of the node (e.g. NodeType.NETWORK_NODE).
eventIndices Index[] (Integer[]) 0..* - 2.14 The list of indices in the RouteResponse.events list containing all route events which occur at this node. An event may be present in consecutive nodes if it covers a sequence of nodes. The list is only populated if route events are requested by ResultFields.eventTypes.
polylineIndex Index (Integer) no - 2.0 Index of the polyline point corresponding to this node in RouteResponse.polyline. Only available if a polyline is requested using ResultFields.polyline.
violated Boolean no - 2.14 If set to true, indicates that this node contains a violation for the chosen vehicle.

OffRoadWaypoint

extends InputWaypoint
since 2.0

Specifies an input waypoint based on an OffRoadRouteLocation. There is a corresponding Waypoint in the route response, and a route leg starts or ends at that waypoint. In case the nearest road cannot be reached due to road restrictions for the specified vehicle a result limitation will be returned. See waypoints documentation for details.

Field Name Type Required Default Since Description
location OffRoadRouteLocation yes - 2.0 Specifies the route location for this waypoint. The given OffRoadRouteLocation.offRoadCoordinate is part of the route polyline. A route actually reaches this coordinate and is connected to the road network by a segment of type SegmentType.LINK_SEGMENT. The OffRoadRouteLocation.roadAccessCoordinate is usually not part of the route polyline, as it is only used to find the proper road to link to.
tourStopOptions TourStopOptions no - 2.16 The logistic information on a waypoint.
vehicleParameters VehicleParametersAtWaypoint no - 2.27 Specify vehicle parameters at intermediate waypoints to get more accurate results for routing, emissions and tolls for the next legs. Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint.
For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading goods at waypoints.
The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint.

OnRoadWaypoint

extends InputWaypoint
since 2.0

Specifies an input waypoint based on an OnRoadRouteLocation. There is a corresponding waypoint in the route response, and a route leg starts or ends on the nearest road. There is no SegmentType.LINK_SEGMENT. See waypoints documentation for details.

Field Name Type Required Default Since Description
location OnRoadRouteLocation yes - 2.0 Specifies the route location for this waypoint. If the given OnRoadRouteLocation.coordinate is off the road this location itself is not part of the route, its polyline nor the route totals. A route actually reaches only the nearest road, and the coordinate is not linked to the road by a segment of type SegmentType.LINK_SEGMENT.
tourStopOptions TourStopOptions no - 2.16 The logistic information on a waypoint.
vehicleParameters VehicleParametersAtWaypoint no - 2.27 Specify vehicle parameters at intermediate waypoints to get more accurate results for routing, emissions and tolls for the next legs. Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint.
For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading goods at waypoints.
The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint.

PathWaypoint

extends InputWaypoint
since 2.20

Specifies a complete path as a part of the final route. This path contains information on all waypoints and the course of the route. This comprises the waypoint names. Assigning a name to this instance will overwrite the original waypoint names.
Limitation: Only one path waypoint can be specified as input waypoint, and a path waypoint can not be mixed with other input waypoints.

Field Name Type Required Default Since Description
encodedPath EncodedContent (String) yes - 2.20 Encoded string describing a complete route. Use this parameter to calculate information on a previously calculated route.
Limitation: The encoded path must have been created using the same map and xServer version.

PolylineOptions

used by RouteOptions
since 2.0

Specifies how the polyline shall be calculated.

Field Name Type Required Default Since Description
elevations Boolean no false 2.0 If true, the polyline will contain the elevations, i.e. each Coordinate will contain the z-coordinate. This setting applies to all requested polylines, e.g. complete route, legs, and segments. If elevation data are not available, the z-coordinate is 0, and there is an ElevationsNotAvailableLimitation which contains the indices of the polyline with a missing z-coordinate.

PositionAtStop

extends VehiclePosition
since 2.21

The vehicle is located on a waypoint. In this use case, it is required to specify the status of the service.

Field Name Type Required Default Since Description
waypointIndex Index (int) yes - 2.21 Zero based index of the current waypoint in the route.
serviceStatus ServiceStatus yes - 2.21 Specifies if service has not started yet, if service is currently being performed or if service is completed.

PositionEnRoute

extends VehiclePosition
since 2.21

The vehicle is located on the route, between 2 waypoints. In this use case, xroute will use the vehicle's coordinates to find the nearest position on the path, and recalculate the route from this position. If the vehicle is too far from the path, a complete route calculation is performed, starting from the current position of the vehicle.

Field Name Type Required Default Since Description
currentLocation Coordinate yes - 2.21 Current geographic location of the vehicle. The route is recalculated from this position. The part of the path before is ignored.
indexOfNextWaypoint Index (int) yes - 2.21 Zero based index of the next waypoint of the route.
heading AbsoluteDirectionInteger (Integer) no - 2.21 The absolute direction of the vehicle. North represents 0 degrees. For more information, pleaser refer to the technical concept Estimated Time of Arrival.
headingTolerance DirectionToleranceInteger (Integer) no 45 2.21 The tolerance around the heading direction of the vehicle, i.e. roads with a direction of heading±headingTolerance are taken into account.

ProfileRequest

extends RequestBase
used by XRoute
since 2.25

Specifies the profile to be returned.

No fields defined.

ProfileResponse

extends ResponseBase
used by XRoute
since 2.25

Contains the effective profile.

Field Name Type Required Default Since Description
vehicleProfile VehicleProfile no - 2.25 The vehicle profile.
featureLayerProfile FeatureLayerProfile no - 2.25 The Feature Layer profile.
routingProfile RoutingProfile no - 2.25 The routing profile.
mapLanguage LanguageCode (String) no - 2.25 The language used for geographic names that are part of the map. The default x-ptv-DFT means that names are given in the language spoken in that country or region.
userLanguage LanguageCode (String) no - 2.25 The language of texts such as maneuver or traffic-incident descriptions. If the specified language is not supported, the following fallback languages are used: First, if subtags are present, the primary language is used. Second, English is used. As an example pt-BR ? pt ? en. The language of geographic names can be set by the field mapLanguage. As an example the description of a maneuver should be readable by the user but city names which can be found on local signs should be available in that language in order to be recognized.

ReachableAreasOptions

used by ReachableAreasRequest
since 2.18

Specifies the options for a reachable areas calculation.

Field Name Type Required Default Since Description
horizons Horizon[] 1..* - 2.18 The reachability of an area is defined by one or more horizons either by travel time or by distance. If there are no roads within the horizon, the resulting polygon will be empty. If more than one horizon is specified, they have all to be either by travel time or by distance. Furthermore, the values have to be in an ascending order. Otherwise an InvalidValueFault is thrown. The maximum values for distance-based and travel-time-based horizons can be configured in Server Configuration. By default the calculation is limited to 200 km or 2 hours.
calculationMode ReachableAreasCalculationMode no ReachableAreasCal ... 2.18 Defines the focus of the algorithm, either quality or performance.
drivingDirection ReachableAreasDrivingDirection no ReachableAreasDri ... 2.18 Defines whether to calculate the areas which can be reached from the location within the horizons or to calculate the areas from which the location can be reached within the horizons. If exact time consideration is used, use OUTBOUND only with ExactTimeConsiderationAtStart and INBOUND only with ExactTimeConsiderationAtArrival. Otherwise a ParameterConflictFault is thrown.
timeConsideration TimeConsideration no - 2.18 Specifies how to evaluate data which contain time restrictions. For the use cases see time consideration. If the object is NULL, all data which have time restrictions are not considered. For some scenarios a reference time is needed to match properties with a time domain against this reference time. If for this time no time zone is defined, i.e. it represents a local time, all waypoints with their dedicated locations are checked for their time zone offsets. If a time zone cannot be determined for such a location, this location is not taken into further consideration. So, in a first step a set of locations with calculated time zones is determined. If this set contains no elements, an exception is thrown. When the time zones differ for some locations, then the time zone containing most locations is used and a result limitation is added to the result. If all locations are in the same time zone, then this time zone is used and the result is calculated as usual.
contentSnapshotId String no - 2.18 Speficies the content snapshot to use. If no snapshot ID is set, the latest content is used.
geographicRestrictions GeographicRestrictions no - 2.19 Specifies geographic restrictions that are considered during the reachable areas calculation.

ReachableAreasRequest

extends RequestBase
used by XRoute
since 2.18

Specifies the parameters of a reachable areas calculation. The sideOfStreetRestriction will be ignored with any of the given waypoints, a SideOfStreetRestrictionIgnoredLimitation will be returned in that case.

Field Name Type Required Default Since Description
location RouteLocation no - 2.18 The start or destination location. Deprecated: Please use the attribute waypoint offering more possibilities.
waypoint InputWaypoint no - 2.22 The start or destination waypoint. Only the types OffRoadWaypoint, OnRoadWaypoint and PathWaypoint are supported.
reachableAreasOptions ReachableAreasOptions yes - 2.18 The options for the calculation.
reachableAreasResultFields ReachableAreasResultFields no - 2.23 Specifies which fields of the ReachableAreasResponse shall be returned. ReachableAreasResponse.segments can only be retrieved using ReachableAreasOptions.calculationMode QUALITY.

ReachableAreasResponse

extends ResponseBase
used by XRoute
since 2.18

Contains the result of the calculation of reachable areas for every given horizon.

Field Name Type Required Default Since Description
polygons EncodedGeometry[] 0..* - 2.18

The polygons which represent the reachable areas. For each horizon there is a separate polygon at the same index. If there are no roads within the horizon, the resulting polygon will be empty. In particular, this is the case if the distance or travel time from the location to the next road segment is greater than the horizon when using an OffRoadRouteLocation.

segments ReachableAreasSegment[] 0..* - 2.23

The consecutive list of all visited segments along the route.

The list of segments is only populated if requested by ReachableAreasResultFields.segments.

ReachableAreasResultFields

used by ReachableAreasRequest
since 2.23

Specifies which fields of the ReachableAreasResponse shall be returned

Field Name Type Required Default Since Description
segments ReachableAreasSegmentResultFields no - 2.23 Specifies if and to what extent the ReachableAreasResponse.segments shall be returned. ReachableAreasResponse.segments can only be retrieved using ReachableAreasOptions.calculationMode QUALITY.
polygons Boolean no true 2.23 Specifies if ReachableAreasResponse.polygons shall be returned.

ReachableAreasSegment

used by ReachableAreasResponse
since 2.23

A simplified version of a segment, returned by ReachableAreasResponse.segments.

Field Name Type Required Default Since Description
distance Distance (double) yes - 2.23 The accumulated distance of the segment during reachable areas calculation.
travelTime Duration (double) yes - 2.23 The accumulated travel time of the segment during reachable areas calculation.
polyline EncodedGeometry no - 2.23 The polyline of the segment.
id SegmentId (String) no - 2.23 The id of the segment.
predecessorIndex Index (Integer) no - 2.23 The index of the predecessor segment. Returns -1 if segment has no predecessor.

ReachableAreasSegmentResultFields

used by ReachableAreasResultFields
since 2.23

Specifies if and to what extent the ReachableAreasResponse.segments shall be returned.

Field Name Type Required Default Since Description
enabled Boolean no false 2.23 Specifies if ReachableAreasResponse.segments shall be returned.
polyline Boolean no false 2.23 Specifies if the segments shall contain the polyline.
id Boolean no false 2.23 Specifies if the segments shall contain the ID.
predecessorIndex Boolean no false 2.23 Specifies if the segments shall contain the predecessor segment index.

ReachableLocation

used by ReachableLocationsResponse
since 2.21

Contains the distance and travel time from the input waypoint to a reached location or vice versa (depending on the request search type).

Field Name Type Required Default Since Description
distance Distance (Double) no - 2.21 The distance from the input waypoint to this location or vice versa.
travelTime Duration (Double) no - 2.21 The travel time from the input waypoint to this location or vice versa.
inputLocationIndex Index (Integer) no - 2.21 The index of the reached input location.

ReachableLocationsOptions

used by ReachableLocationsRequest
since 2.21

Specifies the options of a reachability request.

Field Name Type Required Default Since Description
horizon Horizon yes - 2.21 Specifies the maximum horizon either by travel time or by distance in which the locations should be reached. The maximum values for distance-based and travel-time-based horizons can be configured in Server Configuration. By default the calculation is limited to 200 km or 2 hours.
searchType ReachableLocationsSearchType no ReachableLocation ... 2.21 Specifies the search type to determine the reachable locations.
timeConsideration TimeConsideration no - 2.21 Specifies how to evaluate data which contain time restrictions. For the use cases see time consideration. If the object is NULL, all data which have time restrictions are not considered. For some scenarios a reference time is needed to match properties with a time domain against this reference time. If for this time no time zone is defined, i.e. it represents a local time, all waypoints with their dedicated locations are checked for their time zone offsets. If a time zone cannot be determined for such a location, this location is not taken into further consideration. So, in a first step a set of locations with calculated time zones is determined. If this set contains no elements, an exception is thrown. When the time zones differ for some locations, then the time zone containing most locations is used and a result limitation is added to the result. If all locations are in the same time zone, then this time zone is used and the result is calculated as usual.
contentSnapshotId String no - 2.21 Specifies the content snapshot to use. If no snapshot ID is set, the latest content is used.
geographicRestrictions GeographicRestrictions no - 2.21 Specifies geographic restrictions that are considered during the reachable locations calculation.

ReachableLocationsRequest

extends RequestBase
used by XRoute
since 2.21

Specifies the parameters of a reachable locations calculation. The sideOfStreetRestriction will be ignored with any of the given waypoints, a SideOfStreetRestrictionIgnoredLimitation will be returned in that case.

Field Name Type Required Default Since Description
waypoint InputWaypoint yes - 2.21 The waypoint from which the locations should be checked. Only the types OffRoadWaypoint, OnRoadWaypoint and PathWaypoint are supported.
locations RouteLocation[] 1..* - 2.21 Locations to be checked to be within the horizon.
reachableLocationsOptions ReachableLocationsOptions yes - 2.21 The options for the calculation.

ReachableLocationsResponse

extends ResponseBase
used by XRoute
since 2.21

Contains the result of the reachability calculation.

Field Name Type Required Default Since Description
reachableLocations ReachableLocation[] 0..* - 2.21 Reachable locations ordered by distance or travel time (depending on the request horizon type)
unreachableLocations Index[] (Integer[]) 0..* - 2.21 Indexes of the unreachable locations as given in the request locations

ResultFields

used by RouteRequest
since 2.0

Specifies which fields of the RouteResponse shall be returned.

Field Name Type Required Default Since Description
waypoints Boolean no false 2.0 Specifies if the RouteResponse.waypoints shall be returned for the complete route.
legs LegResultFields no - 2.0 Specifies if and to what extent the RouteResponse.legs shall be returned for the complete route.
segments SegmentResultFields no - 2.0 Specifies if and to what extent the RouteResponse.segments shall be returned for the complete route.
nodes Boolean no false 2.0 Specifies if the RouteResponse.nodes shall be returned for the complete route.
eventTypes RouteEventType[] 0..* - 2.13 Specifies which RouteEvent types shall be returned for the complete route.
polyline Boolean no false 2.0 Specifies if the RouteResponse.polyline shall be returned for the complete route. In order to return the RouteResponse.polyline for legs and segments, enable LegResultFields.polyline and SegmentResultFields.polyline. In order to obtain the elevations for the RouteResponse.polyline, enable PolylineOptions.elevations in RouteOptions.
toll TollResultFields no - 2.10 Specifies if and to what extent the RouteResponse.toll shall be returned for the complete route.
emissions Boolean no false 2.0 Specifies if the RouteResponse.emissions shall be returned for the complete route.
report Boolean no false 2.10 Specifies if the RouteResponse.report shall be returned for the complete route.
tourReport Boolean no false 2.16 Specifies if the RouteResponse.tourReport shall be returned for the complete route.
encodedPath Boolean no false 2.20 Specifies if the RouteResponse.encodedPath shall be returned for the complete route.
guidedNavigationRoute Boolean no false 2.13

Specifies if the RouteResponse.guidedNavigationRoute shall be returned for the complete route.
Setting this parameter to true requires a detailed list of maneuver events, which have to be requested separately by adding the RouteEventType MANEUVER_EVENT to the list of eventTypes in the result fields.
This feature therefore may consume some additional computation time and returns a list of maneuver events in the response.

monetaryCostsReport Boolean no false 2.21 Specifies if the RouteResponse.monetaryCostsReport shall be returned for the complete route.
If requested, it is required to specify a currency in the route options.
alternativeRoutes Boolean no false 2.20 Specifies if the RouteResponse.alternativeRoutes shall be returned.
In addition to the optimal route up to three alternatives are returned. Note that sometimes no alternative routes are returned because possible alternatives are not considered as practical with regards to detour or sharing with the optimal route.
Note that this is only supported with requests with exactly two input waypoints of types OnRoadWaypoint or OffRoadWaypoint, otherwise, an exception will be thrown.
providerIds Boolean no false (2.25) Specifies if the RouteResponse.providerIds shall be returned for the complete route.
In order to return the RouteResponse.providerIds for legs and segments, enable LegResultFields.providerIds and SegmentResultFields.providerId.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

RoadDescriptor

used by ManeuverEvent
since 2.13

The descriptive attributes of a road

Field Name Type Required Default Since Description
roadNumber String no - 2.13 The number of a road (e.g. "A81"). The road number string may consist of several number entries divided by "/".
roadName String no - 2.13 The name of a road. The road name string does not depend on the selected language. Instead it is presented as it could be found on local signs.

Base type for all route events which can appear in the RouteResponse. It contains information common to all event types. See the technical concept for more information.

Field Name Type Required Default Since Description
eventType RouteEventType no - 2.13 The type of the current route event.
startsAt XMLGregorianCalendar no - 2.13 The point in time at which the event starts. This field is only present if a time-consideration scenario with a reference time is given in the request. The time zone is that of the reference time. Use the UTCOffsetEvent to derive the local time.
coordinate Coordinate no - 2.13 The location at which the event occurs. This coordinate is not necessarily the coordinate of the related node. The event such as a traffic incident can, for example, occur in the middle of a long segment. This coordinate is designed to draw an icon on a map to mark the event.
nodeIndex Index (Integer) no - 2.13 The index of the node in the RouteResponse.nodes list. As every segment starts at the node with the same index, it is also equal to the segment in the RouteResponse.segments list, if present, except for the very last index. This field is only present if the list of nodes is present.
distanceFromStart Distance (Double) no - 2.13 The distance of the route from the start up to this event.
travelTimeFromStart Duration (Double) no - 2.13 The travel time for the route from the start up to this event.

RouteOptions

used by RouteRequest
since 2.0

Specifies how to calculate the route and how to fill the ResultFields which are enabled.

Field Name Type Required Default Since Description
timeConsideration TimeConsideration no - 2.1 Specifies how to evaluate data which contain time restrictions. For the use cases see time consideration. If the object is NULL, all data which have time restrictions are not considered. For some scenarios a reference time is needed to match properties with a time domain against this reference time. If for this time no time zone is defined, i.e. it represents a local time, all waypoints with their dedicated locations are checked for their time zone offsets. If a time zone cannot be determined for such a location, this location is not taken into further consideration. So, in a first step a set of locations with calculated time zones is determined. If this set contains no elements, an exception is thrown. When the time zones differ for some locations, then the time zone containing most locations is used and a result limitation is added to the result. If all locations are in the same time zone, then this time zone is used and the result is calculated as usual. Please note that the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival are not applicable in combination with routing types RoutingType.HIGH_PERFORMANCE_ROUTING and RoutingType.HIGH_PERFORMANCE_ROUTING_WITH_FALLBACK_CONVENTIONAL and will result respectively in an exception and a result limitation.
contentSnapshotId String no - 2.8 Specifies the content snapshot to use. If no snapshot ID is set, the most recent content is used.
highPerformanceRoutingNetworkId String no - 2.18 Specifies the high-performance routing network to use. Besides, the routing type must be explicitly set to RoutingType.HIGH_PERFORMANCE_ROUTING otherwise a ParameterConflictFault is thrown. The profile and request parameters of the high-performance routing network are used for linking and routing. The stored profile of the RequestBase will be ignored. Throws a DataNotAvailableFault if the high-performance routing network with the given id does not exist.
geographicRestrictions GeographicRestrictions no - 2.3 Specifies geographic restrictions that are considered during the route calculation.
polylineOptions PolylineOptions no - 2.0 Specifies how the polyline shall be calculated.
emissionOptions EmissionOptions no - 2.0 Specifies what emissions shall be calculated.
effectiveFuelConsumption EffectiveFuelConsumption no - 2.0 Specifies the fuel consumption values.
tollOptions TollOptions no - 2.21 Specifies how the toll shall be calculated.
routingType RoutingType no RoutingType.CONVE ... 2.10 Strategy to decide if high-performance routing or conventional routing is used. For further explanation see the definition of RoutingType.
tourRestrictions TourRestrictions no - 2.16 Specifies how to calculate the tour information.
calculationCriteria RouteCalculationCriteria no RouteCalculationC ... 2.21 Specifies what the route calculation should optimize for. See the technical concept on route calculation for details.
If the calculation criteria is set to MONETARY_COSTS, it is required to specify a currency in the route options.
monetaryCostOptions MonetaryCostOptions no - 2.21 Specifies how to calculate the monetary costs of a route.
binaryFeatureLayer EncodedContent (String) no - 2.19 Binary Feature Layer to be considered while calculating route.
etaCalculationOptions ETACalculationOptions no - 2.21 Specifies the options related to the calculation of the Estimated Time of Arrival (ETA).
currency CurrencyCode (String) no - 2.20 Specifies the currency for costs both in the request and the response.
exchangeRates ExchangeRates no - 2.26 Specifies the exchange rates that should be used for the toll price conversion to the target currency.

RouteReport

used by RouteResponse
since 2.10

Represents the summary of a route which has been calculated.

Field Name Type Required Default Since Description
routingType RoutingType no - 2.10 Strategy used in the route calculation (high-performance routing or conventional routing). For further explanation see the definition of RoutingType.

RouteRequest

extends RequestBase
used by XRoute
since 2.0

Specifies the route to be calculated.

Field Name Type Required Default Since Description
waypoints InputWaypoint[] 1..* - 2.0 List of waypoints to consider during routing.
routeOptions RouteOptions no - 2.0 Specifies how to calculate the route and how to fill the ResultFields which are enabled.
resultFields ResultFields no - 2.0 Specifies which fields of the RouteResponse shall be returned.

RouteResponse

extends ResponseBase
used by XRoute
since 2.0

Contains the result of a route request, i.e. the route and various result lists.

Field Name Type Required Default Since Description
distance Distance (double) yes - 2.0 The distance of the complete route. It is the sum of distances of all segments and hence is a whole number without decimal places (see Segment.distance). It equals the sum of distances of all legs.
travelTime Duration (double) yes - 2.0 The travel time for the complete route. It is the sum of travel times of all segments and hence has up to three decimal places (see Segment.travelTime). It equals the sum of travel times of all legs.
trafficDelay Duration (Double) no - 2.26

The total delay due to traffic incidents (traffic jams, construction sites etc.) on the route.

For each section of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass the traffic jam than usually at the same time and the same day of week. As an example, driving a section on a highway between two exits usually takes 15 minutes on an average Friday afternoon at 4 pm, but due to a road works there is a traffic jam on this specific Friday afternoon at 4 pm, and driving this section takes 30 minutes. The delay will be 15 minutes.

This value contains the sum of all traffic events on the route and will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used.

waypoints Waypoint[] 0..* - 2.0

The consecutive list of all waypoints along the route.

The list of waypoints is only populated if requested by ResultFields.waypoints.

legs Leg[] 0..* - 2.0

The consecutive list of all legs of which the route consists.

The list of legs is only populated if requested by ResultFields.legs.

segments Segment[] 0..* - 2.0

The consecutive list of all visited segments along the route. Besides actual segments in the underlying routing network this includes virtual segments created when linking a user-provided coordinate into the routing network.

The list of segments is only populated if requested by ResultFields.segments.

nodes Node[] 0..* - 2.0

The consecutive list of all visited nodes along the route. Besides actual nodes in the underlying routing network this includes virtual nodes created when linking a user-provided coordinate into the routing network.

The list of nodes is only populated if requested by ResultFields.nodes.

events RouteEvent[] 0..* - 2.13

The consecutive list of all visited route events along the route.

The list of route events is only populated if requested by ResultFields.eventTypes.

polyline EncodedGeometry no - 2.0

The polyline of the complete route. This polyline consists of all coordinates representing the route and can be used to draw the route into a map.

It is only returned if requested by ResultFields.polyline. It contains elevations only if requested by PolylineOptions.elevations.

If the elevations data do not cover the complete polyline, an ElevationsNotAvailableLimitation will be available which states which parts of the polyline are not covered.

toll Toll no - 2.10

The toll information for the complete route.

It is only returned if requested by ResultFields.toll.

emissions Emissions no - 2.0

The emissions along the route.

encodedPath EncodedContent (String) no - 2.20 The encoded string describing the complete path of the calculated route. Use this string as an input of another route request to calculate the same route with different parameters.
guidedNavigationRoute byte[] no - 2.13

A base64 encoded representation of the route that can be used for guided navigation. Calculating a guided navigation route requires maneuver events which have to be requested separately. The base64 binary has to be decoded and saved as text file and can then be imported in PTV Navigator and used for navigation.

tourReport TourReport no - 2.16 The report regarding the tour calculation.
violated boolean yes - 2.0 If set to true, indicates that this route contains a violation for the chosen vehicle.
report RouteReport no - 2.10

The report regarding the route calculation.

monetaryCostsReport MonetaryCostsReport no - 2.21 The monetary costs of the route. They are only returned if requested by ResultFields.monetaryCostsReport.
etaCalculationReport ETACalculationReport no - 2.21 The report regarding the calculation of the estimated time of arrival.
alternativeRoutes AlternativeRoute[] 0..* - 2.20 The alternative routes to the current route, in best to worst order.
providerIds String[] 0..* - (2.25) The provider ids of the route.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

RouteViolationEvent

extends RouteEvent
since 2.18

This event indicates the entering or exiting of an area where passing with the current vehicle is prohibited, but inevitable to find a route at all. The corresponding segments or nodes have the violated flag set. See the technical concept for more information.

Field Name Type Required Default Since Description
violationType RouteViolationType no - 2.18 The reason of the violation.
violatedFeature ViolatedFeature no - 2.20 The feature which is violated in case of violationType FEATURE.
accessType AccessType no - 2.18 Indicates how a range of segments with the same kind of violation is accessed.
relatedEventIndex Index (Integer) no - 2.18 For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise.

Segment

used by RouteResponse
since 2.0

A segment is defined by a start- and an end-node, which in turn will represent some geographic location. A segment may carry additional attributes and will add to the duration of a journey.

Field Name Type Required Default Since Description
startNodeIndex Index (Integer) no - 2.0 The index in the list of RouteResponse.nodes of the start node of the segment. It is available only if the list of nodes is requested by ResultFields.nodes.
endNodeIndex Index (Integer) no - 2.0 The index in the list of RouteResponse.nodes of the end node of the segment. It is available only if the list of nodes is requested by ResultFields.nodes.
distance Distance (double) yes - 2.0 The travel distance for the segment. It is always a whole number and depends on the segment type as follows.
travelTime Duration (double) yes - 2.0 The travel time for the segment. It has up to three decimal places and depends on the segment type as follows. If the segment distance is larger than 0 it is guaranteed that also the travel time is larger than 0. The travel times calculated based on travel speed are rounded to milliseconds.
travelSpeed Speed (double) yes - 2.0 The travel speed that was used to calculate the travel time for the segment. It is always a whole number and depends on the segment type as follows. Due to the rounding of travel times to milliseconds the speed that is re-calculated from segment travel time and distance can differ slightly from the travel speed returned here. For almost all segments the difference is less than 0.5km/h. Only for very small segment the difference can be higher - assuming a normal speed of at most 130km/h even for these small segments the difference does not exceed 2km/h.
trafficDelay Duration (Double) no - 2.26

The total delay due to traffic incidents (traffic jams, construction sites etc.) on the considered segment.

For each segment of the route where traffic incidents are present, the delay is calculated comparing the travel time for that section with and without traffic incidents. That means the delay contains the time that it takes longer to pass this segment than usually at the same time and the same day of week.

This value will be non-zero only when Feature Layer PTV_TrafficIncidents is enabled and one of the time-consideration scenarios ExactTimeConsiderationAtStart and ExactTimeConsiderationAtArrival is used.

emissions Emissions no - 2.0 The emissions along the route.
violated boolean yes - 2.0 If set to true, indicates that this segment contains a violation for the chosen vehicle.
eventIndices Index[] (Integer[]) 0..* - 2.14 The list of indices in the RouteResponse.events list containing all route events which occur at the beginning of the segment. An event may be present in consecutive segments if it covers a sequence of segments. The list is only populated if route events are requested by ResultFields.eventTypes.
type SegmentType yes - 2.0 A segment may have different types, e.g. it may be a "normal" segment between two network nodes, a "link segment", or a virtual segment which represents a border crossing or a waiting time.
polyline EncodedGeometry no - 2.0

The polyline of the segment. This polyline consists of all coordinates representing the segment and can be used to draw the segment into a map. Not available for segments of type SegmentType.NOT_DRIVING.

The polyline contains elevations only if requested by PolylineOptions.elevations. If the elevations data do not cover the complete polyline, an ElevationsNotAvailableLimitation will be available which states which parts of the polyline are not covered.

attributes SegmentAttributes no - 2.0 A set of attributes belonging to this segment such as "is this a bridge?" or "road name". Available only for segments of type SegmentType.NETWORK_SEGMENT.
combinedTransport CombinedTransportAttributes no - 2.0 Attributes which describe the combined transport this segment represents. Available only for segments of type SegmentType.COMBINED_TRANSPORT.
id SegmentId (String) no - 2.19 The ID of the segment.
providerId String no - (2.23) The provider id of the segment. It is only returned for segments of type SegmentType.NETWORK_SEGMENT.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

SegmentResultFields

used by ResultFields
since 2.0

Specifies if and to what extent the segments shall be returned for the complete route.

Field Name Type Required Default Since Description
enabled Boolean no false 2.0 Specifies if the segments shall be returned for the complete route.
emissions Boolean no false 2.0 Specifies if the emissions shall be returned for the complete route.
polyline Boolean no false 2.0 Specifies if the segments shall contain the polyline.
descriptors Boolean no false 2.0 Specifies if the segments shall contain the descriptors such as road name and number.
roadAttributes Boolean no false 2.0 Specifies if the segments shall contain the road attributes which describe it physically and legally.
featureThemeIds ThemeId[] (String[]) 0..* - 2.0 The list of Feature Layer theme IDs for which features are to be returned. Every requested theme must be enabled in the Feature Layer profile.
id Boolean no false 2.22 Specifies if the segments shall contain the ID of the segment.
providerId Boolean no false (2.23) Specifies if the segments shall contain the provider ID of the segment.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

SideOfStreetRestrictionIgnoredLimitation

extends ResultLimitation
since 2.20

This result limitation indicates that the sideOfStreetRestriction of an OffRoadRouteLocation or an OnRoadRouteLocation has been ignored. This happens when being used with calculateReachableAreas or calculateReachableLocations.

No fields defined.

Toll

used by RouteResponse
since 2.10

Specifies all the data concerning toll consisting of a toll summary and optionally more detailed information about the individual toll sections to be paid and the toll systems on the route.
Toll prices to not include VAT.

Field Name Type Required Default Since Description
summary TollSummary no - 2.10 The total toll costs aggregated by currency and by country.
sections TollSection[] 0..* - 2.16 The list of individual toll sections along the route. All toll section costs are always returned in the local currency. It provides also meta information that can be used to group and sum up the toll costs as needed. For example, the country in which the toll has to be paid or the toll system. The list is only populated if requested by TollResultFields.sections.
systems TollSystem[] 0..* - 2.16 The list of all toll systems along the route. It is only populated if requested by TollResultFields.systems.

TollCost

used by TollSection
since 2.16

Represents a single toll cost specifying the amount, currency, and optional meta information.

Field Name Type Required Default Since Description
amount double yes - 2.16 The amount of the costs in the specified currency.
currency CurrencyCode (String) yes - 2.16 The currency code.
paymentMethods PaymentMethod[] 0..* - 2.16 The payment methods how the cost can be paid.
electronicTollCollectionSubscriptions String[] 0..* - 2.16 The required electronic toll collection subscriptions for the payment method PaymentMethod.ELECTRONIC_TOLL_COLLECTION_SUBSCRIPTION. It is only populated if this payment method is applicable for the cost. In the request the subscriptions of the vehicle can be specified. The available subscriptions can be requested through the operation getDataInformation in the xRuntime service and are returned in TollFeatures.electronicTollCollectionSubscriptions.
convertedCost Cost no - 2.23 The amount that has to be paid converted to the requested currency. It is only returned if this currency is set in the route options of the request. It is still returned in case the requested currency and the currency in which the cost is captured in the data are the same.

TollEvent

extends RouteEvent
since 2.16

A toll event specifies if a toll road has been entered or exited and links that event to related toll events and toll sections.

Field Name Type Required Default Since Description
sectionIndex Index (Integer) no - 2.16 Index of the corresponding toll section if toll sections are requested in ResultFields.toll. Because toll sections can overlap it is not guaranteed that the display names of the toll event and the toll section match. Instead, the section indexes of a pair of ENTER and EXIT events define the range of sections between the two events.
displayName String no - 2.16 The display name of the toll event. It is only populated if a name is available. For example, this name can be a toll location name defined by the toll operator.
accessType AccessType no - 2.16 The access type specifies how a toll section is accessed.
relatedEventIndex Index (Integer) no - 2.16 For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise.

TollOptions

used by RouteOptions
since 2.21

Specifies how the toll shall be calculated.

Field Name Type Required Default Since Description
useDetailedToll Boolean no - (2.16) Specifies if detailed toll data shall be used for toll calculation. If this parameter is set to false detailed toll data is ignored and only basic toll data is used. This request parameter overwrites core.tollOptions.useDetailedToll in the Server Configuration.

This field is experimental. Before using it, make sure you understand the implications of Experimental features.

returnZeroCosts Boolean no false 2.21 Set this parameter to true, if the toll summaries should contain costs with amounts of zero when no toll applies.
Requires detailed toll data to be used.

TollResultFields

used by ResultFields
since 2.10

Specifies if and to what extent the toll shall be calculated and returned for the complete route.

Field Name Type Required Default Since Description
enabled Boolean no false 2.10 Specifies if the toll shall be returned for the complete route.
sections Boolean no false 2.16 Specifies if the toll shall contain detailed information about the sections.
systems Boolean no false 2.16 Specifies if the toll shall contain the toll systems.

TollSection

used by Toll
since 2.16

Represents one single section of the route for which the toll operator has defined toll costs. Besides the toll costs further information is optionally provided such as alternative costs with different payment methods or an official distance for the section defined by the toll operator.

Field Name Type Required Default Since Description
cost TollCost no - 2.16 The toll cost of the section. It is always returned in the currency in which it is captured in the data, which is usually the local currency of the country.
alternativeCosts TollCost[] 0..* - 2.16 Alternative costs for the section with different payment methods or different subscriptions. For example, consider a toll section with two alternative costs depending on the payment method, one more expensive with cash, and another less expensive which is applicable only with a subscription for an electronic toll collection system. If there is no such subscription configured for the vehicle, the section cost is the more expensive cash cost, and here the alternative and less expensive cost with the subscription is returned.
officialDistance Distance (Double) no - 2.16 The official distance defined by the toll operator. It is only populated if the toll operator provides an official distance.
calculatedDistance Distance (Double) no - 2.30 The calculated road distance of the section combining toll data from PTV and the from the map provider. Results for the same section may vary depending on waypoints as well as connected sections before and after it.
tollRoadType TollRoadType no - 2.16 The toll road type refers to the reason why toll is charged, e.g. tunnel, bridge, or mountain pass.
country CountryCode (String) no - 2.16 The country in which the costs have to be paid.
tollSystemIndex Index (Integer) no - 2.16 The index in the list of toll systems the toll section belongs to. The index is only populated if the toll systems are requested by TollResultFields.systems.
startNodeIndex Index (Integer) no - 2.18 The index in the list of RouteResponse.nodes where the toll section begins. It is available only if the list of nodes is requested by ResultFields.nodes.
endNodeIndex Index (Integer) no - 2.18 The index in the list of RouteResponse.nodes where the toll section ends. It is available only if the list of nodes is requested by ResultFields.nodes.
displayName String no - 2.18 A name that characterizes the toll section. For example it can relate to the names of the road intersections, to the area in general or to the type of toll.

TollSummary

used by Leg, Toll
since 2.10

Specifies key data concerning toll, for example the toll cost. Depending on the object that contains the toll summary it represents the summed up toll data either for the complete route or for some part of the route.

Field Name Type Required Default Since Description
costs Cost[] 0..* - 2.10 The total toll costs for the part of the route the toll summary represents. If there are no tolls on this part of the route the costs array is empty.
If a currency is specified the costs array consists of one element with the toll cost in the specified currency. Otherwise, the costs are summed up separately for each local currency that is involved.
countries CountryCost[] 0..* - 2.21 The total toll costs aggregated by country for the part of the route the toll summary represents.
It is only returned if detailed toll data is used.
By default, only countries where toll costs have to be paid are returned. This can be changed with the option returnZeroCosts.

TollSystem

used by Toll, TollScenario
since 2.16

Represents a toll system.

Field Name Type Required Default Since Description
name String no - 2.16 The name of the toll system. For example, Florida Turnpike, or TollCollect German Autobahn.
operatorName String no - 2.16 The name of the toll operator. For example, TollCollect.
tariffVersion String no - 2.16 The tariff version that has been used.
tariffVersionValidFrom XMLGregorianCalendar no - 2.16 The date at which this tariff version becomes valid, the time of day and the offset to UTC can be ignored. Note that this date can also be later than a specified reference time: In case there is no tariff version that is valid at a specified reference time the tariff version with the earliest valid from date is used.
tariffVersionDescription String no - 2.32 A short description of this tariff version. It is only filled if major changes to the system were made such as new vehicles or road coverage.

TourEvent

extends RouteEvent
since 2.16

This event indicates that a tour information happens at this position on the route. Basically, a tour event is related to an action which is not driving; e.g. a break period, a rest period, a service period to be performed, waiting time,...

Field Name Type Required Default Since Description
tourEventTypes TourEventType[] 1..* - 2.16 Tour event types of this event. An event can have several types, such as WAITING and BREAK.
tourViolations TourViolation[] 0..* - 2.16 Tour violations of this event.
duration Duration (double) yes - 2.16 Duration of this event.

TourReport

used by RouteResponse
since 2.16

Represents the summary of the tour which has been calculated.

Please note that the total travel time of the tour is equal to the travel time of the route (see RouteResponse.travelTime).

Field Name Type Required Default Since Description
violated Boolean no - 2.16 If set to true, indicates that this tour contains a tour violation.
startTime XMLGregorianCalendar no - 2.16 The start date/time of the tour.
endTime XMLGregorianCalendar no - 2.26 The end date/time of the tour.
serviceTime Duration (Double) no - 2.16 The total service time of the tour.
drivingTime Duration (Double) no - 2.16 The total driving time of the tour
waitingTime Duration (Double) no - 2.26 The total waiting time of the tour
breakTime Duration (Double) no - 2.26 The total break time of the tour
restTime Duration (Double) no - 2.26 The total rest time of the tour

TourRestrictions

used by RouteOptions
since 2.16

Specifies the all the information to take into account to calculate the tour.

Please note that if MultiDayWorkingHours is selected, the MultiDayWorkingHours.dailyRestPositions field has to be set explicitly to RestPositions.ANYWHERE.

Field Name Type Required Default Since Description
maximumTravelTimePerTour Duration (Double) no - 2.16 Restricts the maximum allowed total travel time per tour in seconds. The travel time contains all waiting, service and driving times. Drivers' working hours may be more restrictive and enforce a lower limit. Is infinite if it is not set.
maximumDrivingTimePerTour Duration (Double) no - 2.16 Restricts the maximum allowed total driving time per tour in seconds. Drivers' working hours may be more restrictive and enforce a lower limit. Is infinite if it is not set. Not supported for time dependent driving times.
workingHours WorkingHours no - 2.16 Defines the rules regarding drivers' working hours. Drivers' working hours are only active if this member is set.
configurableWorkingHours ConfigurableWorkingHours no - 2.27 Defines configurable rules regarding drivers' working hours. This value may only be set if working hours, maximum travel time per tour, maximum driving time per tour are not set.
configurableWorkingHoursPreset ConfigurableWorkingHoursPreset no - 2.27 For the user's convenience, a preset can be chosen for the configurable working hours. Every preset stands for a pre-defined parameterization of the included rules and total time limits. Using a preset means that conversely, the configurable working hours must not be set additionally.
workLogbookSummary WorkLogbookSummary no - 2.16 The summary of a logbook of a driver. If such a summary is missing, it is assumed that the driver is fully rested.

TourStopOptions

used by OffRoadWaypoint, OnRoadWaypoint
since 2.16

Describes the logistic information to apply on a waypoint ; such as the opening time windows and the service time.

Field Name Type Required Default Since Description
openingIntervals Interval[] 0..30 - 2.16 The list of opening time windows. Opening intervals for this site, specified in one of the valid interval formats. Leaving this parameter empty means that the site is always open. Service can only start within one of the opening intervals. Moreover only StartDurationInterval and StartEndInterval are supported to define the opening intervals on a waypoint.
serviceTime Duration (Double) no 0.0 2.16 The service time.

TrafficEvent

extends RouteEvent
since 2.27

This event indicates entering or exiting a traffic incident such as a traffic jam.

Field Name Type Required Default Since Description
delay Duration (Double) no - 2.27 The delay of this traffic event.
description String no - 2.27 The description. The language can be specified by RequestProfile.userLanguage.
descriptionLanguage LanguageCode (String) no - 2.27 The language of the description. It is only populated if different from the requested RequestProfile.userLanguage.
accessType AccessType no - 2.27 Indicates how a range of segments with the same kind of violation is accessed.
relatedEventIndex Index (Integer) no - 2.27 For accessType ENTER this index points to the corresponding event with accessType EXIT and vice-versa. Not present otherwise.

UTCOffsetEvent

extends RouteEvent
since 2.13

This event indicates that the offset to UTC changes at this point of the route. As this object contains only the new UTC offset, consider the previous UTCOffsetEvent to obtain the previous offset. To obtain the UTC offset for which the route starts, there is always an event for the start of the route.

Changing the UTC offset does not necessarily mean to change the time zone. Vice-versa changing the time zone does not necessarily mean to change the UTC offset. There are some special cases to consider.

  • The UTC offset may change even within a time zone when the route takes place exactly when the daylight-saving time changes.
  • The UTC offset may not change when changing the time zone. In Canada, for example, there are regions which do not use DST so that the neighboring time zone has the same UTC offset in summer.

Field Name Type Required Default Since Description
utcOffset UTCOffset (Integer) no - 2.13 The UTC offset valid for the segments after this event. The UTC offset will contain daylight-saving time only if a time-consideration scenario with a reference time is given in the request.

UnspecifiedMapDataLimitation

extends ResultLimitation
since 2.0

This result limitation indicates that during the calculation of the response map data was found that does not fulfill the internal specification. Such a case should be reported to the PTV xServer support.

Field Name Type Required Default Since Description
index Index (int) yes - 2.0 Index of segment with wrong map data.
path String yes - 2.0 XPath-like identification of the field containing wrong data.

VehicleNotSupportedForEmissionsLimitation

extends ResultLimitation
since 2.27

This result limitation indicates that the specified emission scenario is not supported for the given vehicle profile.

Field Name Type Required Default Since Description
emissionValueScenario String yes - 2.27 The emission value scenario.
scenarios String[] 1..* - 2.27 The unsupported emission scenarios.
parameter String yes - 2.27 The parameter causing the emission calculation failure.
value String yes - 2.27 The value causing the emission calculation failure.
supportedValues String[] 0..* - 2.27 The supported values of the parameter.

VehicleParametersAtWaypoint

used by MultiCoordinateOnRoadWaypoint, OffRoadWaypoint, OnRoadWaypoint
since 2.27

Defines the parameters that can be changed at a waypoint. For easy usage, it is allowed to specify them at all waypoints of type OffRoadWaypoint, OnRoadWaypoint and MultiCoordinateOnRoadWaypoint.
For example the base configuration of your vehicle is empty and then you can specify all required changes to the vehicle that come from loading and unloading at waypoints.
The behaviour is such that the state of the vehicle is kept until it is explicitly changed again. That means that if you model a loading action at the first waypoint, this is not automatically reset at the following waypoint.

Field Name Type Required Default Since Description
consumptionValues ConsumptionValues no - 2.27 Defines the consumption values of the vehicle. These parameters are only relevant if the driveType is MOTOR_VEHICLE.
weight Weight no - 2.27 Defines the weight parameters of the vehicle. The actual weight of the vehicle is the sum of the empty weight and the load weight.
dimensions Dimensions no - 2.27 Defines the size parameters of the vehicle, e.g. height, length, etc.
load Load no - 2.27 Defines the current load of the vehicle
axle Axle no - 2.27 Defines the axle parameters of the vehicle.
numberOfTrailers NonNegativeInteger (Integer) no - 2.27 The number of trailers. (2,3,4)

Categories: highPerformanceRouting

preferredRouteTypes CommaSeparatedList (String) no - 2.27 The road networks to be preferred by the routing algorithm as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'preferredRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5)

Categories: highPerformanceRouting

unrestrictedRouteTypes CommaSeparatedList (String) no - 2.27 The road networks without restrictions as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'unrestrictedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5)

Categories: highPerformanceRouting

restrictedRouteTypes CommaSeparatedList (String) no - 2.27 The road networks that should be avoided as far as possible, e.g. for convenience reasons, as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'restrictedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5)

Categories: highPerformanceRouting

highlyRestrictedRouteTypes CommaSeparatedList (String) no - 2.27 The road networks that must be avoided, e.g. due to legal limitations, as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'highlyRestrictedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5)

Categories: highPerformanceRouting

prohibitedRouteTypes CommaSeparatedList (String) no - 2.27 The road networks that are prohibited for the vehicle as a comma-separated list (only if the Feature Layer PTV_PreferredRoutes is enabled). The available types can be requested through the operation getDataInformation in the xRuntime service (Feature Layer theme 'PTV_PreferredRoutes', profile property 'prohibitedRouteType') and are documented in the manual as layer-specific properties of the Feature Layer PTV_PreferredRoutes. Use the special value 'NONE' to override a non-empty list from the stored profile with an empty list. (5)

Categories: highPerformanceRouting

VehiclePosition (abstract)

extended by PositionAtStop, PositionEnRoute
used by ETACalculationOptions
since 2.21

Position of the vehicle. For details on the results like waypoints or events see the technical concept Estimated Time of Arrival.

No fields defined.

ViolatedFeature

used by RouteViolationEvent
since 2.20

Contains the features of a Feature Layer theme valid for the segment in question.

Field Name Type Required Default Since Description
ruleId String no - 2.32

The ID of the rule which is violated. See the documentation of the Feature Layer theme in question for details on this rule. As an example, the Feature Layer theme PTV_TruckAttributes contains a rule ptvTA_BM_2 which blocks a road for all vehicles exceeding some weight limit. The corresponding weight limit will be given in the attributes.

This parameter is designed to explain why exactly this part of the route is violated. Its contents may change after updating the data.

themeId ThemeId (String) yes - 2.20 The ID of the Feature Layer theme to which this feature belongs to.
attributes KeyValuePair[] 0..* - 2.20 The list of attributes of a segment. For each attribute its type (key) and value is provided via key-value pairs. See the documentation of the layer-specific attributes for more information on the type and the range of available attributes.

Waypoint

used by RouteResponse
since 2.0

A waypoint defines the start or destination of a route or a route leg. Every waypoint corresponds to an InputWaypoint, but not every input waypoint corresponds to a waypoint in the route. It is guaranteed that the waypoint of index n starts the leg of index n. That means that the number of waypoints equals the number of legs plus 1.

Field Name Type Required Default Since Description
name String no - 2.0 The name of the corresponding input waypoint. This user-defined name is available only if InputWaypoint.name for the corresponding input waypoint is set.
country CountryCode (String) yes - 2.0 Country the waypoint is located in. This value is determined based on the Waypoint.linkedCoordinate. Note that for this reason rare situations can occur close to borders where the Waypoint.referenceCoordinate for the waypoint is not in the same country.
linkedCoordinate Coordinate yes - 2.0 The coordinate where input location was linked to the road network. This location is always on the route.
referenceCoordinate Coordinate yes - 2.0 The location of the waypoint on the route. For an OffRoadWaypoint this is the input location, for an OnRoadWaypoint this is the linked location. Use this location to mark the waypoint on the map.
linkDistance Distance (double) yes - 2.0 Distance as the crow flies from the input coordinate to the linked coordinate.
linkTravelTime Duration (double) yes - 2.0 Assumed travel time it takes to get from the input coordinate to the linked coordinate. The speed can be configured by Speeds.speedForLinkDistance.
nodeIndex Index (Integer) no - 2.0 The index in the list of RouteResponse.nodes of the corresponding node. It is available only if the list of nodes is requested by ResultFields.nodes.

WaypointEvent

extends RouteEvent
since 2.13

This event provides information on a Waypoint reached by the route. Note that there is no waypoint event for ManipulateRouteWaypoint and CombinedTransportViaWaypoint as they are only used to control the route.

Field Name Type Required Default Since Description
waypointIndex Index (Integer) no - 2.13 The index of the waypoint in the RouteResponse.waypoints list. This field is only present if the list of waypoints is present.
waypointName String no - 2.13 The name of the waypoint as given in the corresponding InputWaypoint. This field is only present if its is not empty. This is useful to identify input waypoints when the waypoints list is not available in the response.

WaypointNotLinkedLimitation

extends ResultLimitation
since 2.0

This result limitation indicates that at least one input waypoint could not be linked to the road network in the expected way.

Field Name Type Required Default Since Description
parameter String no - 2.0 Parameter which influences the linking behaviour in this case.

waypointIndices Index[] (Integer[]) 1..* - 2.0 The indices of the input waypoints which are affected.

Indicates if a range of segments is entered or exited or both at the same time. The latter could be true, if the range consists of only few segments or nodes.

Enumeration Value Since Description
ENTER 2.16 Indicates the entering of a range of segments.
EXIT 2.16 Indicates the exiting of a range of segments.
PASS 2.16 Indicates that the range is very small.
Enumeration

ManeuverType

used by ManeuverEvent
since 2.13

Describes the type of maneuver to execute.

Enumeration Value Since Description
START 2.13 Denotes the departure at an OnRoadWaypoint.
START_LEFT 2.13 Denotes the departure at an OffRoadWaypoint to begin the route to the left.
START_RIGHT 2.13 Denotes the departure at an OffRoadWaypoint to begin the route to the right.
ARRIVE 2.13 Denotes the arrival at an OnRoadWaypoint.
ARRIVE_LEFT 2.13 Denotes the arrival at an OffRoadWaypoint if the waypoint is on the left.
ARRIVE_RIGHT 2.13 Denotes the arrival at an OffRoadWaypoint if the waypoint is on the right.
CONTINUE 2.13 Indicates to follow the current road. Usually such a maneuver occurs when the road attributation changes although the road goes straight.
KEEP_STRAIGHT 2.13 Indicates to stay on the straight lane. This is usually in fork-shaped intersections with more than two spikes.
KEEP_LEFT 2.13 Indicates to keep left or to take the left lanee. This usually occurs in Y-shaped intersections.
KEEP_RIGHT 2.13 Indicates to keep right or to take the right lane. This usually occurs in Y-shaped intersections.
TURN_HALF_LEFT 2.13 Indicates to turn half left at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created.
TURN_LEFT 2.13 Indicates to turn left at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created.
TURN_SHARP_LEFT 2.13 Indicates to turn sharp left at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created.
TURN_HALF_RIGHT 2.13 Indicates to turn half right at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created.
TURN_RIGHT 2.13 Indicates to turn right at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created.
TURN_SHARP_RIGHT 2.13 Indicates to turn sharp right at a crossing where at least one additional trailing road exists. Usually this occurs at T- or X-shaped crossings on urban or country roads. Even if the name of the turning road does not change a maneuver will be created.
MAKE_U_TURN 2.13 Indicates to make a U-turn. Either at the same road or at structurally separated roads. The ManeuverEvent.relativeDirection indicates whether to turn left or right.
TAKE_ROUNDABOUT_LEFT 2.13 Indicates to enter a roundabout to the left and leave it at the given roundaboutExit. Only drivable roads of the roundabout are counted.
TAKE_ROUNDABOUT_RIGHT 2.13 Indicates to enter a roundabout to the right and leave it at the given roundaboutExit. Only drivable roads of the roundabout are counted.
TAKE_COMBINED_TRANSPORT 2.13 Indicates to take a railferry or a ferryboat. There is no direction available in this case.
ENTER 2.13 Indicates to enter a highway/freeway/major road straight.
ENTER_LEFT 2.13 Indicates to enter a highway/freeway/major road to the left.
ENTER_RIGHT 2.13 Indicates to enter a highway/freeway/major road to the right.
EXIT 2.13 Indicates to leave a highway/freeway/major road straight.
EXIT_LEFT 2.13 Indicates to leave a highway/freeway/major road to the left.
EXIT_RIGHT 2.13 Indicates to leave a highway/freeway/major road to the right.
CHANGE 2.13 Indicates to change straight to another highway/freeway at an interchange.
CHANGE_LEFT 2.13 Indicates to change to the left to another highway/freeway at an interchange.
CHANGE_RIGHT 2.13 Indicates to change to the right to another highway/freeway at an interchange.
Enumeration

NodeType

used by Node
since 2.0

Enumeration of the different Node types returned by a routing operation. While a NodeType.NETWORK_NODE is an actual node in the routing network, other virtual node types are also created. For example a NodeType.INPUT_NODE might represent an arbitrary user supplied InputWaypoint. A corresponding NodeType.LINK_NODE is then required to represent the point where the segment from the user supplied waypoint is connected to the actual routing network.

Enumeration Value Since Description
NETWORK_NODE 2.0 Node is present in the underlying routing network.
LINK_NODE 2.0 Virtual node on a segment in the underlying routing network to which an NodeType.INPUT_NODE is linked.
INPUT_NODE 2.0 Virtual node representing a user provided input waypoint.
Enumeration

PaymentMethod

used by TollCost
since 2.16

Represents payment methods for toll costs.

Enumeration Value Since Description
ELECTRONIC_TOLL_COLLECTION_SUBSCRIPTION 2.16 Pay with an electronic toll collection system for which a subscription is required.
ELECTRONIC_TOLL_COLLECTION 2.16 Pay with some electronic toll collection system for which no prior subscription is required.
CASH 2.16 Pay with cash at a toll booth.
CREDIT_CARD 2.16 Pay with credit card at a toll booth.
UNSPECIFIED 2.16 Fallback value to be substituted for enumeration values which were added in an API version that is newer than the request version. When using the current API, this value will never be returned.
Enumeration

ReachableAreasCalculationMode

used by ReachableAreasOptions
since 2.18

Specifies the calculation mode of a reachable areas calculation.

Enumeration Value Since Description
PERFORMANCE 2.18 The calculation is fast but produces a polygon which gives only a rough overview on the reachable areas. Use this mode to get a quick response on large horizons.
QUALITY 2.18 The calculation produces an exact polygon for the reachable areas including minor roads but is less performant. Use this mode to get good results and with small horizons. It is strongly recommended to call the operation asynchronously as the response times tend to be much longer.
Enumeration

ReachableAreasDrivingDirection

used by ReachableAreasOptions
since 2.18

Specifies the driving direction, i.e. from start to destination or from destination to start.

Enumeration Value Since Description
INBOUND 2.18 Indicates an inbound routing from destination to start, i.e. from where the location can be reached within the given horizon. Use this value to calculate the catchment area, e.g. of a school or a hospital.
OUTBOUND 2.18 Indicates an outbound routing from start to destination, i.e. what area can be reached from the location within the given horizon. Use this value to calculate which can be covered e.g. by an emergency service such as a fire department.
Enumeration

ReachableLocationsSearchType

used by ReachableLocationsOptions
since 2.21

Represents the different available search types for calculating the reachable locations.

Enumeration Value Since Description
LOCATION_REACHABLE_FROM_WAYPOINT 2.21 The location should be reachable from the waypoint in a certain horizon.
WAYPOINT_REACHABLE_FROM_LOCATION 2.21 The waypoint should be reachable from the location in a certain horizon.
Enumeration

RouteEventType

used by ResultFields, RouteEvent
since 2.13

Enumeration of the different RouteEvent types returned by a routing operation.

Enumeration Value Since Description
MANEUVER_EVENT 2.13 This event type indicates that the driver has to take an action, e.g. turn left or right.
TOUR_EVENT 2.16 This event type indicates that a tour information is available at this position.
TOLL_EVENT 2.16 This event type indicates that a toll road is entered, exited or a toll booth is passed.
WAYPOINT_EVENT 2.13 This event type indicates that a waypoint is reached by the route.
ROUTE_VIOLATION_EVENT 2.18 This event type indicates that there is a route violation starting or ending at this position.
UTC_OFFSET_EVENT 2.13 This event type indicates that the offset to UTC changes.
COUNTRY_EVENT 2.13 This event type indicates that a border between countries or subdivisions is crossed, i.e. the country code changes.
COMBINED_TRANSPORT_EVENT 2.20 This event type indicates that a combined transport is entered or exited.
TRAFFIC_EVENT 2.27 This event type indicates that a traffic incident such as a traffic jam is entered or exited.
LOW_EMISSION_ZONE_EVENT 2.32 This event type indicates that a low emission zone is entered or exited.
Enumeration

RouteViolationType

used by RouteViolationEvent
since 2.18

Indicates due to what reason a route violation occurs.

Enumeration Value Since Description
PROHIBITED 2.18 The violated segment is prohibited in general for the current vehicle. See road attribute 'prohibited'.
DELIVERY_ONLY 2.18 The violated segment is prohibited except for delivery reasons but delivery is disallowed for the current vehicle. See road attribute 'deliveryOnly'.
URBAN 2.19 The violated segment is prohibited because it is flagged as urban. See road attribute 'urban'.
RESIDENTS_ONLY 2.19 The violated segment is prohibited because it is flagged as residents only for the current vehicle. See road attribute 'residentsOnly'.
RESTRICTED_ACCESS 2.18 A point with restricted access, e.g. a gate or a bollard was passed.
FEATURE 2.20 The violated segment has an attribute from some enabled Feature Layer theme which prohibits to pass with the current vehicle (e.g. a weight or height restriction).
COMBINED_TRANSPORT 2.18 The violated segment is a ferry or a piggyback prohibited for the current vehicle.
PROHIBITED_BY_INTERSECTING_POLYLINE 2.26 The violated segment is prohibited by an intersecting polyline.
SEASONAL_CLOSURE 2.31 The violated segment is prohibited because it is flagged as seasonallyClosed. See road attribute 'seasonallyClosed'.
UNSPECIFIED 2.18 Fallback value to be substituted for enumeration values which were added in an API version that is newer than the request version.
Enumeration

TollRoadType

used by TollSection
since 2.16

Represents reasons why toll is charged.

Enumeration Value Since Description
GENERAL 2.16 A general toll road.
CITY 2.16 The toll is charged because a whole city is subject to toll.
BRIDGE 2.16 The toll is charged because of a bridge.
TUNNEL 2.16 The toll is charged because of a tunnel.
FERRY 2.16 The toll is charged because of a ferry.
MOUNTAIN_PASS 2.16 The toll is charged because of a mountain pass.
UNSPECIFIED 2.16 Fallback value to be substituted for enumeration values which were added in an API version that is newer than the request version. When using the current API, this value will never be returned.

Diagrams

Operations Overview

Route Request

Route Response

Result Fields

Route Options

Input Waypoints

Toll Calculation

Tour Calculation

Tour Restrictions

ETA Calculation

Tour Event

Route Events

Reachability

Result Limitations

Profile Request