Exemplo 6 - Pedágios com tarifas dependendo da origem e destino (México)

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:

  1. Cobrança simples, a depender somente do tipo de veículo e quantidade de eixos.

  2. 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
}