MAI-002 (Tarifas y SLA): - README, REQUERIMIENTOS, RESUMEN-EPICA - 5 User Stories (31 SP total) - Covers: tarifario por lane, recargos, SLA, cotizaciones, aprobaciones MAI-004 (Planeacion TMS): - README, REQUERIMIENTOS, RESUMEN-EPICA - 5 User Stories (39 SP total) - Covers: tablero planeacion, consolidacion, asignacion, validaciones, ETA MAI-005 (Despacho): - README, REQUERIMIENTOS, RESUMEN-EPICA - 5 User Stories (28 SP total) - Covers: checklist NOM-068, sellos, evidencias, kit documental, gate out Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.9 KiB
US-MAI004-002: Consolidar OTs en embarque
ID: US-MAI004-002 Módulo: MAI-004 (Planeación TMS) Prioridad: Alta Story Points: 8
Historia de Usuario
Como planner de tráfico Quiero que el sistema sugiera qué OTs puedo consolidar en un mismo viaje Para maximizar la utilización de capacidad de las unidades
Criterios de Aceptación
CA-001: Selección múltiple
Dado que hay OTs con características similares Cuando selecciono 2 o más OTs en el tablero Entonces se habilita el botón "Sugerir Consolidación"
CA-002: Análisis de compatibilidad
Dado que solicito sugerencia de consolidación Cuando el sistema analiza las OTs Entonces verifica: zona origen similar, destinos cercanos, ventanas compatibles, mismo tipo equipo
CA-003: Resultado positivo
Dado que las OTs son consolidables Cuando veo el resultado Entonces muestra: capacidad combinada, ahorro estimado, y botón "Crear Embarque"
CA-004: Resultado negativo
Dado que las OTs no son consolidables Cuando veo el resultado Entonces muestra el motivo: "Ventanas incompatibles", "Destinos muy lejanos", etc.
CA-005: Creación de embarque
Dado que acepto la sugerencia Cuando confirmo crear embarque Entonces se crea EMB con las OTs agrupadas y aparece en el tablero
Mockup / UI
┌─────────────────────────────────────────────────────────────────┐
│ ANÁLISIS DE CONSOLIDACIÓN [X]│
├─────────────────────────────────────────────────────────────────┤
│ │
│ OTs Seleccionadas: │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ OT-1234 │ CDMX → GDL │ 8 ton │ Ventana 8:00-12:00 │ │
│ │ OT-1237 │ CDMX → GDL Sur │ 4 ton │ Ventana 9:00-14:00 │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ✅ CONSOLIDACIÓN RECOMENDADA │
│ │
│ Criterios cumplidos: │
│ ✓ Mismo origen: CDMX │
│ ✓ Destinos cercanos: 15 km entre GDL y GDL Sur │
│ ✓ Ventanas compatibles: Overlap 9:00-12:00 │
│ ✓ Mismo tipo equipo: Caja seca │
│ │
│ Capacidad combinada: 12 toneladas │
│ Unidad sugerida: Caja seca 18 ton (67% utilización) │
│ │
│ 💰 Ahorro estimado: $2,500 vs 2 viajes separados │
│ │
│ [Cancelar] [Crear Embarque EMB-0089] │
│ │
└─────────────────────────────────────────────────────────────────┘
Reglas de Consolidación
| Criterio | Condición | Peso |
|---|---|---|
| Mismo origen | Distancia < 20km | Obligatorio |
| Destinos cercanos | Distancia < 50km | Obligatorio |
| Ventanas compatibles | Overlap > 2 horas | Obligatorio |
| Mismo tipo equipo | Match exacto | Obligatorio |
| Mismo cliente | Preferido | Opcional |
| Capacidad disponible | Sum < 100% unidad | Obligatorio |
Notas Técnicas
- Algoritmo de clustering por zona geográfica
- Cálculo de distancias vía API de mapas (cache)
- El ahorro se calcula: 2*tarifa_individual - tarifa_consolidada
Definición de Done
- Selección múltiple de OTs
- Algoritmo de análisis implementado
- UI de resultado con detalles
- Creación de embarque funcional
- Cálculo de ahorro estimado
- Tests unitarios del algoritmo