pizza-digital/PRD/PRD-SPEC-DESPACHO.md
Admin e3da540b6e Add detailed developer PRDs for all Pizza Digital SPECs.
Each PRD documents real UI/API processes, service methods, states and gaps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-09 21:22:22 +00:00

2.4 KiB

PRD — Despacho / Gestor de Rotas (CityFoods parity)

Campo Valor
Produto Pizza Digital
Versão app auditada v0.5.0
Ambiente https://pizza.itecnologys.com · VM125 · loja pizza-digital-piloto
Spec de origem docs/SPEC-DESPACHO-CITYFOODS-PARITY.md
Módulo Rotas, motoboys, mapa
Rotas UI /despacho /motoboy /ops
APIs /api/routes/* /api/drivers/* /api/ops/* /api/zones/*
Data 2026-11-09
Estilo PRD operacional detalhado (visão de desenvolvedor)
Audiência Dev / QA / Product

Como ler: cada seção descreve o processo real (o que o sistema faz hoje), com passos de usuário, chamadas de API, regras de negócio e estados. Status: ✅ construído · ⚠️ parcial · ⏳ especificado / não entregue · 🐛 gap observado.

1. Objetivo implementado

Sair de “lista de prontos + SAIR” para fluxo: Montar rota → Despachar → mapa → status motoboy → fechar.

2. Processo — montar e despachar rota

  1. Pedidos ready no board
  2. Operador em /despacho seleciona pedidos
  3. POST /api/routes/preview (ordem sugerida)
  4. POST /api/routes cria DispatchBatch + DispatchStop
  5. PATCH /api/routes/:id/driver associa motoboy (Driver)
  6. POST /api/routes/:id/dispatch sai para rua
  7. Mapa acompanha; POST /api/routes/:id/ping atualiza lat/lng
  8. Por stop: POST /api/routes/:id/stops/:orderId/status (a_caminho/entregue)
  9. POST /api/routes/:id/close fecha batch

3. Processo — motoboy

  1. UI /motoboy
  2. GET /api/routes/driver/:driverId / GET /api/routes/active
  3. Atualiza status das paradas

4. Cadastros apoio

  • Drivers CRUD /api/drivers
  • Zonas /api/zones · UI /admin/zonas
  • Ops funnel/ranking/priority /api/ops/*

5. Aceite

  • ✅ Routes API + Despacho/Motoboy pages
  • ⚠️ Paridade mapa full-bleed (ver PRD vídeo)
  • ⏳ ORS tour produção robusto

6. Camada de serviço (RoutesService)

Arquivo: apps/api/src/routes/routes.service.ts (~548 linhas)

Método Processo
preview Ordena stops candidatos (sem persistir)
buildStops / create Cria batch+stops
assignDriver Liga Driver
dispatch Status em rota
ping GPS
setStopStatus a_caminho / entregue / falha
close Fecha batch
listActive / activeForDriver / get Leituras UI