obsidian-vault/Pizza-Digital/docs/SPEC-CITYFOODS-VIDEO-PARITY.md
Roger 62a20a2573 Add Pizza-Digital docs to Obsidian vault and sync with VM125.
Mirror all SPECs and construction docs from pizza-digital, add hub/sidebar links and bidirectional sync scripts.
2026-11-09 19:45:11 +00:00

142 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SPEC — Paridade UI/ops com 3 vídeos CityFoods
| Campo | Valor |
|-------|--------|
| **Produto** | Pizza Digital |
| **Documento** | Gap analysis + requisitos de UI idêntica em operação |
| **Versão** | 0.1.0 |
| **Data** | 2026-10-22 |
| **Alinha com** | SPEC-DESPACHO-CITYFOODS-PARITY v0.2 · SPEC.md §15 |
| **Vídeos** | [Overview yVtc](https://www.youtube.com/watch?v=yVtcgJt0L_Q) · [Forno Jxau](https://www.youtube.com/watch?v=JxauDKXTJr0) · [Despacho+mapa KDcD](https://www.youtube.com/watch?v=KDcDTGEw11A) |
---
## 0. Objetivo
Reconstruir a superfície operacional para **a mesma interface e operacionalidade** mostrada nos três vídeos — não só “capacidade de backend”.
Prioridade absoluta do produto: **mapa como bloco inteiro na tela**, capaz de rastrear todas as entregas/motoboys ao vivo.
---
## 1. Narrativa por vídeo (transcrição)
### V1 — Overview Siciliana / Mangue Hills (`yVtcgJt0L_Q`)
- Despacho = “coração operacional”: frota casa/rua, canal, nº pedido, tempos, reordenação → KDS.
- Cores de estágio: vermelho (novo) · laranja (produção) · amarelo (forno).
- Rotas inteligentes: pedidos próximos saem juntos.
- Cotação iFood vs frota própria (fora de escopo imediato — P3).
- Conferência/estufa com etiqueta → aparece no despacho.
- Ranking ao vivo (pizzas/noite, tempo médio) + funil (produção/forno/estufa/rua).
### V2 — Forno / filtro por sabor (`JxauDKXTJr0`)
- KDS forno touch: filtrar por **sabor** (ex.: calabresa → Napoli) para achar a comanda na noite cheia.
- Confirmar item encontrado → bump; quando todos os itens do pedido estão ok → pedido **pronto** para despacho.
- Impressão opcional por etapa.
### V3 — Despacho + rastreio (`KDcDTGEw11A`) — **âncora do mapa**
1. Tela de despacho: pedidos **verdes** = prontos aguardando entregador (tempo / atraso).
2. Selecionar N pizzas que formam uma “roda” (rota).
3. Escolher entregador do dia.
4. Botão **Ir para entrega** → pedidos saem da visualização de prontos e vão para o app do entregador.
5. Mapa de rastreio: **todas as entregas de todos os entregadores** em tempo real + pin do motoboy.
6. Filtro por entregador (ex.: Steve) → só as paradas dele.
7. Entregue no app → pin **some** do mapa; última entrega → motoboy apto a voltar à casa.
8. Relatório noite: entregas, km, ranking pizzaiolo (já coberto em `/ops`).
---
## 2. Gap vs Pizza Digital (baseline pós-Gestor de Rotas)
| Capacidade vídeo | Baseline | Gap |
|------------------|----------|-----|
| Pedidos verdes prontos no despacho | Estufa/pronto com cards | ⚠️ Visual não “verde pronto” unificado |
| Seleção + “Ir para entrega” (1 clique) | Montar rota → Despachar (2 passos) | ❌ CTA e fluxo do vídeo |
| Mapa **bloco inteiro** / viewport dominante | Painel lateral sticky ~320px | ❌ Layout |
| Rastreio **todos** motoboys + paradas | Mapa foca 1 rota ativa | ❌ Multi-rota / multi-driver |
| Filtro mapa por entregador | Tabs de rota | ⚠️ Parcial |
| Pin some ao entregar | Stop `entregue` ainda desenhado | ❌ Deve omitir pin |
| App motoboy navegar Maps/Waze | Deep-link Google | ✅ parcial |
| Forno filtro por sabor | KDS claim/bump sem filter sabor | ❌ V2 (próximo) |
| Ranking / funil | `/ops` | ✅ |
| iFood cotação | — | ❌ P3 |
---
## 3. Requisitos novos (UI parity)
### Tela D2 — Despacho mapa-first (`/despacho`)
| ID | Requisito | Pri |
|----|-----------|-----|
| RF-VID-01 | Layout: **mapa = bloco dominante full-bleed** (≥ ~55–70% do viewport útil); lista de prontos + frota em dock lateral/inferior, sem esconder o mapa | P0 |
| RF-VID-02 | Lista unificada de **prontos verdes** (estufa + pronto sem rota); tempo e atraso visíveis | P0 |
| RF-VID-03 | Seleção múltipla + entregador + CTA primário **Ir para entrega** (= montar batch + despachar na rua numa ação) | P0 |
| RF-VID-04 | Ao Ir para entrega: pedidos saem da lista; entram no app motoboy; pins aparecem no mapa | P0 |
| RF-VID-05 | Mapa mostra **todas** as rotas `na_rua` (e preview/montada) + pins de **todos** os motoboys com GPS | P0 |
| RF-VID-06 | Chip/filtro por entregador: “todos” ou 1 motoboy — atualiza pins | P0 |
| RF-VID-07 | Parada `entregue` **não** desenha pin (some do rastreio) | P0 |
| RF-VID-08 | Socket: `route.*` / `driver.ping` / `order.delivered` redesenham o mapa sem reload manual | P0 |
| RF-VID-09 | Manter atalhos avançados (Preview / Montar sem despachar) em menu secundário | P1 |
| RF-VID-10 | KDS forno: filtro por sabor (chips) + confirmar item — ver RF-FOR-* | P1 |
### Tela KDS Forno (V2)
| ID | Requisito | Pri |
|----|-----------|-----|
| RF-FOR-01 | Em `/kds/forno` (ou estação forno): chips de sabores presentes na fila | P1 |
| RF-FOR-02 | Selecionar 1–N sabores filtra tickets que contenham esses itens | P1 |
| RF-FOR-03 | Confirmar item encontrado (bump parcial) até pedido completo → pronto/estufa | P1 |
---
## 4. Layout alvo (D2)
```
┌─────────────────────────────────────────────────────────────┐
│ Nav · Despacho · ao vivo · Motoboy · Ops │
├──────────────┬──────────────────────────────────────────────┤
│ Prontos ● N │ │
│ [✓] #003 … │ MAPA FULL-BLEED │
│ [✓] #013 … │ (todas entregas + motoboys) │
│ [✓] #004 … │ │
│ │ │
│ Motoboy ▾ │ │
│ [Ir p/ entrega] │
│ Frota chips │ Filtro mapa: Todos | Steve | … │
└──────────────┴──────────────────────────────────────────────┘
```
Mobile: mapa no topo (min-height ~45vh); dock de prontos abaixo.
---
## 5. Aceite (definição de pronto desta SPEC)
1. Abrir `/despacho` → mapa ocupa o bloco principal da tela (não coluna estreita).
2. Selecionar 2+ pedidos verdes + motoboy → **Ir para entrega** → somem da lista e aparecem no mapa + `/motoboy`.
3. Com 2 motoboys na rua, o mapa mostra paradas/pins de ambos; filtrar um esconde o outro.
4. Marcar entregue no motoboy → pin correspondente some imediatamente (socket).
5. SPEC-DESPACHO v0.2 continua válida para modelo de dados; este doc manda na **UI**.
---
## 6. Fora de escopo imediato
- Cotação iFood / marketplace (V1 / P3)
- Cópia pixel-perfect de assets proprietários CityFoods
- Offline motoboy / PIN
---
## 7. Sequência de construção
1. **Agora:** RF-VID-01…08 — rebuild `/despacho` mapa-first + Ir para entrega
2. Em seguida: RF-FOR-01…03 — filtro forno
3. Depois: P3 iFood
---
*Cruzamento das 3 transcrições × SPEC-DESPACHO v0.2 × pizza.itecnologys.com — 2026-10-22.*