# PRD — KDS Pizzaiolo Modelo B | 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-KDS-PIZZAIOLO-MODELO-B.md` | | **Módulo** | Produção por pizza (montagem ≠ forno) | | **Rotas UI** | `/kds/producao` | | **APIs** | `/api/kds/pizzas/*` | | **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. Diferença do KDS clássico Modelo B trabalha **PrepTask por pizza**, não só ticket por estação genérica. Montagem e forno têm responsáveis independentes. ## 2. Processo — board pizzaiolo 1. UI `/kds/producao` → `GET /api/kds/pizzas/board` 2. Card por pizza (áreas coloridas, botões grandes) 3. `POST /api/kds/pizzas/:taskId/pegar` — assume montagem 4. `POST .../devolver` — devolve à fila 5. `POST .../enviar-forno` — handoff montagem→forno 6. `POST .../assumir-forno` — outro operador assume forno 7. `POST .../marcar-pronta` — pizza pronta 8. `POST .../transferir` — troca responsável ## 3. Estados típicos da task ```text fila → em_montagem → no_forno → pronta → (estufa/expedição) ``` ## 4. Aceite - ✅ Endpoints pizzas/* e página KdsPizzaioloPage - ⚠️ Paridade visual completa com mock Spec ## 5. Camada de serviço — pizzas/* | Método | Ação do pizzaiolo | |--------|-------------------| | `pizzaBoard` | Snapshot do board | | `pizzaPegar` | Assume card (montagem) | | `pizzaDevolver` | Devolve à fila | | `pizzaEnviarForno` | Handoff | | `pizzaAssumirForno` | Outro user no forno | | `pizzaMarcarPronta` | Finaliza pizza | | `pizzaTransferir` | Troca responsável | | `emitPizza` | Realtime do card |