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>
7.1 KiB
REQUERIMIENTOS.md - MAI-004: Planeación TMS
Version: 1.0.0 Fecha: 2026-01-27 Fuente: REQ-GIRO-TRANSPORTISTA.md - Sección 4.3
Requerimientos Funcionales
RF-4.3.1: Tablero de Planeación
Descripción: El sistema debe proveer un tablero visual (Gantt/Kanban) para ver OTs por fecha, ventana, estado, prioridad y región.
Criterios de Aceptación:
- Vista Gantt muestra línea de tiempo con OTs y viajes
- Vista Kanban muestra OTs por estado (Pendiente, Asignada, Planificada)
- Filtros por: fecha, cliente, región, tipo de servicio, prioridad
- Drag & drop para mover OTs entre fechas/recursos
- Indicadores visuales de urgencia (SLA próximo a vencer)
- Panel lateral con detalle de OT seleccionada
- Vista de recursos disponibles por fecha
Mapeo a DDL:
- Tabla:
ordenes_transporte,viajes,embarques - Vista:
v_tablero_planeacion
Endpoints Requeridos:
GET /api/v1/planeacion/tablero- Datos del tableroGET /api/v1/planeacion/recursos-disponibles- Recursos por fechaPUT /api/v1/ot/:id/fecha-planificada- Mover OT de fecha
Prioridad: Alta
RF-4.3.2: Consolidación Automática Sugerida
Descripción: El sistema debe sugerir agrupaciones de OTs compatibles por zona, ventana de tiempo, capacidad y tipo de equipo.
Criterios de Aceptación:
- Al seleccionar múltiples OTs, el sistema sugiere si son consolidables
- Criterios de consolidación configurables:
- Misma zona de origen
- Zona de destino cercana (radio configurable)
- Ventanas de tiempo compatibles (overlap)
- Mismo tipo de equipo requerido
- El sistema calcula capacidad total vs disponible
- El planner puede aceptar, modificar o rechazar sugerencia
- Se crea embarque al aceptar consolidación
Mapeo a DDL:
- Tabla:
embarques - Campos: ot_ids[], capacidad_total, tipo_equipo
Endpoints Requeridos:
POST /api/v1/planeacion/sugerir-consolidacion- Analizar OTsPOST /api/v1/embarques- Crear embarquePUT /api/v1/embarques/:id/agregar-ot- Añadir OT a embarque
Prioridad: Alta
RF-4.3.3: Cálculo de Capacidad
Descripción: El sistema debe validar que la carga no exceda capacidad de la unidad por peso, volumen, pallets y altura.
Criterios de Aceptación:
- Cada unidad tiene configurada su capacidad:
- Peso máximo (toneladas)
- Volumen máximo (m³)
- Posiciones de pallet
- Altura máxima de carga
- Al asignar OT/embarque, el sistema valida:
- Suma de pesos ≤ capacidad peso
- Suma de volúmenes ≤ capacidad volumen
- Suma de pallets ≤ posiciones
- Alerta si se excede 90% de capacidad
- Bloquea si se excede 100%
- Considera restricciones especiales (temperatura, peligrosidad)
Mapeo a DDL:
- Tabla:
unidadescampos capacidad_* - Tabla:
ordenes_transportecampos peso, volumen, pallets
Endpoints Requeridos:
GET /api/v1/unidades/:id/capacidad- Consultar capacidadPOST /api/v1/planeacion/validar-capacidad- Validar asignación
Prioridad: Alta
RF-4.3.4: Reservas de Recursos
Descripción: El sistema debe permitir pre-asignar unidad, operador y remolque con bloqueo de disponibilidad.
Criterios de Aceptación:
- Al asignar recurso, se crea reserva con:
- Fecha/hora inicio y fin estimados
- Estado: RESERVADO
- El recurso no aparece disponible para otras asignaciones
- La reserva puede cancelarse liberando el recurso
- Conflictos de horario se detectan y alertan
- Vista de calendario por recurso muestra reservas
Mapeo a DDL:
- Tabla:
asignaciones - Campos: recurso_tipo, recurso_id, viaje_id, fecha_inicio, fecha_fin, status
Endpoints Requeridos:
POST /api/v1/asignaciones- Crear reservaDELETE /api/v1/asignaciones/:id- Cancelar reservaGET /api/v1/recursos/:tipo/:id/calendario- Ver calendario
Prioridad: Alta
RF-4.3.5: Reglas de Compatibilidad
Descripción: El sistema debe validar que el recurso asignado cumple requisitos del servicio y del cliente.
Criterios de Aceptación:
- Validaciones de operador:
- Licencia tipo requerido vigente
- Certificaciones especiales (hazmat, doble articulado)
- No está en lista negra del cliente
- Horas de servicio disponibles
- Validaciones de unidad:
- Tipo de equipo correcto (caja seca, refrigerada, plataforma)
- Documentos vigentes (verificación, seguro, permiso SCT)
- Cumple requisitos de cliente (GPS, antigüedad máxima)
- El sistema bloquea asignación si no cumple
- Opción de override con justificación (supervisor)
Mapeo a DDL:
- Tabla:
reglas_asignacion - Tabla:
requisitos_cliente
Endpoints Requeridos:
POST /api/v1/planeacion/validar-compatibilidad- Validar reglasGET /api/v1/clientes/:id/requisitos- Requisitos del cliente
Prioridad: Alta
RF-4.3.6: Simulación de Ruta y ETA
Descripción: El sistema debe calcular estimación de tiempos y ETAs basado en distancias y velocidades promedio.
Criterios de Aceptación:
- Cálculo de distancia entre origen y destinos
- Estimación de tiempo de tránsito:
- Velocidad promedio por tipo de vía
- Paradas programadas (descansos, combustible)
- Ventanas de carga/descarga
- ETA por cada parada del itinerario
- Comparación ETA vs ventana comprometida (SLA)
- Alerta si ETA > ventana permitida
Mapeo a DDL:
- Tabla:
eta_calculado - Campos: viaje_id, parada_id, eta_llegada, eta_salida
Endpoints Requeridos:
POST /api/v1/planeacion/calcular-eta- Calcular ETAsGET /api/v1/viajes/:id/itinerario- Ver itinerario con ETAs
Prioridad: Media
Requerimientos No Funcionales
RNF-001: Performance Tablero
El tablero debe cargar en menos de 3 segundos con 500 OTs visibles.
RNF-002: Concurrencia
Múltiples planners pueden trabajar simultáneamente sin conflictos de asignación.
RNF-003: Tiempo Real
Los cambios de disponibilidad deben reflejarse en menos de 5 segundos.
RNF-004: Usabilidad
El flujo de asignación completo debe completarse en menos de 5 clics.
Validaciones de Negocio
| Validación | Descripción | Acción si falla |
|---|---|---|
| PLN_001 | Capacidad no excedida | Bloquear asignación |
| PLN_002 | Operador con licencia vigente | Bloquear asignación |
| PLN_003 | Unidad con documentos OK | Bloquear asignación |
| PLN_004 | Sin conflicto de horarios | Alertar, permitir override |
| PLN_005 | ETA dentro de SLA | Alertar, permitir continuar |
Matriz de Trazabilidad
| RF | Tabla DDL | Entity | Endpoint | US |
|---|---|---|---|---|
| RF-4.3.1 | v_tablero_planeacion | - | GET /planeacion/tablero | US-MAI004-001 |
| RF-4.3.2 | embarques | Embarque | POST /embarques | US-MAI004-002 |
| RF-4.3.3 | unidades | Unidad | POST /validar-capacidad | US-MAI004-003 |
| RF-4.3.4 | asignaciones | AsignacionRecurso | POST /asignaciones | US-MAI004-003 |
| RF-4.3.5 | reglas_asignacion | ReglaAsignacion | POST /validar-compatibilidad | US-MAI004-004 |
| RF-4.3.6 | eta_calculado | ETACalculado | POST /calcular-eta | US-MAI004-005 |
MAI-004 REQUERIMIENTOS - ERP Transportistas - Sistema SIMCO v4.0.0