706 lines
66 KiB
Markdown
706 lines
66 KiB
Markdown
# MAPA GERAL DO SISTEMA RETAIL - Arcádia Suite
|
||
|
||
---
|
||
|
||
## 1. VISÃO MACRO DO MÓDULO
|
||
|
||
```
|
||
╔══════════════════════════════════════════════════════════════════════════════════╗
|
||
║ ARCÁDIA RETAIL - MAPA GERAL ║
|
||
║ Loja de Celulares e Assistência Técnica ║
|
||
╠══════════════════════════════════════════════════════════════════════════════════╣
|
||
║ ║
|
||
║ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ║
|
||
║ │DASHBOARD│ │ PDV │ │ PESSOAS │ │ ESTOQUE │ │SERVIÇOS │ ║
|
||
║ │ (KPIs) │ │ (Caixa) │ │(Cadastro│ │(Depósito│ │ (O.S.) │ ║
|
||
║ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ ║
|
||
║ │ │ │ │ │ ║
|
||
║ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ║
|
||
║ │TRADE-IN │ │ COMPRAS │ │CADASTROS│ │RELATÓRIO│ │COMISSÕES│ ║
|
||
║ │(Aval.) │ │(Aquis.) │ │ (Config)│ │(Reports)│ │ (Metas) │ ║
|
||
║ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ ║
|
||
║ │ │ │ │ │ ║
|
||
║ └────────────┴────────────┴─────┬──────┴────────────┘ ║
|
||
║ │ ║
|
||
║ ┌─────────┴─────────┐ ║
|
||
║ │ CONFIGURAÇÃO │ ║
|
||
║ │ Plus / Empresas │ ║
|
||
║ └───────────────────┘ ║
|
||
╚══════════════════════════════════════════════════════════════════════════════════╝
|
||
```
|
||
|
||
---
|
||
|
||
## 2. FLUXO PRINCIPAL DE OPERAÇÕES
|
||
|
||
```
|
||
┌──────────────────────────────────────────────┐
|
||
│ ENTRADA DE MERCADORIA │
|
||
└──────────────────────┬───────────────────────┘
|
||
│
|
||
┌──────────────────────┬┴──────────────────────┐
|
||
▼ ▼ ▼
|
||
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
||
│ COMPRA │ │ TRADE-IN │ │ CONSIGNAÇÃO │
|
||
│ Fornecedor │ │ Cliente │ │ Parceiro │
|
||
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
|
||
│ │ │
|
||
│ ┌──────┴───────┐ │
|
||
│ │ Avaliação │ │
|
||
│ │ 19 itens │ │
|
||
│ │ checklist │ │
|
||
│ └──────┬───────┘ │
|
||
│ │ │
|
||
│ ┌──────┴───────┐ │
|
||
│ │ Aprovação │ │
|
||
│ │ Gera Crédito│ │
|
||
│ │ Cria O.S. │ │
|
||
│ └──────┬───────┘ │
|
||
│ │ │
|
||
│ ┌──────┴───────┐ │
|
||
│ │ Revisão │ │
|
||
│ │ O.S. Interna│ │
|
||
│ │ Manutenção │ │
|
||
│ └──────┬───────┘ │
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌─────────────────────────────────────────────────────┐
|
||
│ ESTOQUE │
|
||
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||
│ │Depósito │ │Depósito │ │Depósito │ │
|
||
│ │ Loja │ │ Central │ │Trânsito │ │
|
||
│ └────┬────┘ └────┬────┘ └────┬────┘ │
|
||
│ └────────────┼────────────┘ │
|
||
│ │ │
|
||
│ ┌────────────────┬┴──────────────────┐ │
|
||
│ │ Dispositivos │ Produtos │ │
|
||
│ │ (por IMEI) │ (por qtd/série) │ │
|
||
│ └────────────────┴───────────────────┘ │
|
||
└────────────────────┬────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────────────────┐
|
||
│ PDV │
|
||
│ │
|
||
│ ┌────────────┐ ┌────────────┐ ┌──────────────┐ │
|
||
│ │Dispositivos│ │ Produtos │ │ Faturar O.S. │ │
|
||
│ │ (IMEI) │ │(Acessórios)│ │ (Serviços) │ │
|
||
│ └─────┬──────┘ └─────┬──────┘ └──────┬───────┘ │
|
||
│ └───────────────┼────────────────┘ │
|
||
│ ▼ │
|
||
│ ┌──────────────────┐ │
|
||
│ │ CARRINHO │ │
|
||
│ │ │ │
|
||
│ │ Subtotal │ │
|
||
│ │ - Desconto │ │
|
||
│ │ - Trade-In │ │
|
||
│ │ - Crédito │ │
|
||
│ │ = TOTAL │ │
|
||
│ └────────┬─────────┘ │
|
||
│ ▼ │
|
||
│ ┌──────────────────┐ │
|
||
│ │ PAGAMENTO │ │
|
||
│ │ 💵 Dinheiro │ │
|
||
│ │ 💳 Débito │ │
|
||
│ │ 💳 Crédito (Nx) │ │
|
||
│ │ 📱 PIX │ │
|
||
│ │ 🔀 Combinado │ │
|
||
│ └────────┬─────────┘ │
|
||
│ ▼ │
|
||
│ ┌──────────────────┐ │
|
||
│ │ VENDA │ │
|
||
│ │ Impressão A4 │ │
|
||
│ │ Sync Plus │ │
|
||
│ │ NF-e/NFC-e │ │
|
||
│ └──────────────────┘ │
|
||
└─────────────────────────────────────────────────────┘
|
||
│
|
||
┌────────────┼────────────────┐
|
||
▼ ▼ ▼
|
||
┌────────────┐ ┌─────────┐ ┌────────────┐
|
||
│ COMISSÃO │ │RELATÓRIO│ │ DEVOLUÇÃO │
|
||
│ Vendedor │ │Caixa │ │ Troca │
|
||
│ Metas │ │Diário │ │ Crédito │
|
||
└────────────┘ └─────────┘ └────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 3. CICLO DE VIDA DO DISPOSITIVO (IMEI)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ JORNADA DO DISPOSITIVO POR IMEI │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ENTRADA │
|
||
│ ═══════ │
|
||
│ │
|
||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ COMPRA │ │ TRADE-IN │ │ CONSIGNAÇÃO │ │
|
||
│ │ Fornecedor │ │ Cliente │ │ Parceiro │ │
|
||
│ │ condition: │ │ condition: │ │ condition: │ │
|
||
│ │ new │ │ used/refurb │ │ varies │ │
|
||
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
|
||
│ │ │ │ │
|
||
│ │ ┌──────┴───────┐ │ │
|
||
│ │ │ AVALIAÇÃO │ │ │
|
||
│ │ │ Checklist │ │ │
|
||
│ │ │ 19 itens │ │ │
|
||
│ │ └──────┬───────┘ │ │
|
||
│ │ │ │ │
|
||
│ │ ┌──────┴───────┐ │ │
|
||
│ │ │ O.S. INT. │ │ │
|
||
│ │ │ Revisão │ │ │
|
||
│ │ │ Manutenção │ │ │
|
||
│ │ └──────┬───────┘ │ │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ ┌─────────────────────────────────────────────────────┐ │
|
||
│ │ ESTOQUE (status: in_stock) │ │
|
||
│ │ │ │
|
||
│ │ IMEI: 35XXXXXXXXXXXXX │ │
|
||
│ │ Marca: Samsung | Modelo: S24 Ultra │ │
|
||
│ │ Cor: Preto | Storage: 256GB | RAM: 12GB │ │
|
||
│ │ Condição: refurbished │ │
|
||
│ │ Preço Compra: R$ 2.500 | Preço Venda: R$ 3.500 │ │
|
||
│ │ Depósito: Loja Centro │ │
|
||
│ └──────────────────────┬──────────────────────────────┘ │
|
||
│ │ │
|
||
│ MOVIMENTAÇÕES │ │
|
||
│ ═══════════════ │ │
|
||
│ │ │
|
||
│ ┌──────────┐ ┌──────┴──────┐ ┌──────────────┐ │
|
||
│ │TRANSFER. │◄───│ DISPONÍVEL │───►│ ASSISTÊNCIA │ │
|
||
│ │Entre lojas│ │ para venda │ │ O.S. cliente│ │
|
||
│ │in_transit │ │ in_stock │ │ in_service │ │
|
||
│ └──────────┘ └──────┬──────┘ └──────┬───────┘ │
|
||
│ │ │ │
|
||
│ │ │ (retorna após reparo) │
|
||
│ │ └──────────┐ │
|
||
│ │ │ │
|
||
│ SAÍDA ▼ ▼ │
|
||
│ ═════ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ VENDA │ │ DE VOLTA AO │ │
|
||
│ │ PDV + NF-e │ │ ESTOQUE │ │
|
||
│ │ status:sold │ │ in_stock │ │
|
||
│ └──────┬───────┘ └──────────────┘ │
|
||
│ │ │
|
||
│ ┌──────┴───────┐ │
|
||
│ │ DEVOLUÇÃO? │ │
|
||
│ │ returned │──────────► Volta ao estoque │
|
||
│ └──────────────┘ │
|
||
│ │
|
||
│ RASTREAMENTO: device_history + imei_history (kardex completo) │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 4. FLUXO DO TRADE-IN (4 ETAPAS DETALHADAS)
|
||
|
||
```
|
||
╔═══════════════════════════════════════════════════════════════════════════╗
|
||
║ TRADE-IN - FLUXO COMPLETO ║
|
||
╠═══════════════════════════════════════════════════════════════════════════╣
|
||
║ ║
|
||
║ ETAPA 1: AVALIAÇÃO ║
|
||
║ ══════════════════ ║
|
||
║ ║
|
||
║ ┌────────────────────────────────────────────────────────────┐ ║
|
||
║ │ Cliente chega com dispositivo usado │ ║
|
||
║ │ │ ║
|
||
║ │ 1. Identificar cliente (busca por nome/CPF) │ ║
|
||
║ │ 2. Registrar IMEI, Marca, Modelo │ ║
|
||
║ │ 3. Preencher Checklist (19 itens): │ ║
|
||
║ │ │ ║
|
||
║ │ ┌──────────────────────────────────────────────────────┐ │ ║
|
||
║ │ │ ☐ Liga corretamente ☐ Sensores/NFC │ │ ║
|
||
║ │ │ ☐ Sem avarias/fantasma ☐ Face ID/Touch ID │ │ ║
|
||
║ │ │ ☐ Sem manchas na tela ☐ Microfones │ │ ║
|
||
║ │ │ ☐ Botões funcionando ☐ Áudio auricular │ │ ║
|
||
║ │ │ ☐ Marcas de uso ☐ Alto-falante │ │ ║
|
||
║ │ │ ☐ Wi-Fi ☐ Carregamento │ │ ║
|
||
║ │ │ ☐ Chip ☐ Câmeras │ │ ║
|
||
║ │ │ ☐ 4G/5G ☐ Flash │ │ ║
|
||
║ │ │ ☐ Possui carregador ☐ 3uTools OK │ │ ║
|
||
║ │ │ 🔋 Bateria: ____% │ │ ║
|
||
║ │ └──────────────────────────────────────────────────────┘ │ ║
|
||
║ │ │ ║
|
||
║ │ 4. Listar peças necessárias (se houver) │ ║
|
||
║ │ 5. Definir valor estimado │ ║
|
||
║ │ 6. Assinatura digital do cliente │ ║
|
||
║ │ 7. Imprimir comprovante │ ║
|
||
║ │ │ ║
|
||
║ │ Status: PENDING │ ║
|
||
║ └────────────────────────────────────────────┬───────────────┘ ║
|
||
║ │ ║
|
||
║ ▼ ║
|
||
║ ETAPA 2: APROVAÇÃO ║
|
||
║ ══════════════════ ║
|
||
║ ║
|
||
║ ┌────────────────────────────────────────────────────────────┐ ║
|
||
║ │ Gerente revisa avaliação e decide: │ ║
|
||
║ │ │ ║
|
||
║ │ [APROVAR] [REJEITAR] │ ║
|
||
║ │ │ │ │ ║
|
||
║ │ ▼ ▼ │ ║
|
||
║ │ Automaticamente: Avaliação │ ║
|
||
║ │ ✅ Gera CRÉDITO para cliente rejeitada. │ ║
|
||
║ │ (R$ do valor estimado) Sem ações. │ ║
|
||
║ │ ✅ Cria O.S. INTERNA │ ║
|
||
║ │ (INT2602XXXXXX) │ ║
|
||
║ │ ✅ Registra no IMEI History │ ║
|
||
║ │ │ ║
|
||
║ │ Status: APPROVED │ ║
|
||
║ └────────────────────────────────────────────┬───────────────┘ ║
|
||
║ │ ║
|
||
║ ▼ ║
|
||
║ ETAPA 3: REVISÃO / MANUTENÇÃO ║
|
||
║ ═════════════════════════════ ║
|
||
║ ║
|
||
║ ┌────────────────────────────────────────────────────────────┐ ║
|
||
║ │ Técnico trabalha na O.S. Interna: │ ║
|
||
║ │ │ ║
|
||
║ │ 1. Diagnóstico técnico │ ║
|
||
║ │ 2. Troca de peças (registra peças + custos) │ ║
|
||
║ │ 3. Limpeza e preparação │ ║
|
||
║ │ 4. Teste de qualidade │ ║
|
||
║ │ 5. Preenche checklist de conclusão │ ║
|
||
║ │ 6. Finaliza O.S. Interna │ ║
|
||
║ │ │ ║
|
||
║ │ Custos: │ ║
|
||
║ │ ├── Peças utilizadas: R$ XXX │ ║
|
||
║ │ ├── Mão de obra: R$ XXX │ ║
|
||
║ │ └── Total reparo: R$ XXX │ ║
|
||
║ │ │ ║
|
||
║ │ Status O.S.: COMPLETED │ ║
|
||
║ └────────────────────────────────────────────┬───────────────┘ ║
|
||
║ │ ║
|
||
║ ▼ ║
|
||
║ ETAPA 4: ENTRADA NO ESTOQUE ║
|
||
║ ═══════════════════════════ ║
|
||
║ ║
|
||
║ ┌────────────────────────────────────────────────────────────┐ ║
|
||
║ │ Ao finalizar O.S. Interna: │ ║
|
||
║ │ │ ║
|
||
║ │ ✅ Cria dispositivo no estoque (mobile_devices) │ ║
|
||
║ │ condition: "refurbished" │ ║
|
||
║ │ acquisitionType: "trade_in" │ ║
|
||
║ │ │ ║
|
||
║ │ 💰 Cálculo do preço sugerido: │ ║
|
||
║ │ Custo aquisição = Valor Trade-In + Custo Reparo │ ║
|
||
║ │ Preço sugerido = Custo × (1 + Margem%) │ ║
|
||
║ │ Ex: R$1500 + R$300 = R$1800 × 1.30 = R$ 2.340 │ ║
|
||
║ │ │ ║
|
||
║ │ ✅ Registra no IMEI History │ ║
|
||
║ │ ✅ Registra no Activity Feed │ ║
|
||
║ │ ✅ Disponível no PDV para venda │ ║
|
||
║ │ │ ║
|
||
║ │ Status: IN_STOCK (pronto para venda) │ ║
|
||
║ └────────────────────────────────────────────────────────────┘ ║
|
||
╚═══════════════════════════════════════════════════════════════════════════╝
|
||
```
|
||
|
||
---
|
||
|
||
## 5. MAPA DO PDV (PONTO DE VENDA)
|
||
|
||
```
|
||
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ PDV - PONTO DE VENDA ║
|
||
╠═══════════════════════════════════════════════════════════════════════╣
|
||
║ ║
|
||
║ BARRA SUPERIOR ║
|
||
║ ┌──────────────────────────────────────────────────────────────────┐ ║
|
||
║ │ 🏪 Empresa: Loja Centro 👤 Vendedor: João Silva │ ║
|
||
║ │ │ ║
|
||
║ │ [Sangria] [Reforço] [Devolução] [Selecionar Cliente] [Limpar] │ ║
|
||
║ └──────────────────────────────────────────────────────────────────┘ ║
|
||
║ ║
|
||
║ ┌───────────────────────────────────┬──────────────────────────────┐ ║
|
||
║ │ CATÁLOGO (3 colunas) │ CARRINHO (2 colunas) │ ║
|
||
║ │ │ │ ║
|
||
║ │ ┌──────────┬──────────┬────────┐ │ ┌──────────────────────────┐│ ║
|
||
║ │ │📱Disposit│📦Produtos│🔧Fat.OS│ │ │ Samsung S24 Ultra ││ ║
|
||
║ │ └──────────┴──────────┴────────┘ │ │ IMEI: 35XXX 📱Celular ││ ║
|
||
║ │ │ │ R$ 3.500,00 ││ ║
|
||
║ │ [🔍 Buscar... ] │ ├──────────────────────────┤│ ║
|
||
║ │ │ │ Capinha Silicone ││ ║
|
||
║ │ ┌──────────────────────────────┐ │ │ 2x R$ 45,00 ││ ║
|
||
║ │ │ Samsung S24 Ultra │ │ │ R$ 90,00 ││ ║
|
||
║ │ │ 256GB | Preto | IMEI: 35XX │ │ ├──────────────────────────┤│ ║
|
||
║ │ │ 🟢 Novo 📦 Loja Centro │ │ │ O.S. #OS2602ABC ││ ║
|
||
║ │ │ R$ 3.500,00 │ │ │ Troca de tela 🔧Serviço ││ ║
|
||
║ │ │ [+ Adicionar] │ │ │ R$ 450,00 ││ ║
|
||
║ │ ├──────────────────────────────┤ │ ╞══════════════════════════╡│ ║
|
||
║ │ │ iPhone 15 Pro │ │ │ Subtotal R$ 4.040,00 ││ ║
|
||
║ │ │ 128GB | Branco | IMEI: 86XX │ │ │ Desconto -R$ 40,00 ││ ║
|
||
║ │ │ 🔵 Recond 📦 Loja Centro │ │ │ Trade-In -R$ 1.500,00 ││ ║
|
||
║ │ │ R$ 4.200,00 │ │ │ Crédito -R$ 200,00 ││ ║
|
||
║ │ │ [+ Adicionar] │ │ │─────────────────────────││ ║
|
||
║ │ ├──────────────────────────────┤ │ │ TOTAL R$ 2.300,00 ││ ║
|
||
║ │ │ Xiaomi 14 │ │ │ ││ ║
|
||
║ │ │ 512GB | Azul | IMEI: 86XX │ │ │ 💙 Crédito: R$ 200,00 ││ ║
|
||
║ │ │ 🟡 Usado 📦 Loja Centro │ │ │ ││ ║
|
||
║ │ │ R$ 2.800,00 │ │ │ [↕️ Trade-In] ││ ║
|
||
║ │ │ [+ Adicionar] │ │ │ [💰 FINALIZAR VENDA] ││ ║
|
||
║ │ └──────────────────────────────┘ │ └──────────────────────────┘│ ║
|
||
║ └───────────────────────────────────┴──────────────────────────────┘ ║
|
||
║ ║
|
||
║ MODAL DE PAGAMENTO ║
|
||
║ ┌──────────────────────────────────────────────────────────────────┐ ║
|
||
║ │ Total: R$ 2.300,00 │ ║
|
||
║ │ │ ║
|
||
║ │ [Dinheiro ✓] [Débito] [Crédito] [PIX] [Combinado] │ ║
|
||
║ │ │ ║
|
||
║ │ Valor: [R$ 2.300,00] Parcelas: [1x] │ ║
|
||
║ │ │ ║
|
||
║ │ Desconto: [___]% ou [R$ ___] │ ║
|
||
║ │ │ ║
|
||
║ │ [CONFIRMAR PAGAMENTO] │ ║
|
||
║ └──────────────────────────────────────────────────────────────────┘ ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
```
|
||
|
||
---
|
||
|
||
## 6. FLUXO DA ORDEM DE SERVIÇO (12 ESTADOS)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||
│ ORDEM DE SERVIÇO - FLUXO DE STATUS │
|
||
├─────────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌──────────┐ │
|
||
│ │ ABERTA │ ◄── Cliente entrega dispositivo │
|
||
│ │ open │ │
|
||
│ └────┬─────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────┐ │
|
||
│ │ DIAGNÓSTICO │ ◄── Técnico analisa problema │
|
||
│ │ diagnosis │ │
|
||
│ └──────┬──────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────┐ │
|
||
│ │ ORÇAMENTO │ ◄── Técnico elabora orçamento │
|
||
│ │ quote │ │
|
||
│ └──────┬──────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌────────────────────┐ │
|
||
│ │ AGUARD. APROVAÇÃO │ ◄── Enviado para cliente │
|
||
│ │ pending_approval │ │
|
||
│ └─────┬────────┬─────┘ │
|
||
│ │ │ │
|
||
│ APROVOU │ │ REJEITOU │
|
||
│ ▼ ▼ │
|
||
│ ┌──────────┐ ┌──────────┐ │
|
||
│ │ APROVADA │ │ REJEITADA│ ──► FIM │
|
||
│ │ approved │ │ rejected │ │
|
||
│ └────┬─────┘ └──────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────┐ │
|
||
│ │ EM REPARO│ ◄── Técnico inicia trabalho │
|
||
│ │in_repair │ │
|
||
│ └────┬─────┘ │
|
||
│ │ │
|
||
│ ┌──────────┼──────────┐ │
|
||
│ │ │ │
|
||
│ ▼ │ │
|
||
│ ┌──────────────┐ │ │
|
||
│ │ AGUARD. PEÇAS│ │ ◄── Se precisar de peça │
|
||
│ │waiting_parts │───────────────┘ │
|
||
│ └──────────────┘ (peça chegou, volta para reparo) │
|
||
│ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────────┐ │
|
||
│ │ QUALIDADE │ ◄── Verificação pós-reparo │
|
||
│ │quality_check │ │
|
||
│ └──────┬───────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────────┐ │
|
||
│ │ PRONTO PARA │ ◄── Disponível para retirada │
|
||
│ │ RETIRADA │ (aparece no PDV p/ faturar) │
|
||
│ │ ready_pickup │ │
|
||
│ └──────┬───────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────────┐ │
|
||
│ │ CONCLUÍDA │ ◄── Cliente retirou + pagou │
|
||
│ │ completed │ (faturada no PDV) │
|
||
│ └──────────────┘ │
|
||
│ │
|
||
│ Em qualquer momento: ──────────► ┌──────────────┐ │
|
||
│ │ CANCELADA │ │
|
||
│ │ cancelled │ │
|
||
│ └──────────────┘ │
|
||
└─────────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 7. MAPA DE RELATÓRIOS
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ RELATÓRIOS DO RETAIL │
|
||
├──────────────┬──────────────────────────────────────────────────────┤
|
||
│ │ │
|
||
│ OS POR │ Status │ Qtd │ Valor Total │
|
||
│ STATUS │ open │ 12 │ R$ 5.400 │
|
||
│ │ in_repair │ 8 │ R$ 3.200 │
|
||
│ │ completed │ 45 │ R$ 22.500 │
|
||
│ │ │
|
||
├──────────────┼──────────────────────────────────────────────────────┤
|
||
│ │ │
|
||
│ OS POR │ Técnico │ Total │ Concl. │ Andamento │ Receita │
|
||
│ TÉCNICO │ Carlos │ 15 │ 12 │ 3 │ R$8.500 │
|
||
│ │ Pedro │ 10 │ 8 │ 2 │ R$5.200 │
|
||
│ │ │
|
||
├──────────────┼──────────────────────────────────────────────────────┤
|
||
│ │ │
|
||
│ VENDAS POR │ Vendedor │ Vendas │ Receita │ Ticket │ Dias │
|
||
│ VENDEDOR │ João │ 28 │ R$45.000 │ R$1607 │ 22 │
|
||
│ │ Maria │ 22 │ R$38.000 │ R$1727 │ 20 │
|
||
│ │ │
|
||
├──────────────┼──────────────────────────────────────────────────────┤
|
||
│ │ │
|
||
│ MARGEM │ Dispositivo │ IMEI │ Custo │ Venda │ Margem │
|
||
│ POR IMEI │ S24 Ultra │ 35XXX │ R$2500 │ R$3500 │ 40.0% │
|
||
│ │ iPhone 15 │ 86XXX │ R$3800 │ R$4200 │ 10.5% │
|
||
│ │ │
|
||
├──────────────┼──────────────────────────────────────────────────────┤
|
||
│ │ │
|
||
│ CAIXA │ ┌────────────────────────────────────────────┐ │
|
||
│ DIÁRIO │ │ Total Vendas: R$ 12.500 (8 vendas) │ │
|
||
│ │ │ Dinheiro: R$ 4.200 │ Cartão: R$ 5.800 │ │
|
||
│ │ │ PIX: R$ 2.500 │ Combinado: R$ 0 │ │
|
||
│ (4 queries) │ │ Sangrias: -R$ 500 │ Reforços: +R$ 200 │ │
|
||
│ │ │ Saldo Caixa: R$ 3.900 │ │
|
||
│ │ └────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ │ POR VENDEDOR: │
|
||
│ │ ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┐ │
|
||
│ │ │Vendedor│Vendas│Dinh. │Déb. │Créd.│ PIX │TOTAL │ │
|
||
│ │ │João │ 5 │R$2100│R$1500│R$800│R$1200│R$5600│ │
|
||
│ │ │Maria │ 3 │R$2100│R$1300│R$600│R$1300│R$6900│ │
|
||
│ │ │TOTAL │ 8 │R$4200│R$2800│R$1400│R$2500│R$12.5│ │
|
||
│ │ └──────┴──────┴──────┴──────┴──────┴──────┴──────┘ │
|
||
│ │ │
|
||
├──────────────┼──────────────────────────────────────────────────────┤
|
||
│ │ │
|
||
│ GIRO DE │ Produto │ Estoque │ Vendas 30d │ Turnover │
|
||
│ ESTOQUE │ Capinha │ 50 │ 35 │ 0.70 │
|
||
│ │ Película │ 80 │ 42 │ 0.53 │
|
||
│ │ │
|
||
└──────────────┴──────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 8. ARQUITETURA TÉCNICA
|
||
|
||
```
|
||
╔═══════════════════════════════════════════════════════════════════════╗
|
||
║ ARQUITETURA DO MÓDULO RETAIL ║
|
||
╠═══════════════════════════════════════════════════════════════════════╣
|
||
║ ║
|
||
║ FRONTEND (React + TypeScript + Tailwind + shadcn/ui) ║
|
||
║ ═══════════════════════════════════════════════════ ║
|
||
║ ║
|
||
║ client/src/pages/ArcadiaRetail.tsx ──── 10.067 linhas ║
|
||
║ │ ║
|
||
║ ├── Dashboard (KPIs, Feed, Alertas) ║
|
||
║ ├── PDV (Carrinho, Catálogo, Pagamento) ║
|
||
║ ├── Pessoas (CRUD, Papéis, Histórico) ║
|
||
║ ├── Estoque (Depósitos, Séries, Inventário) ║
|
||
║ ├── Serviços (O.S. CRUD, Checklist) ║
|
||
║ ├── Trade-In (Avaliações, Fluxo 4 etapas) ║
|
||
║ ├── Compras (Pedidos, Recebimento) ║
|
||
║ ├── Cadastros (Pagamento, Vendedores, Promoções) ║
|
||
║ ├── Relatórios (6 sub-abas) ║
|
||
║ ├── Comissões (Dashboard, Metas, Fechamento) ║
|
||
║ └── Configuração (Plus, Empresas, Sync) ║
|
||
║ ║
|
||
║ client/src/components/TradeInForm.tsx ─── 988 linhas ║
|
||
║ └── Formulário completo c/ checklist + assinatura ║
|
||
║ ║
|
||
║ ───────────────────────────────────────────────────────────── ║
|
||
║ API (fetch → /api/retail/*) ║
|
||
║ ───────────────────────────────────────────────────────────── ║
|
||
║ ║
|
||
║ BACKEND (Express.js + Drizzle ORM) ║
|
||
║ ══════════════════════════════════ ║
|
||
║ ║
|
||
║ server/retail/routes.ts ──── 5.218 linhas (~130 endpoints) ║
|
||
║ │ ║
|
||
║ ├── CRUD: Devices, Evaluations, ServiceOrders, ║
|
||
║ │ Persons, Products, Warehouses, etc. ║
|
||
║ ├── PDV: Sessions, Sales, Payments, CashMovements ║
|
||
║ ├── Trade-In: Approve, Process, FullFlow, Stock ║
|
||
║ ├── Reports: OsStatus, OsTech, SalesSeller, ║
|
||
║ │ MarginIMEI, DailyCash, StockTurnover ║
|
||
║ ├── Returns: Search, Process, Credits ║
|
||
║ └── Commissions: Plans, Goals, Calculate, Close ║
|
||
║ ║
|
||
║ server/retail/plus-sync.ts ──── 542 linhas ║
|
||
║ └── Sync: Customers, Sales+Items, NF-e ║
|
||
║ ║
|
||
║ ───────────────────────────────────────────────────────────── ║
|
||
║ Drizzle ORM → PostgreSQL ║
|
||
║ ───────────────────────────────────────────────────────────── ║
|
||
║ ║
|
||
║ BANCO DE DADOS (PostgreSQL + 40 tabelas) ║
|
||
║ ════════════════════════════════════════ ║
|
||
║ ║
|
||
║ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ║
|
||
║ │ Dispositivos │ │ Vendas │ │ Estoque │ ║
|
||
║ │ mobile_devices│ │ pos_sales │ │ warehouses │ ║
|
||
║ │ device_history│ │pos_sale_items│ │warehouse_stk │ ║
|
||
║ │ imei_history │ │pos_sessions │ │stock_movem. │ ║
|
||
║ └──────────────┘ │cash_movements│ │transfers │ ║
|
||
║ └──────────────┘ │serials │ ║
|
||
║ ┌──────────────┐ │inventories │ ║
|
||
║ │ Trade-In │ ┌──────────────┐ └──────────────┘ ║
|
||
║ │ evaluations │ │ Serviços │ ║
|
||
║ │ checklist_* │ │service_orders│ ┌──────────────┐ ║
|
||
║ │ acquisitions │ │ so_items │ │ Cadastros │ ║
|
||
║ │ transfer_doc │ │ warranties │ │payment_meth. │ ║
|
||
║ └──────────────┘ └──────────────┘ │ sellers │ ║
|
||
║ │ comm_plans │ ║
|
||
║ ┌──────────────┐ ┌──────────────┐ │ promotions │ ║
|
||
║ │ Créditos │ │ Devoluções │ │ price_tables │ ║
|
||
║ │customer_cred.│ │return_exch. │ │product_types │ ║
|
||
║ └──────────────┘ │return_items │ └──────────────┘ ║
|
||
║ └──────────────┘ ║
|
||
║ ║
|
||
║ ───────────────────────────────────────────────────────────── ║
|
||
║ ║
|
||
║ INTEGRAÇÃO PLUS (Laravel ERP - Porta 8080) ║
|
||
║ ══════════════════════════════════════════ ║
|
||
║ ║
|
||
║ ┌───────────┐ ┌───────────┐ ┌───────────┐ ║
|
||
║ │Proxy Rev. │ │ SSO │ │Auto-Start │ ║
|
||
║ │/plus/* → │ │HMAC-SHA256│ │php artisan│ ║
|
||
║ │:8080 │ │Token │ │serve │ ║
|
||
║ └───────────┘ └───────────┘ └───────────┘ ║
|
||
║ │ ║
|
||
║ ▼ ║
|
||
║ ┌─────────────────────────────────────────────────┐ ║
|
||
║ │ Plus (Laravel) │ ║
|
||
║ │ ├── NF-e / NFC-e (SEFAZ) │ ║
|
||
║ │ ├── Clientes / Fornecedores │ ║
|
||
║ │ ├── Vendas / Faturamento │ ║
|
||
║ │ └── Fiscal completo │ ║
|
||
║ └─────────────────────────────────────────────────┘ ║
|
||
║ ║
|
||
╚═══════════════════════════════════════════════════════════════════════╝
|
||
```
|
||
|
||
---
|
||
|
||
## 9. SEGURANÇA MULTI-TENANT
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ CAMADAS DE SEGURANÇA │
|
||
├─────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ CAMADA 1: AUTENTICAÇÃO │
|
||
│ ┌──────────────────────────────────────────────────────────────┐ │
|
||
│ │ Passport.js Session → req.isAuthenticated() │ │
|
||
│ │ Todas as rotas /api/retail/* exigem login │ │
|
||
│ └──────────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ CAMADA 2: TENANT SCOPING │
|
||
│ ┌──────────────────────────────────────────────────────────────┐ │
|
||
│ │ req.user.tenantId → obrigatório │ │
|
||
│ │ Se ausente → 403 "Tenant not identified" │ │
|
||
│ │ WHERE tenant_id = $tenantId em TODAS as queries │ │
|
||
│ │ Dados de um tenant NUNCA vazam para outro │ │
|
||
│ └──────────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ CAMADA 3: MODULE GATING │
|
||
│ ┌──────────────────────────────────────────────────────────────┐ │
|
||
│ │ requireModule('retail') → verifica tenants.features.retail │ │
|
||
│ │ Se módulo inativo → 403 "Módulo não habilitado" │ │
|
||
│ └──────────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ CAMADA 4: OPERAÇÕES SENSÍVEIS │
|
||
│ ┌──────────────────────────────────────────────────────────────┐ │
|
||
│ │ Devoluções → Exige senha do GERENTE │ │
|
||
│ │ Sangrias → Registra responsável + autorizador │ │
|
||
│ │ Exclusões → Soft delete quando possível │ │
|
||
│ └──────────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ CAMADA 5: AUDITORIA │
|
||
│ ┌──────────────────────────────────────────────────────────────┐ │
|
||
│ │ retail_activity_feed → Todas as operações relevantes │ │
|
||
│ │ device_history → Movimentação de IMEI │ │
|
||
│ │ imei_history → Kardex completo por IMEI │ │
|
||
│ └──────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 10. MAPA DE INTEGRAÇÕES
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────┐
|
||
│ INTEGRAÇÕES DO RETAIL │
|
||
├─────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌──────────────────┐ │
|
||
│ │ ARCÁDIA RETAIL │ │
|
||
│ │ (Express) │ │
|
||
│ └────────┬─────────┘ │
|
||
│ │ │
|
||
│ ┌───────────────────┼───────────────────┐ │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ PLUS (PHP) │ │ ERPNEXT │ │ POSTGRESQL │ │
|
||
│ │ :8080 │ │ (API ext.) │ │ (Drizzle) │ │
|
||
│ │ │ │ │ │ │ │
|
||
│ │ ▸ NF-e/NFC-e│ │ ▸ Clientes │ │ ▸ 40+ tabelas│ │
|
||
│ │ ▸ Clientes │ │ ▸ Fornecedor │ │ ▸ Retail │ │
|
||
│ │ ▸ Vendas │ │ ▸ Estoque │ │ ▸ Multi-ten. │ │
|
||
│ │ ▸ Fiscal │ │ ▸ Financeiro │ │ │ │
|
||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ ▼ ▼ │
|
||
│ ┌──────────────────────────────────────────────────┐ │
|
||
│ │ SEFAZ │ │
|
||
│ │ NF-e / NFC-e (via Plus Laravel + nfelib) │ │
|
||
│ └──────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
**Métricas Finais:**
|
||
- **16.800+ linhas** de código
|
||
- **40+ tabelas** no banco
|
||
- **~130 endpoints** REST
|
||
- **11 abas** na interface
|
||
- **19 itens** no checklist de avaliação
|
||
- **12 estados** de O.S.
|
||
- **4 etapas** no fluxo de Trade-In
|
||
- **5 formas** de pagamento
|
||
- **4 queries** no caixa diário
|