Nesse exemplo temos uma rota no México, onde os pedágios podem possuir valores diferentes para cada destino.
Este exemplo é específico para rotas traçadas no México, onde dependendo da concessionária os critérios para cálculo da tarifa poderão ser uma das opções abaixo:
-
Cobrança simples, a depender somente do tipo de veículo e quantidade de eixos.
-
Variável de acordo com origem e destino da rota a ser realizada.
No último caso, além dos detalhes da praça de pedágio, a API retornará na response todas as tarifas disponíveis de seus respectivos trechos.
No exemplo a seguir temos um rota com um caminhão de dois eixos que passa pelo pedágio de Ruiz, no México.
{
"calculationMode": "THE_FASTEST",
"points": [
{
"siteId": "p1",
"latitude": 21.952688,
"longitude": -105.116793
},
{
"siteId": "p2",
"latitude": 21.950404,
"longitude": -105.114812
}
],
"toll": {
"vehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES"
}
}
Assim como na resposta dos exemplos anteriores, em tollCosts temos o valor total dos pedágios em toda a rota. Em cada objeto retornado em legs, será retornado um objeto tollCalculation contendo um objeto tolls com os valores e informações de cada pedágio no trecho correspondente, e a legTotalCost que mostra o valor total de pedágios naquele trecho.
Dentro de cada objeto em tolls teremos as informações de cada pedágio. Com as seguintes diferenças:
-
price - Valor normal do pedágio (nesse caso será igual à primeira opção Origem - Destino);
-
conditions - Array com todos os valores condicionais do pedágio. No caso desse exemplo, temos as seguintes informações:
-
billingsType - Tipo de cobrança de pedágio. Valores possíveis: [NORMAL, TAG];
-
routes - Trecho de origem e destino definido pela concessionária responsável pela praça de pedágio. Nesse exemplo teremos 3 opções: Entronque San Blas - Rosamorada, Estación Yago - Rosamorada e Entronque San Blas - Estación Ruiz
-
value - Valor do condicionante do pedágio na moeda local.
-
Segue a resposta completa abaixo. As coordenadas estão codificadas como object:
{
"id": "63dbfdd4e52c9c19635a68bd",
"clientId": "qBPERsYpGuBp9ksxA1EGncIYlVM8ULee",
"totalDistance": 326,
"totalNominalDuration": 14,
"averageSpeed": 0.0,
"tollCosts": 220.00,
"legs": [
{
"distance": 326,
"nominalDuration": 14,
"averageSpeed": 0.0,
"points": [
{
"latitude": 21.95268,
"longitude": -105.1168
},
{
"latitude": 21.95235,
"longitude": -105.11654
},
{
"latitude": 21.95134,
"longitude": -105.11568
},
{
"latitude": 21.95071,
"longitude": -105.11508
},
{
"latitude": 21.9504,
"longitude": -105.11481
},
{
"latitude": 21.9504,
"longitude": -105.11481
}
],
"tollCalculation": {
"tolls": [
{
"id": "2296",
"name": "Peaje - Ruíz",
"address": "",
"city": "Ruiz",
"state": {
"name": "Nayarit",
"code": "Nayarit"
},
"country": "México",
"concession": "Tepic - Villa Unión",
"direction": "SOUTH",
"coordinates": {
"latitude": 21.951853461673615,
"longitude": -105.11594373835344
},
"serviceTypes": [],
"price": 220.00,
"conditions": [
{
"billingsType": [
"NORMAL"
],
"routes": [
"Entronque San Blas - Rosamorada"
],
"value": 220.00
},
{
"billingsType": [
"NORMAL"
],
"routes": [
"Estación Yago - Rosamorada"
],
"value": 170.00
},
{
"billingsType": [
"NORMAL"
],
"routes": [
"Entronque San Blas - Estación Ruiz"
],
"value": 160.00
}
]
}
],
"legTotalCost": 220.00
}
}
],
"crossedBorders": [],
"source": "MAPLINK",
"createdAt": 1675361748690,
"expiryIn": 1675966548320
}