pizza-digital/docs/PRD/PRD-SPEC-KDS-PIZZAIOLO-MODELO-B.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

57 lines
2 KiB
Markdown

# 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 |