erp-transportistas-v2/docs/02-definicion-modulos/MAI-003-ordenes-transporte/REQUERIMIENTOS.md
Adrian Flores Cortes ec43d9c6cd docs: Add Phase 3 secondary modules specifications (P1/P2/P3)
Modules documented:
- MAI-003 (OT): README, REQUERIMIENTOS, RESUMEN-EPICA, 10 US
- MAI-006 (Tracking): README, REQUERIMIENTOS, RESUMEN-EPICA
- MAI-008 (Incidencias): 3 US (18 SP)
- MAI-011 (Flota): README, REQUERIMIENTOS, RESUMEN-EPICA
- MAI-012 (Combustible): 3 US (18 SP)
- MAI-013 (Mantenimiento): 3 US (18 SP)
- MAI-014 (Carriers): 3 US (18 SP)
- MAI-015 (Portal): 3 US (18 SP)
- MAE-016 (Carta Porte): 10 US
- MAE-017 (HOS): 3 US (16 SP)
- MAE-018 (Reportes): 3 US (18 SP)

Phase 2+3 complete: 13 modules, 50+ User Stories

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 02:24:35 -06:00

8.4 KiB

REQUERIMIENTOS.md - MAI-003 Ordenes de Transporte

Modulo: MAI-003 | Version: 1.0.0 | Actualizado: 2026-01-27


Resumen

Metrica Valor
Total Requerimientos 25
Prioridad Alta 12
Prioridad Media 9
Prioridad Baja 4
Fuente DDL 01-transport-schema-ddl.sql
Fuente Funcional REQ-GIRO-TRANSPORTISTA.md (secciones 4.2, 4.3)

Requerimientos Funcionales

Creacion y Datos de la OT

ID Descripcion Prioridad Modulo Relacionado
RF-MAI003-001 El sistema debe permitir crear una Orden de Transporte con los datos obligatorios: codigo unico por tenant, shipper (cliente), consignee (destinatario), direccion de origen, direccion de destino y usuario creador. Alta MAI-002 (Clientes)
RF-MAI003-002 El sistema debe registrar la referencia del cliente (referencia_cliente) como dato opcional para vincular la OT con el sistema del shipper (PO, ASN). Alta MAI-002 (Clientes)
RF-MAI003-003 El sistema debe capturar datos completos de origen y destino: direccion, codigo postal, ciudad, estado, pais (default MEX), latitud, longitud, contacto y telefono. Alta -
RF-MAI003-004 El sistema debe registrar las fechas y ventanas de tiempo programadas: fecha_recoleccion_programada, fecha_entrega_programada, ventana_recoleccion_inicio/fin y ventana_entrega_inicio/fin. Alta -
RF-MAI003-005 El sistema debe capturar los datos de carga: tipo_carga (GENERAL, PELIGROSA, REFRIGERADA, SOBREDIMENSIONADA, GRANEL, LIQUIDOS, CONTENEDOR, AUTOMOVILES), descripcion_carga, peso_kg, volumen_m3, piezas, pallets, valor_declarado y moneda. Alta -
RF-MAI003-006 El sistema debe generar automaticamente un codigo unico de OT por tenant, cumpliendo con la constraint uq_ot_tenant_codigo definida en DDL. Alta -

Restricciones Logisticas

ID Descripcion Prioridad Modulo Relacionado
RF-MAI003-007 El sistema debe permitir definir requisitos de temperatura para carga refrigerada: requiere_temperatura (boolean), temperatura_min y temperatura_max en grados Celsius. Media MAI-011 (Flota)
RF-MAI003-008 El sistema debe permitir marcar requisitos de seguridad: requiere_gps (boolean), requiere_escolta (boolean) y requiere_cita (boolean). Media MAI-006 (Tracking)
RF-MAI003-009 El sistema debe permitir registrar instrucciones especiales como texto libre para comunicar al operador y al equipo de despacho. Media MAI-005 (Despacho)
RF-MAI003-010 El sistema debe registrar la modalidad de servicio (FTL o LTL) para determinar si el viaje es dedicado o consolidado. Alta MAI-004 (Planeacion)

Tarifas y Costos

ID Descripcion Prioridad Modulo Relacionado
RF-MAI003-011 El sistema debe permitir asociar una tarifa a la OT (tarifa_id) y registrar tarifa_base, recargos, descuentos, subtotal, IVA y total. Alta MAI-002 (Tarifas), MAI-009 (Facturacion)
RF-MAI003-012 El sistema debe calcular automaticamente subtotal, IVA y total al confirmar la OT, basandose en la tarifa asignada y los recargos/descuentos aplicados. Alta MAI-009 (Facturacion)

Workflow y Estados

ID Descripcion Prioridad Modulo Relacionado
RF-MAI003-013 El sistema debe implementar el workflow de estados: BORRADOR -> CONFIRMADA -> ASIGNADA -> EN_PROCESO -> COMPLETADA -> FACTURADA, con CANCELADA accesible desde BORRADOR, CONFIRMADA y ASIGNADA. Alta -
RF-MAI003-014 El sistema debe permitir modificar los datos de una OT unicamente cuando se encuentra en estado BORRADOR. En estados posteriores, la OT es de solo lectura. Alta -
RF-MAI003-015 El sistema debe registrar la transicion de estado con el usuario responsable (updated_by_id) y la fecha de actualizacion (updated_at). Media MAI-001 (Auth)
RF-MAI003-016 El sistema debe permitir cancelar una OT registrando el motivo de cancelacion y marcando deleted_at como fecha de cancelacion logica. Media -

