erp-transportistas-v2/docs/02-definicion-modulos/MAI-004-planeacion/historias-usuario/US-MAI004-005.md
Adrian Flores Cortes 9caeae936a docs: Add MAI-002, MAI-004, MAI-005 module specifications
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>
2026-01-27 01:51:58 -06:00

126 lines
5.7 KiB
Markdown

# 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