Each PRD documents real UI/API processes, service methods, states and gaps. Co-authored-by: Cursor <cursoragent@cursor.com>
57 lines
2 KiB
Markdown
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 |
|