Skip to content

Modelo de Dados — Entrega

Referencia completa do objeto DeliveryOut retornado pela API.


Campos

Campo Tipo Nullable Descricao
id UUID nao Identificador unico gerado automaticamente
title string nao Nome ou descricao da entrega
status string nao Estado atual: pending, assigned, in_progress, completed, cancelled
origin_address string nao Endereco de origem (texto livre)
origin_lat float nao Latitude de origem
origin_lng float nao Longitude de origem
destination_address string nao Endereco de destino (texto livre)
destination_lat float nao Latitude de destino
destination_lng float nao Longitude de destino
distance_km float sim Distancia calculada em km via OpenRouteService
driver_earnings string sim Ganho do motorista em BRL (formato decimal: "29.00")
driver_id UUID sim ID do motorista atribuido (null quando status=pending)
admin_id UUID nao ID do admin que criou a entrega
created_at datetime nao Data de criacao (ISO 8601, UTC)
updated_at datetime nao Data da ultima atualizacao (ISO 8601, UTC)
assigned_at datetime sim Quando o motorista aceitou
started_at datetime sim Quando a coleta foi iniciada
completed_at datetime sim Quando a entrega foi concluida
cancelled_at datetime sim Quando foi cancelada

Exemplo de objeto completo

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Entrega Centro",
  "status": "completed",
  "origin_address": "Rua das Flores, 100, Goiania - GO",
  "origin_lat": -16.6869,
  "origin_lng": -49.2648,
  "destination_address": "Av. Anhanguera, 500, Goiania - GO",
  "destination_lat": -16.6643,
  "destination_lng": -49.2744,
  "distance_km": 12.3,
  "driver_earnings": "29.60",
  "driver_id": "550e8400-e29b-41d4-a716-446655440001",
  "admin_id": "550e8400-e29b-41d4-a716-446655440002",
  "created_at": "2026-05-19T10:00:00Z",
  "updated_at": "2026-05-19T11:45:00Z",
  "assigned_at": "2026-05-19T10:05:00Z",
  "started_at": "2026-05-19T10:30:00Z",
  "completed_at": "2026-05-19T11:45:00Z",
  "cancelled_at": null
}

Valores do campo status

Valor Descricao Proximos estados possiveis
pending Criada, aguardando motorista aceitar assigned, cancelled
assigned Motorista aceitou, a caminho da coleta in_progress, cancelled
in_progress Motorista coletou, entregando completed, cancelled
completed Entrega finalizada, ganhos creditados — (terminal)
cancelled Cancelada pelo admin — (terminal)

Notas sobre driver_earnings

  • Tipo string (nao float) para preservar precisao decimal
  • Calculado no momento da criacao com base na pricing_config vigente
  • Use Decimal em Python, BigDecimal em Ruby, ou parseFloat(...).toFixed(2) em JS
  • Formula: veja Configuracao de Precos