Asignar Cadete a un Pedido
Guía completa para asignar repartidores a pedidos listos para entrega. Incluye flujo completo, notificaciones en tiempo real y mejores prácticas.
💡 Requisito previo: El pedido debe estar en estado "ready" (listo) antes de poder asignarlo a un cadete. Solo cadetes activos y con sesión online pueden recibir asignaciones.
¿Dónde Asignar Cadetes?
Panel de Asignación (POS)
Ruta: /[slug]/pos/cadetes
Interfaz especializada con dos columnas: cadetes disponibles a la izquierda y pedidos listos para entrega a la derecha. Diseñado para asignación rápida con un solo clic.
Flujo Completo de Asignación
Pedido Llega a Cocina
Cliente hace pedido → Estado inicial: "pending" → Admin confirma → "confirmed" → Cocina prepara → "preparing"
Cocina Marca como Listo
Cuando el pedido está preparado, cocina cambia estado a "ready"
Asignar Cadete
En el panel /[slug]/pos/cadetes:
- Columna izquierda: Lista de cadetes (con indicador online/offline)
- Columna derecha: Pedidos con estado "ready"
- Haz clic en un pedido y luego en el cadete, o viceversa
- Confirma la asignación
Sistema Procesa la Asignación
El backend ejecuta:
PATCH /api/tenants/[slug]/orders/[id]/assign-cadeteActualiza:
- order.assignedCadete = cadeteId
- order.status = "out_for_delivery"
- order.deliveryTracking.assignedAt = now()
- cadete.currentOrders.push(orderId)
Notificaciones en Tiempo Real
Sistema emite eventos WebSocket:
Evento "order:assigned" con todos los detalles del pedido
Pedido desaparece de lista "ready", aparece en "out_for_delivery"
Estado cambia a "En camino" en /track/[código]
Cadete Recibe Pedido
En el panel del cadete /[slug]/cadete/[id], el pedido aparece instantáneamente con:
- Código de orden
- Nombre y teléfono del cliente
- Dirección de entrega + notas
- Lista de productos
- Total del pedido
- Botón WhatsApp para contactar cliente
- Botón "Confirmar Entrega"
Interfaz de Asignación Detallada
Panel POS Cadetes - Layout
Columna Izquierda: Cadetes
🟢 Verde = Online | ⚪ Gris = Offline
Columna Derecha: Pedidos
#ORD-2025-001
Cliente: Ana López
Total: $1,250
Estado: ready
#ORD-2025-002
Cliente: Pedro Ruiz
Total: $2,800
Estado: ready
Estados del Pedido
Pedido recibido, esperando confirmación
Admin confirmó, listo para que cocina prepare
Cocina está preparando el pedido
Pedido terminado, esperando asignación de repartidor
Asignado a cadete, en camino al cliente
Entregado al cliente
Validaciones del Sistema
❌ No se puede asignar si:
- El pedido no está en estado "ready"
- El pedido ya tiene un cadete asignado
- El cadete está inactivo (isActive = false)
- El tipo de entrega es "pickup" (retiro en local)
✅ Se puede asignar si:
- Pedido en estado "ready"
- Cadete activo (puede estar online u offline)
- Tipo de entrega es "delivery"
- Pedido pertenece al mismo tenant/sucursal
Reasignar Pedido
Si necesitas cambiar el cadete asignado:
- Ve al panel de asignación o detalles del pedido
- Haz clic en "Cambiar cadete" o "Reasignar"
- Selecciona el nuevo cadete
- Confirma el cambio
⚠️ Nota: Al reasignar, el pedido se quita del primer cadete y se notifica al nuevo. Usa esto solo en casos necesarios (ej: cadete con problema mecánico).
Mejores Prácticas
✅ Asigna rápido: Cuanto antes asignes un pedido listo, más rápido llegará al cliente.
✅ Prioriza cadetes online: Aunque puedes asignar a cadetes offline, los online reciben la notificación inmediatamente.
✅ Considera la distancia: Asigna el cadete más cercano a la dirección de entrega.
✅ Balancea la carga: Distribuye pedidos equitativamente entre cadetes activos.
✅ Tipo de vehículo: Pedidos grandes → auto; distancias cortas → bici/moto.
¿Te fue útil este artículo?