Availability of toll data
Generally, toll data is available for most countries in Europe, the United States of America, Australia and New Zealand listed on the Map Data page. The exact occurrences on road level can be viewed on the Toll Map page.
In order to determine programmatically if toll data are available for a country or a state, please refer to the method getMapInformation in the Data API and its concept page.
How is the toll price determined?
The toll price depends on the vehicle. Within the vehicle object there are many parameters that may influence toll costs. All of them are annotated by the tag "Relevant for toll", for example the totalPermittedWeight or numberOfAxles. Which parameters are used in the actual price calculation depends on the vehicle concept of the toll operator and how this can be mapped to our vehicle parameters.
Note: Toll prices do not include VAT.
Basic definitions
Toll system
A toll system groups sections according to common properties such as all sections of a certain operator or all sections that use the same tariff system.
Toll section
A toll section represents a part of the route for which toll has to be paid. The length of a section is defined by the operator. Its price is usually captured in the domestic currency and sometimes can vary throughout the day or year. Consider the concept on Traffic Modes for more information.
Another reason for different prices of the same section can be the payment method, especially when the toll operators offer a subscription. There is a dedicated concept page for Electronic Toll Collection.
Toll event
Toll events show where on the route a toll road is joined or left. This is signaled with a pair of events as ENTER and EXIT events are linked to each other. The part of the route between such a pair of events can consist of one or more toll sections. Toll events are only returned when the vehicle actually has to pay toll. Important: The coordinate of the event does not imply that a toll booth or toll road sign is present.
Toll data updates
Our toll data is updated frequently without further notice. The attributes tariffVersion and tariffVersionValidFrom of the toll system give more information.
Toll forecasts
Our toll data may contain data about upcoming price changes. Check the toll data page in which countries this might be case. With the parameter options[tollTime] set to a corresponding date and time in the future, the new prices will be included in the route response. A workflow to compare toll prices would look like this:
- A first call to calculateRoute requesting the route id and the toll results of interest. Live traffic cannot be predicted far in the future, so a comparison is more meaningful with options[trafficMode]=AVERAGE.
- A second call to calculateRoute using the previously retrieved route id with options[tollTime] set to a date and time after the new prices become valid.
Toll road distance
At the toll sections there are the fields officialDistance and calculatedDistance. The former is not always present in the data, therefore our service combines our own toll data as well as map provider data to determine the length of a section. The logic with which toll providers determine the official distance is not always known and furthermore not implemented in our product, hence the official distance and the calculated distance will differ.
The distance spent on toll roads can be aggregated by processing the distance fields of toll sections. Alternatively, you can process the field distanceFromStart of the toll events to accumulate the toll road distance.
Waypoints on a toll road
There are differences in how toll systems work. Some toll systems require an onboard unit to track the vehicle. For others you have to pass a toll plaza once or a twice, for example when the vehicle enters the toll road and when it leaves the toll road. When one of the waypoints is on a toll road or at a service station inside a toll section, the toll information might be incomplete depending on how the toll data is modeled. For the case that two toll locations are required to calculate the toll price, several scenarios can be distinguished:
- A-B-C: Consider a route with three waypoints A, B and C where A and C are the depot and the customers location and B is an intermediate stop at a service station on a highway. The toll road is entered between A and B and left between B and C. The toll summary of the route will contain the correct price, but the leg toll summary for the leg A to B will have zero costs, because the toll road is left between B and C and only then the toll information to calculate the price is available.
- A-B where A is on the toll road: In this situation it is not known where the toll road is entered. Along the route it is checked where there is the next possibility to enter the toll road and then this information is used to calculate the toll price.
- A-B where B is on the toll road: In this situation it is not known where the toll road is left. Along the road after the destination it is checked where there is the next possibility to leave the toll road and then this information is used to calculate the toll price.
- A-B where both waypoints are on the toll road: This is just a combination of the two previous cases and both steps are done.
In case the required toll information is approximated as described above this is also visible at various parts of the response. The display name of the affected toll events will contain the suffix "(approximated)". The fields approximated of the affected toll section and containsApproximatedSections of the toll costs will be set to true.
Currency conversion
By default the toll prices are returned in their domestic currencies. The response will be extended with the converted toll prices in the currency of your choice by specifying it in the request. The exchange rates to perform the conversion are updated on a daily basis and the currencies object contains more information about the used exchange rates.
See also the toll concept for the Matrix Routing API.
Recent changes in the European Union
Since the end of the year 2023 two new vehicle parameters are relevant for toll calculation in several European countries (e.g., Austria and Germany) with the implementation of the 2022 version of the Directive 1999/62/EC of the European Parliament and of the Council on the charging of heavy goods vehicles for the use of certain infrastructures.
- The co2EmissionClass: As specified in Article 7ga of the above mentioned directive, vehicles with high CO₂ emissions shall pay a higher toll compared to vehicles with low CO₂ emissions.
The totalTechnicallyPermittedWeight: It is a variant of the already existing totalPermittedWeight and in particular refers to the technically permitted weight, which is normally specified by the manufacturer. It is possible to register a vehicle with a legally permitted weight (which we refer to with the vehicle parameter totalPermittedWeight) smaller than the technically permitted weight. For example, in Germany often vehicles with a technically permitted weight of a bit more than 3.5t are registered with a legally permitted weight of just 3.5t; this procedure is also called "Ablasten" in German. On the one hand, the maximum allowed payload is smaller, on the other hand there are some benefits like the vehicle can be driven with a normal driver's license or it is allowed to use roads that are closed for trucks. Up to 2023 there was another benefit since the smaller legally permitted weight was also relevant for tolls, but with the implementation of the above mentioned EU directive the technically permitted weight becomes relevant instead.
The European Union Council Directive 1999/37/EC on the registration documents for vehicles specifies three different variants of permissible laden mass (which we call "permitted weight"):
- (F.1) maximum technically permissible laden mass
- (F.2) maximum permissible laden mass of the vehicle in service in the Member State of registration (optional)
- (F.3) maximum permissible laden mass of the whole vehicle in service in the Member State of registration (optional)
Often these values are the same, and in this case it is sufficient to set one of the parameters totalPermittedWeight or totalTechnicallyPermitted weight to that value (see also the section on weight parameters of the concept on vehicle parameters). However, if they are different, F.1 can be set as totalTechnicallyPermittedWeight, and F.3 or F.2 as totalPermittedWeight. This allows that the correct total technically permitted weight is used for toll calculation and the different total (legally) permitted weight is used for other decisions like whether a road is closed or not. Note that the term "total" indicates that the permitted weight parameters always refer to the whole vehicle including all trailers.