erp-transportistas-v2/docs/02-definicion-modulos/MAI-005-despacho/historias-usuario/US-MAI005-006.md
Adrian Flores Cortes 6ed7f9e2ec [BACKUP] Pre-restructure workspace backup 2026-01-29
- Updated docs and inventory files
- Added new architecture docs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 17:35:54 -06:00

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_logs al 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