# PRD — Simulação de Operação (Demo) | 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-SIM-OPS-DEMO.md` | | **Módulo** | Motor /sim | | **Rotas UI** | `/sim` | | **APIs** | `/api/sim/*` | | **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 Demonstrar ciclo completo Joinville sem operação real: canais → KDS → estufa → rotas → ETA. ## 2. Processo — operar o simulador 1. Login (gestor/ops) 2. Abrir `/sim` 3. `GET /api/sim/status` 4. `POST /api/sim/start` — inicia geração 5. Opcional `POST /api/sim/simulate-turno` 6. Observar `/pedidos`, `/kds/producao`, `/despacho` 7. `POST /api/sim/stop` 8. Limpar: `POST /api/sim/purge` ## 3. Parâmetros típicos (Spec) Até ~2000 ops/dia · 15 motoboys SIM · cap prep · Joinville. ## 4. Aceite - ✅ Controller/UI sim - ⚠️ Calibrar carga para demo comercial sem derrubar VM ## 5. Motor SimService (~1090 linhas) | Método | Papel no loop | |--------|----------------| | `start` / `stop` / `statusRich` | Controle | | `tick` | Heartbeat do simulador | | `ingress` | Gera pedidos (canais) | | `advanceKitchen` | Empurra KDS | | `dispatchReady` | Cria rotas | | `completeDeliveries` | Fecha entregas | | `ensureFleet` / `ensurePizzaiolos` | Seeds SIM | | `simulateTurno` | Atalho turno | | `purge` | Limpa dados teste |