- Updated docs and inventory files - Added new architecture docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.7 KiB
US-MAI005-006: Sugerir mejor unidad para asignacion
ID: US-MAI005-006 Modulo: MAI-005 (Despacho) Prioridad: Alta Story Points: 8
Historia de Usuario
Como despachador del centro de control Quiero ver sugerencias de asignacion con scoring detallado para cada viaje pendiente Para tomar decisiones informadas y asignar la mejor unidad disponible de forma eficiente
Criterios de Aceptacion
CA-001: Visualizar sugerencias ordenadas
Dado que tengo un viaje pendiente de asignar Cuando solicito sugerencias de asignacion Entonces veo una lista de unidades ordenadas por score total de mayor a menor
CA-002: Mostrar desglose de score
Dado que veo la lista de sugerencias Cuando reviso cada unidad sugerida Entonces puedo ver el desglose del score por criterio (distancia, capacidad, disponibilidad, skills)
CA-003: Indicador visual de score
Dado que veo una unidad sugerida Cuando observo el score total Entonces veo un indicador visual (verde >80, amarillo 60-80, rojo <60)
CA-004: Informacion de distancia
Dado que veo una unidad sugerida Cuando reviso los datos de distancia Entonces veo la distancia en km y el tiempo estimado de llegada al origen
CA-005: Mostrar ubicacion en mapa
Dado que veo las sugerencias Cuando selecciono ver en mapa Entonces veo el origen del viaje y las unidades sugeridas con su ubicacion actual
CA-006: Filtrar sugerencias
Dado que solicito sugerencias Cuando aplico filtros (tipo de unidad, skills, distancia maxima) Entonces las sugerencias respetan los filtros aplicados
CA-007: Asignar desde sugerencia
Dado que revise las sugerencias Cuando selecciono una unidad y confirmo Entonces el viaje queda asignado y se registra el score en el log
Mockup / UI
+-----------------------------------------------------------------------+
| SUGERENCIAS DE ASIGNACION [X] |
+-----------------------------------------------------------------------+
| |
| Viaje: VJE-0456 | Cliente: Transportes MX |
| Origen: Av. Insurgentes 1234, CDMX | Destino: Queretaro Centro |
| Capacidad requerida: 20 TON | Skills: HAZMAT |
| |
| Filtros: [Tipo: Todos v] [Distancia max: 50km] [Solo con HAZMAT] |
| |
| +----------------------------------------------------------------+ |
| | #1 U-005 - Kenworth T680 [87] #### | |
| | Juan Perez Garcia | 7.2 km | ETA: 15 min | |
| | +-------------------------------------------------------+ | |
| | | Distancia: 95/100 | Cap: 100/100 | Disp: 100/100 |Skill:90| |
| | +-------------------------------------------------------+ | |
| | Skills: HAZMAT, Refrigerado | |
| | [Ver en Mapa] [Ver Detalles] [ASIGNAR] | |
| +----------------------------------------------------------------+ |
| |
| +----------------------------------------------------------------+ |
| | #2 U-012 - Freightliner Cascadia [72] ### | |
| | Carlos Lopez | 15.3 km | ETA: 25 min | |
| | +-------------------------------------------------------+ | |
| | | Distancia: 70/100 | Cap: 100/100 | Disp: 50/100 |Skill:100| |
| | +-------------------------------------------------------+ | |
| | Skills: HAZMAT, Carga Pesada | |
| | [Ver en Mapa] [Ver Detalles] [ASIGNAR] | |
| +----------------------------------------------------------------+ |
| |
| +----------------------------------------------------------------+ |
| | #3 U-008 - International LT [65] ## | |
| | Roberto Sanchez | 22.1 km | ETA: 35 min | |
| | +-------------------------------------------------------+ | |
| | | Distancia: 55/100 | Cap: 100/100 | Disp: 100/100|Skill:70| |
| | +-------------------------------------------------------+ | |
| | Skills: HAZMAT (falta: ninguno) | |
| | [Ver en Mapa] [Ver Detalles] [ASIGNAR] | |
| +----------------------------------------------------------------+ |
| |
| Mostrando 3 de 3 unidades disponibles | Algoritmo: weighted_score_v1|
| |
+-----------------------------------------------------------------------+
Notas Tecnicas
- Endpoint:
POST /api/dispatch/suggest - Calculo de distancia con formula Haversine
- Criterios de scoring configurables en
dispatch_rules - Cache de ubicaciones GPS con TTL de 30 segundos
- Maximo de 5 sugerencias por defecto (configurable)
- Score se persiste en
dispatch_logsal asignar - Mapa utiliza componente MapView con marcadores dinamicos
Definicion de Done
- Endpoint /dispatch/suggest implementado
- Algoritmo de scoring con 4 criterios
- UI de lista de sugerencias con desglose
- Indicadores visuales de score (colores)
- Vista de mapa con unidades sugeridas
- Filtros de busqueda funcionales
- Integracion con endpoint /dispatch/assign
- Tests unitarios del algoritmo de scoring
- Tests E2E del flujo completo
US-MAI005-006 - Modulo MAI-005 - ERP Transportistas