← HomeFleetPay / Schema

CotarVpoRequest

Structure preserved from the versioned API contract.

Technical descriptions are translated from the versioned contract. Original identifiers and JSON are preserved; data examples are omitted.

origemstringRequired

Postal code (with or without a hyphen) or departure city name/address.

minLength3
maxLength150
destinostringRequired

Postal code (with or without a hyphen) or destination city name/address.

minLength3
maxLength150
eixosintegerRequired

Total axle count of the commercial vehicle or vehicle combination.

minimum2
maximum10
placastring | nullOptional

Commercial vehicle license plate (Mercosur or legacy Brazilian format).

maxLength10
modalidadestring | nullOptional

Requested route option (planejada: optimized direct route; estendida: route allowing detours; customizada: specific toll plazas).

"planejada" · "estendida" · "customizada"
pontos_paradaarray | nullOptional

Intermediate waypoints, in the order the vehicle visits them, between origem and destino. The operator does not accept a polyline: the route is defined by waypoints. Each waypoint can be a city (cidade, in "City, State" format) or a latitude/longitude pair in decimal degrees (for example, relevant vertices of your own route). If a waypoint includes both a city and coordinates, the city takes precedence. Use this field to route through a specific highway or reproduce a route from your routing engine. Without this field, the operator chooses the route between origin and destination.

maxItems20
tipo_rotastring | nullOptional

Operator's criterion for determining the main route between the points.

"mais_rapida" · "mais_curta"
Original JSON Definition (Portuguese Descriptions)
{
  "type": "object",
  "required": [
    "origem",
    "destino",
    "eixos"
  ],
  "properties": {
    "origem": {
      "type": "string",
      "minLength": 3,
      "maxLength": 150,
      "description": "CEP (com ou sem hífen) ou nome da cidade/endereço de partida."
    },
    "destino": {
      "type": "string",
      "minLength": 3,
      "maxLength": 150,
      "description": "CEP (com ou sem hífen) ou nome da cidade/endereço de chegada."
    },
    "eixos": {
      "type": "integer",
      "minimum": 2,
      "maximum": 10,
      "description": "Quantidade total de eixos do veículo comercial ou conjunto."
    },
    "placa": {
      "type": "string",
      "maxLength": 10,
      "nullable": true,
      "description": "Placa do veículo comercial (padrão Mercosul ou antigo)."
    },
    "modalidade": {
      "type": "string",
      "enum": [
        "planejada",
        "estendida",
        "customizada"
      ],
      "nullable": true,
      "description": "Modalidade de rota pretendida (`planejada`: rota direta otimizada; `estendida`: rota com tolerância para desvios; `customizada`: praças específicas)."
    },
    "pontos_parada": {
      "type": "array",
      "nullable": true,
      "maxItems": 20,
      "description": "Pontos intermediários da viagem, **na ordem em que o veículo passa**, entre `origem` e `destino`.\nA operadora não aceita polyline: a rota é traçada por pontos de parada, e cada ponto pode ser uma\ncidade (`cidade`, no formato \"Cidade, UF\") **ou** um par `latitude`/`longitude` em graus decimais\n(vértices relevantes de um traçado próprio, por exemplo). Se um ponto trouxer cidade e coordenadas,\nvale a cidade. Use-o para forçar o trajeto por uma rodovia específica ou reproduzir a rota do seu\nroteirizador. Sem este campo a operadora escolhe o trajeto entre origem e destino.\n",
      "items": {
        "$ref": "#/components/schemas/VpoPontoParada"
      }
    },
    "tipo_rota": {
      "type": "string",
      "enum": [
        "mais_rapida",
        "mais_curta"
      ],
      "nullable": true,
      "default": "mais_rapida",
      "description": "Critério da operadora para traçar a rota principal entre os pontos."
    }
  }
}