# PRD — Estoque / SmartStock | 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-ESTOQUE.md` | | **Módulo** | Insumos, CMV, transferências, turnos | | **Rotas UI** | `/estoque` `/estoque/smart/*` | | **APIs** | `/api/estoque/*` `/api/estoque/smart/*` | | **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. Visão de implementação Dois níveis: 1. **Estoque clássico** (`/api/estoque`) — insumos, ajuste, relatório, preview baixa 2. **SmartStock** (`/api/estoque/smart`) — estações, transferências, picking, turnos, contagens Ponte com cardápio: BOM (`MenuItemRecipeLine`) e `stockMode`. ## 2. Processo — baixa por venda (conceitual) 1. Pedido confirmado com itens `stockMode=bom` 2. Preview `POST /api/estoque/preview` 3. Consumo grava `RecipeConsumption` / movimentos 4. Alerta se saldo insuficiente (strict mode `PATCH /api/estoque/strict`) ## 3. Processo — SmartStock transferência (dev steps) 1. Estação solicita: `POST /estoque/smart/requests` 2. Central vê `GET /estoque/smart/transfers` 3. `POST .../start-picking` → `PATCH .../picking` linhas 4. `POST .../dispatch` → envio 5. Destino `POST .../receive` 6. Movimentos auditáveis `GET /estoque/smart/movements` ## 4. Processo — turno / fechamento 1. `POST /estoque/smart/shifts/open` 2. Contagens `POST .../counts` 3. Aprovação por insumo `POST .../approve/:ingredientId` 4. `POST .../close` 5. UI: `/estoque/smart/fechamento/:shiftId` ## 5. UI map - Dashboard, Central, Transferências, Consumo, Movimentos, Estação, Recebimento ## 6. Aceite - ✅ Módulo SmartStock amplo na API/UI - ⚠️ Strict/BOM amarrado 100% ao PDV em todos itens - ⏳ NF compra / inventário físico completo ## 7. SmartStockService (~1838 linhas) — processos chave | Método | Processo | |--------|----------| | `dashboard` / `listStations` / `stationBoard` | Visão | | `createRequest` | Pedido de reposição | | `startPicking` / `updatePickingLines` | Separação | | `dispatchTransfer` / `receiveTransfer` | Envio/recebimento | | `openShift` / `saveCounts` / `approveCount` / `closeShift` | Fechamento | | `movements` / `movementDetail` / `moveBalance` | Auditoria saldo |