Exemplo 5 - Pedágios com tarifas por faixa de horário

Nesse exemplo, vamos considerar como a API retorna os valores de praças de pedágio com valores diferente para dias de semana, horários ou temporada.

Algumas praças de pedágio, principalmente na Argentina e no Chile, possuem valores condicionantes que variam conforme o dia, horário ou época do ano em que a rota está sendo realizada.

Por exemplo, na Argentina as concessionárias possuem tarifas especiais para horários de pico, finais de semana e feriados, ou épocas específicas do ano como baixa temporada e alta temporada.

Abaixo segue a tabela de tarifas da concessionária AUSA da Argentina, onde são disponibilizadas dois tipos de tarifas, uma para horário comum e outra para horário de pico.

803e1240-921e-45d1-acae-11a61c0af1f6

No Brasil, esse tipo de tarifa é mais raro, mas algumas concessionárias já cobram valores diferentes em finais de semana e feriados

Nesse exemplo temos um rota com um caminhão de 4 eixos que passará pelo pórtico de Sarmiento, na Argentina. Conforme a tabela acima, esse pórtico possui valores condicionantes para os horários de pico. Abaixo a requisição completa:

{
  "calculationMode": "THE_FASTEST",
  "points": [
    {
      "latitude": -34.566702,
      "longitude": -58.406596,
      "siteId": "SP"
    },
    {
      "latitude": -34.566436,
      "longitude": -58.408582,
      "siteId": "CAMPINAS"
    }
  ],
  "toll": {
    "vehicleType": "TRUCK_WITH_FOUR_DOUBLE_AXLES",
    "billing": "FREE_FLOW"
  }
}

O resultado pode ser visualizado no mapa abaixo:54a84d06-f350-4ac5-8391-f0c9f059848c

Assim como nos 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 na moeda local, cobrado em horários sem ser pico ou alguma condicionante;

  • conditions - Array com todos os valores condicionais do pedágio. Informa haver variações de preços devido alguma condição de dia da semana, horário e se é realizado com pagamento automático ou manual. No caso desse exemplo, temos as seguintes informações:

    • daysOfWeek - Array com os dias da semana a qual se aplica a tarifa. Valores possíveis são: [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY]

    • subConditions - Indica subcondições para o dia da semana a qual se aplica a tarifa;

      • periods - Array com os períodos em que se aplica a tarifa no dia da semana. Neste exemplo, há o período “NORMAL” e o período “HOLIDAY”. Os valores possíveis são: [NORMAL, HOLIDAY, LOW_SEASON, HIGH_SEASON].

      • timesWindow - Array com os intervalos de horário no formato ["HH:mm:ss = HH:mm:ss"].

      • billingsType - Tipo de cobrança de pedágio. Valores possíveis: [NORMAL, TAG ];

      • value - Valor da tarifa condicionante do pedágio na moeda local.

A resposta completa encontra-se abaixo. As coordenadas estão codificadas como object:

{
    "id": "63e3fd4714afae02576eff15",
    "clientId": "qBPERsYpGuBp9ksxA1EGncIYlVM8ULee",
    "totalDistance": 327,
    "totalNominalDuration": 31,
    "averageSpeed": 52.00,
    "tollCosts": 250.26,
    "legs": [
        {
            "distance": 327,
            "nominalDuration": 31,
            "averageSpeed": 52.0,
            "points": [
                {
                    "latitude": -34.5667,
                    "longitude": -58.4066
                },
                {
                    "latitude": -34.56676,
                    "longitude": -58.40645
                },
                {
                    "latitude": -34.56681,
                    "longitude": -58.40638
                },
                {
                    "latitude": -34.56696,
                    "longitude": -58.40629
                },
                {
                    "latitude": -34.56711,
                    "longitude": -58.40627
                },
                {
                    "latitude": -34.56727,
                    "longitude": -58.40634
                },
                {
                    "latitude": -34.56737,
                    "longitude": -58.40645
                },
                {
                    "latitude": -34.56743,
                    "longitude": -58.40663
                },
                {
                    "latitude": -34.56744,
                    "longitude": -58.40673
                },
                {
                    "latitude": -34.56743,
                    "longitude": -58.40685
                },
                {
                    "latitude": -34.56735,
                    "longitude": -58.40707
                },
                {
                    "latitude": -34.56735,
                    "longitude": -58.4072
                },
                {
                    "latitude": -34.56725,
                    "longitude": -58.40735
                },
                {
                    "latitude": -34.56644,
                    "longitude": -58.40859
                },
                {
                    "latitude": -34.56644,
                    "longitude": -58.40859
                }
            ],
            "tollCalculation": {
                "tolls": [
                    {
                        "id": "1032",
                        "name": "Pórtico - Sarmiento",
                        "address": "Avenida Sarmiento, 4254",
                        "city": " ",
                        "state": {
                            "name": "Ciudad Autonoma de Buenos Aires",
                            "code": "CABA"
                        },
                        "country": "Argentina",
                        "concession": "Ausa",
                        "direction": "WEST",
                        "coordinates": {
                            "latitude": -34.5671991,
                            "longitude": -58.4063059
                        },
                        "serviceTypes": [],                        ],
                        "price": 250.26,
                        "conditions": [
                            {
                                "daysOfWeek": [
                                    "THURSDAY",
                                    "TUESDAY",
                                    "MONDAY",
                                    "WEDNESDAY",
                                    "FRIDAY"
                                ],
                                "subConditions": [
                                    {
                                        "periods": [
                                            "NORMAL"
                                        ],
                                        "subConditions": [
                                            {
                                                "timesWindow": [
                                                    "16:00:00 - 19:59:59",
                                                    "07:00:00 - 10:59:59"
                                                ],
                                                "subConditions": [
                                                    {
                                                        "billingsType": [
                                                            "NORMAL"
                                                        ],
                                                        "value": 601.76
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "daysOfWeek": [
                                    "SATURDAY",
                                    "SUNDAY"
                                ],
                                "subConditions": [
                                    {
                                        "periods": [
                                            "NORMAL"
                                        ],
                                        "subConditions": [
                                            {
                                                "timesWindow": [
                                                    "17:00:00 - 20:59:59"
                                                ],
                                                "subConditions": [
                                                    {
                                                        "billingsType": [
                                                            "NORMAL"
                                                        ],
                                                        "value": 601.76
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "daysOfWeek": [
                                    "THURSDAY",
                                    "TUESDAY",
                                    "SATURDAY",
                                    "MONDAY",
                                    "SUNDAY",
                                    "WEDNESDAY",
                                    "FRIDAY"
                                ],
                                "subConditions": [
                                    {
                                        "periods": [
                                            "HOLIDAY"
                                        ],
                                        "subConditions": [
                                            {
                                                "timesWindow": [
                                                    "17:00:00 - 20:59:59"
                                                ],
                                                "subConditions": [
                                                    {
                                                        "billingsType": [
                                                            "NORMAL"
                                                        ],
                                                        "value": 601.76
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ],
                "legTotalCost": 250.26
            }
        }
    ],
    "source": "MAPLINK",
    "createdAt": "2023-02-08T19:51:35.086073Z",
    "expireIn": "2023-02-15T19:51:35.086133Z""
}