# US-MAI004-005: Calcular ETA inicial **ID:** US-MAI004-005 **Módulo:** MAI-004 (Planeación TMS) **Prioridad:** Media **Story Points:** 5 --- ## Historia de Usuario **Como** planner de tráfico **Quiero** que el sistema calcule los ETAs estimados para cada parada del viaje **Para** validar que puedo cumplir las ventanas comprometidas con el cliente --- ## Criterios de Aceptación ### CA-001: Cálculo de distancia **Dado** que tengo un viaje con origen y destinos **Cuando** solicito calcular ETA **Entonces** el sistema obtiene distancias vía API de mapas ### CA-002: Estimación de tiempo **Dado** que tengo las distancias **Cuando** el sistema calcula tiempos **Entonces** considera: velocidad promedio por tipo de vía, paradas de descanso, tiempo en cada parada ### CA-003: Itinerario con ETAs **Dado** que el cálculo está completo **Cuando** veo el resultado **Entonces** muestra itinerario con ETA de llegada y salida de cada punto ### CA-004: Comparación con SLA **Dado** que tengo ETAs calculados **Cuando** comparo con ventanas del cliente **Entonces** el sistema marca en verde si cumple, rojo si no cumple ### CA-005: Ajuste de hora salida **Dado** que el ETA no cumple la ventana **Cuando** ajusto la hora de salida planificada **Entonces** el sistema recalcula todos los ETAs --- ## Mockup / UI ``` ┌─────────────────────────────────────────────────────────────────┐ │ ITINERARIO Y ETAs - VJE-0123 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Hora salida planificada: [06:00] ▲▼ [Recalcular] │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ ITINERARIO │ │ │ │ 📍 ORIGEN: Bodega CDMX Norte │ │ Salida planificada: 06:00 │ │ Tiempo carga: 1 hora │ │ Salida real estimada: 07:00 │ │ │ │ ↓ 280 km | ~4.5 hrs | Autopista México-Querétaro │ │ │ │ 📍 PARADA 1: Almacén GDL Centro │ │ ETA llegada: 11:30 │ │ Ventana cliente: 10:00 - 14:00 │ │ Estado: ✅ DENTRO DE VENTANA │ │ Tiempo descarga: 1 hora │ │ Salida estimada: 12:30 │ │ │ │ ↓ 45 km | ~1 hr | Periférico GDL │ │ │ │ 📍 PARADA 2: Bodega GDL Sur │ │ ETA llegada: 13:30 │ │ Ventana cliente: 12:00 - 16:00 │ │ Estado: ✅ DENTRO DE VENTANA │ │ │ │ ───────────────────────────────────────────────────────────── │ │ │ │ RESUMEN │ │ Distancia total: 325 km │ │ Tiempo total estimado: 7.5 horas │ │ Todas las ventanas: ✅ OK │ │ │ │ [Guardar ETAs] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## Parámetros de Cálculo | Parámetro | Valor por defecto | Configurable | |-----------|-------------------|--------------| | Velocidad autopista | 80 km/h | Sí | | Velocidad carretera | 60 km/h | Sí | | Velocidad urbana | 30 km/h | Sí | | Tiempo carga promedio | 60 min | Por cliente | | Tiempo descarga promedio | 45 min | Por cliente | | Parada descanso | 30 min cada 4 hrs | Por política | --- ## Notas Técnicas - Usar Google Maps Distance Matrix API o similar - Cache de distancias frecuentes (TTL 7 días) - Los ETAs se almacenan en `eta_calculado` - Recálculo automático si cambian paradas --- ## Definición de Done - [ ] Integración con API de mapas - [ ] Cálculo de tiempos con parámetros - [ ] UI de itinerario con ETAs - [ ] Comparación con ventanas SLA - [ ] Ajuste de hora de salida - [ ] Cache de distancias - [ ] Tests de cálculo