Embarques (Agrupacion de OTs)

ID Descripcion Prioridad Modulo Relacionado
RF-MAI003-017 El sistema debe permitir crear embarques con codigo unico por tenant, descripcion y cliente principal, cumpliendo la constraint uq_embarque_tenant_codigo. Alta -
RF-MAI003-018 El sistema debe permitir agrupar multiples OTs de un mismo cliente en un embarque, actualizando los totales consolidados: total_ots, peso_total_kg, volumen_total_m3. Alta MAI-004 (Planeacion)
RF-MAI003-019 El sistema debe actualizar el campo embarque_id en cada OT al agregarla a un embarque, y recalcular los totales del embarque al agregar o quitar OTs. Media -
RF-MAI003-020 El sistema debe permitir asignar un embarque a un viaje (viaje_id) y actualizar el estado del embarque en consecuencia. Media MAI-004 (Planeacion)

Consulta y Busqueda

ID Descripcion Prioridad Modulo Relacionado
RF-MAI003-021 El sistema debe proporcionar un listado paginado de OTs con filtros por: estado, shipper_id, rango de fecha_recoleccion_programada, tipo_carga, codigo y referencia_cliente. Los indices idx_ot_estado, idx_ot_shipper e idx_ot_fechas deben soportar estas consultas. Alta -
RF-MAI003-022 El sistema debe mostrar el detalle completo de una OT incluyendo datos de carga, ubicaciones, restricciones, tarifa, estado actual y embarque/viaje asociados. Media -
RF-MAI003-023 El sistema debe proporcionar un dashboard con contadores de OTs agrupadas por estado para el tenant actual. Baja -

Exportacion

ID Descripcion Prioridad Modulo Relacionado
RF-MAI003-024 El sistema debe permitir exportar el listado de OTs filtrado en formato CSV, incluyendo: codigo, referencia_cliente, shipper_nombre, consignee_nombre, origen_ciudad, destino_ciudad, fecha_recoleccion_programada, fecha_entrega_programada, estado y total. Baja -
RF-MAI003-025 El sistema debe permitir exportar el listado de OTs filtrado en formato Excel (XLSX) con las mismas columnas que el formato CSV, ademas de formato de celdas y encabezados estilizados. Baja -

Requerimientos No Funcionales

ID Descripcion Categoria
RNF-MAI003-001 Todas las tablas del modulo deben tener RLS habilitado con politica de aislamiento por tenant_id. Seguridad
RNF-MAI003-002 El listado de OTs con filtros debe responder en menos de 500ms para tenants con hasta 100,000 OTs. Performance
RNF-MAI003-003 Las transiciones de estado deben ser atomicas y registrar auditoria completa (usuario, timestamp). Integridad
RNF-MAI003-004 Los endpoints de listado deben soportar paginacion con cursor o offset, limitada a 100 registros por pagina. Escalabilidad
RNF-MAI003-005 La exportacion de datos debe soportar hasta 50,000 registros sin timeout del servidor (procesamiento asincrono si excede 10,000). Escalabilidad

Trazabilidad DDL -> Requerimiento

Tabla DDL Requerimientos Asociados
transport.ordenes_transporte RF-MAI003-001 a RF-MAI003-016, RF-MAI003-021, RF-MAI003-022
transport.embarques RF-MAI003-017 a RF-MAI003-020
ENUM transport.estado_orden RF-MAI003-013
ENUM transport.tipo_carga RF-MAI003-005
INDEX idx_ot_estado RF-MAI003-021
INDEX idx_ot_shipper RF-MAI003-021
INDEX idx_ot_fechas RF-MAI003-021
CONSTRAINT uq_ot_tenant_codigo RF-MAI003-006
CONSTRAINT uq_embarque_tenant_codigo RF-MAI003-017

Trazabilidad Funcional -> Requerimiento

Seccion REQ-GIRO-TRANSPORTISTA Requerimientos Asociados
RF-4.2.1 Datos obligatorios OT RF-MAI003-001, RF-MAI003-003, RF-MAI003-004, RF-MAI003-005
RF-4.2.2 Restricciones RF-MAI003-007, RF-MAI003-008, RF-MAI003-009
RF-4.2.3 Multi-paradas RF-MAI003-003 (origen/destino base), ver MAI-004 para paradas_viaje
RF-4.2.4 LTL vs FTL RF-MAI003-010
RF-4.2.5 Documentacion adjunta RF-MAI003-009 (instrucciones_especiales)
RF-4.3.1 Tablero de planeacion RF-MAI003-023
RF-4.3.2 Consolidacion RF-MAI003-017, RF-MAI003-018

REQUERIMIENTOS MAI-003 Ordenes de Transporte - ERP Transportistas v1.0.0