Privacy Policy

1. Introduction

This Privacy Policy describes how we collect, use, and protect your personal information when you use our chatbot, which interacts with the Gemini AI API and stores your questions in our database.

2. Information Collected

When using our chatbot, we collect the following types of information:

  • Conversation Information: All messages you send and receive through the chatbot.
  • Identification Data: We may collect data such as IP address and geographic location information.

3. Use of Information

The information collected is used for the following purposes:

  • Interaction with the AI API: Your messages are sent to the Gemini API to generate appropriate responses.
  • Question Storage: Your questions are stored in our database for analysis and service improvement purposes.

4. Information Sharing

We do not share your personal information with third parties, except in the following cases:

  • Service Providers: We may share information with vendors who help us operate our service, such as the Gemini API.
  • Legal Compliance: We may disclose information to comply with legal obligations or respond to legal processes.

5. Information Security

We implement appropriate security measures to protect your information from unauthorized access, alteration, disclosure, or destruction. These measures include:

  • Encryption: Use of encryption to protect data in transit.
  • Restricted Access: Access to information is limited to employees and partners who need this information to operate our service.

6. Your Rights

You have the right to:

  • Access and Correct: Request access to your personal information and correct inaccurate data.
  • Delete Data: Request the deletion of your personal information, subject to certain conditions.
  • Withdraw Consent: Withdraw your consent to the processing of your personal information.

7. Changes to the Privacy Policy

We reserve the right to update this Privacy Policy at any time. We will notify you of any significant changes through our website or other appropriate communication channels.

8. Contact

If you have any questions about this Privacy Policy, please contact us at [email protected]

9. Consent

By using our service, you agree to the collection and use of your information as described in this Privacy Policy.

This Privacy Policy has been created to ensure that your personal information is treated with security and respect. We appreciate your trust and are committed to protecting your privacy.

Trip

Calculating tolls on stretches with varying axles

In addition to allowing tolls to be calculated on the route, the Trip API allows different types of vehicles to be specified for specific sections of the route. Ideal for routes that use different types of vehicles or for routes where vehicle axles are raised/lowered on certain sections.

In the following example, we have a route between São Paulo and Matão, which passes through different cities. The route will be made with a 4 double axle vehicle, however, one of the axles will be suspended on the stretch from Jundiaí to Rio Claro, and on the stretch from Rio Claro to São Carlos another axle will be suspended. After São Carlos, all the axles will be lowered to their final destination.

To do this, you need to add the following parameters inside toll:

  • vehicleType – Type of vehicle used during the route;
  • variableAxles – Array of objects with the specific rules for each section. Each object must contain the following parameters:
    • fromSiteId – String with the ID of the starting point where the new rule should be applied;
    • toSiteId – String with the ID of the end point of the section where the new rule is to be applied;
    • newVehicleType – New type of vehicle to be considered for the stretch in question.

The points referenced in fromSiteId and toSiteId must be listed in the points parameter and must have the same name used in siteId. At vehicleType and newVehicleType, the following values are possible:

  • MOTORCYCLE
  • CAR
  • CAR_WITH_THREE_SIMPLE_AXLES
  • CAR_WITH_FOUR_SIMPLE_AXLES
  • BUS_WITH_TWO_DOUBLE_AXLES
  • BUS_WITH_THREE_DOUBLE_AXLES
  • BUS_WITH_FOUR_DOUBLE_AXLES
  • BUS_WITH_FIVE_DOUBLE_AXLES
  • TRUCK_WITH_TWO_SINGLE_AXIS
  • TRUCK_WITH_TWO_DOUBLE_AXLES
  • TRUCK_WITH_THREE_DOUBLE_AXLES
  • TRUCK_WITH_FOUR_DOUBLE_AXLES
  • TRUCK_WITH_FIVE_DOUBLE_AXLES
  • TRUCK_WITH_SIX_DOUBLE_AXLES
  • TRUCK_WITH_SEVEN_DOUBLE_AXLES
  • TRUCK_WITH_EIGHT_DOUBLE_AXLES
  • TRUCK_WITH_NINE_DOUBLE_AXLES
  • TRUCK_WITH_TEN_DOUBLE_AXLES

Below is a complete example of what the request would look like for the route between São Paulo and Matão detailed above:

{
    "calculationMode": "THE_FASTEST",
    "points": [
        {
            "latitude": -23.555771,
            "longitude": -46.639557,
            "siteId": "SP"
        },
        {
            "latitude": -23.18567,
            "longitude": -46.88926,
            "siteId": "JUNDIAI"
        },
        {
            "latitude": -22.905082,
            "longitude": -47.061333,
            "siteId": "CAMPINAS"
        },
        {
            "latitude": -22.410765,
            "longitude": -47.559621,
            "siteId": "RIO CLARO"
        },
        {
            "latitude": -22.017056,
            "longitude": -47.889687,
            "siteId": "SÃO CARLOS"
        },
        {
            "latitude": -21.779084,
            "longitude": -48.179264,
            "siteId": "ARARAQUARA"
        },
        {
            "latitude": -21.605827,
            "longitude": -48.362041,
            "siteId": "MATÃO"
        }
    ],
    "toll": {
        "vehicleType": "TRUCK_WITH_FOUR_DOUBLE_AXLES",
        "variableAxles": [
            {
                "fromSiteId": "JUNDIAI",
                "toSiteId": "RIO CLARO",
                "newVehicleType": "TRUCK_WITH_THREE_DOUBLE_AXLES"
            },
            {
                "fromSiteId": "RIO CLARO",
                "toSiteId": "SÃO CARLOS",
                "newVehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES"
            }
        ]
    }
}