La Consola de Despacho (/admin/delivery) es la interfaz para el personal de barra que entrega los pedidos a los clientes.
http://localhost:3000/admin/delivery
Completar el ciclo de vida del pedido marcándolo como DELIVERED cuando se entrega al cliente.
- Escucha pedidos con estado
READY - Ordenados por
ready_at(ascendente) - Los pedidos más antiguos aparecen primero
Cada tarjeta muestra:
-
Header (Verde):
- Avatar del cliente
- Nombre y teléfono
- ID del pedido
-
Tiempo de Espera:
- Cuánto tiempo lleva el pedido listo
- Destacado en verde
- Actualización automática
-
Contenido del Pedido:
- Lista de items con cantidades
- Modificadores (si los hay)
- Formato claro y legible
-
Hora de Entrega:
- Slot reservado por el cliente
-
Botón de Entrega:
- Grande (h-20)
- Verde con gradiente
- Texto: "📦 Entregar Pedido"
Al hacer clic en "Entregar Pedido":
- Llama a
orderService.updateOrderStatus(orderId, 'DELIVERED') - El pedido desaparece de la consola
- El pedido desaparece de la pantalla de recogida
- Se registra
delivered_aten Firestore
- Header: Gradiente verde (accent)
- Borde: Verde vibrante
- Tiempo: Verde destacado
- Botón: Gradiente verde
- Botones extra grandes (h-20)
- Espaciado generoso
- Tarjetas grandes
- Fácil de usar con manos ocupadas
1. Cocina marca pedido como "Listo" (KDS)
↓
2. Pedido aparece en:
- Pantalla de Recogida (cliente)
- Consola de Despacho (barra)
↓
3. Cliente ve su pedido listo
↓
4. Personal de barra prepara el pedido
↓
5. Click en "Entregar Pedido"
↓
6. Pedido marcado como DELIVERED
↓
7. Pedido desaparece de ambas pantallas ✅
- Dispositivo: Tablet o monitor en barra
- Tamaño: 10" mínimo
- Ubicación: Área de despacho
- Personal de barra
- Encargados de entrega
- Cualquier persona que entregue pedidos
Tiempo actual - workflow.ready_at- "Recién listo" (< 1 minuto)
- "1 minuto"
- "X minutos"
- Priorizar pedidos con más tiempo de espera
- Ordenamiento automático (más antiguos primero)
- Los pedidos aparecen cuando están READY
- Ordenados por antigüedad (más viejos primero)
- Tiempo de espera se actualiza
- Botón de entrega funciona
- Pedido desaparece al entregar
- Se actualiza en Firestore
- Botones grandes y fáciles de presionar
- Información clara y legible
- Colores distinguibles
- Responsive en tablet
KDS marca "Listo" → Aparece en Delivery Console
Ambas pantallas muestran el mismo pedido
Delivery Console entrega → Desaparece de ambas
Estado: READY → DELIVERED
Campo: delivered_at se registra
Edita la query en src/app/admin/delivery/page.tsx:
orderBy("workflow.ready_at", "desc"); // Más recientes primeroclassName = "w-full h-24"; // Más grandeUsa brandConfig:
style={{ background: brandConfig.gradients.secondary }}- Verificar: Estado es
READY - Verificar: Conexión a Firebase
- Solución: Revisar consola del navegador
- Causa: Problema con
orderService - Verificar: Permisos de Firestore
- Solución: Ver logs en consola
- Causa: Falta índice en Firestore
- Solución: Crear índice para
ready_at
- Pedidos simultáneos: Sin límite
- Actualización: Instantánea
- Rendimiento: Óptimo hasta 50 pedidos
- Tiempo promedio de espera
- Pedidos entregados por hora
- Eficiencia del personal
- Ruta protegida:
/admin/delivery - Requiere autenticación (futuro)
- Solo personal autorizado
allow update: if request.auth != null
&& request.resource.data.workflow.status == 'DELIVERED';Documentación relacionada:
KDS_GUIDE.md- Sistema de cocinaCUSTOMER_DISPLAY_GUIDE.md- Pantalla de recogidaBRAND_CONFIG.md- Configuración de marca