Acompanhamento de Pedido
Visão Geral
Permite ao cliente acompanhar o status do pedido em tempo real.
Localização
frontend-react/src/views/customer/OrderTrackingView.tsx
Funcionalidades
Busca por Número:
- Input do número do pedido
- Busca em tempo real
Status do Pedido:
- Pending (pendente)
- Confirmed (confirmado)
- Preparing (em preparo)
- Ready (pronto)
- Delivered (entregue)
Número do Pedido
Formato: YYYYMMDD-XXXX Exemplo: 20260227-0042
Timeline de Status
┌──────────┐
│ Pending │ → Confirmed → Preparing → Ready → Delivered
└──────────┘Atualização em Tempo Real
O status é atualizado via WebSocket quando muda no backend.
PIX Payment Modal
When order.pixPayload is set and status is not yet delivered:
- "Pagar com PIX" button appears in tracking view
- Opens modal with QR code image (
pixQrCodeBase64) + copyablepixPayloadstring - Payment confirmation arrives via WebSocket
orderStatusUpdateevent paymentStatusprogresses:processing → approved
Receipt Link
After status = delivered AND order.receiptToken is set:
- Receipt link appears:
/t/:slug/receipt/:token - Token has 10-minute TTL (MongoDB TTL index on
receiptscollection) - Receipt shows order summary, payment method, items, total
- Implemented in
ReceiptView.tsx - Backend:
GET /t/:slug/orders/receipts/:token(public, no auth)