erp-transportistas-v2/docs/02-definicion-modulos/MAI-005-despacho/historias-usuario/US-MAI005-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

209 lines
12 KiB
Markdown

# US-MAI005-005: Registrar salida (gate out)
**ID:** US-MAI005-005
**Módulo:** MAI-005 (Despacho)
**Prioridad:** Alta
**Story Points:** 5
---
## Historia de Usuario
**Como** personal de vigilancia o despachador
**Quiero** registrar el evento de salida oficial de la unidad
**Para** tener un timestamp exacto de cuándo el viaje inició y activar el tracking
---
## Criterios de Aceptación
### CA-001: Validar condiciones de despacho
**Dado** que intento registrar gate out
**Cuando** el sistema valida
**Entonces** verifica: checklist completo, sellos registrados, documentos OK, HOS del operador
### CA-002: Bloquear si no cumple
**Dado** que hay condiciones no cumplidas
**Cuando** intento confirmar salida
**Entonces** el sistema bloquea y muestra qué falta resolver
### CA-003: Registrar timestamp y GPS
**Dado** que confirmo la salida
**Cuando** se registra el gate out
**Entonces** guarda: fecha/hora exacta, coordenadas GPS del punto de salida
### CA-004: Registrar usuario responsable
**Dado** que confirmo la salida
**Cuando** se registra
**Entonces** queda registrado quién autorizó (despachador o vigilancia)
### CA-005: Cambiar estado del viaje
**Dado** que el gate out se registró
**Cuando** se completa
**Entonces** el viaje cambia a estado DESPACHADO
### CA-006: Notificar y activar tracking
**Dado** que el viaje fue despachado
**Cuando** se confirma gate out
**Entonces** se notifica al cliente y se activa tracking (MAI-006)
---
## Mockup / UI
```
┌─────────────────────────────────────────────────────────────────┐
│ GATE OUT - SALIDA OFICIAL ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Viaje: VJE-0123 │
│ Unidad: U-005 Kenworth T680 │
│ Operador: Juan Pérez García │
│ Destino: Guadalajara, JAL │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ✓ VALIDACIÓN DE CONDICIONES │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ✅ Checklist pre-viaje │ │
│ │ Completado: 2026-01-28 06:00 │ │
│ │ Resultado: 14 OK, 1 observación, 0 fallas │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ✅ Sellos de seguridad │ │
│ │ 2 sellos registrados con foto │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ✅ Evidencias de carga │ │
│ │ 3 fotos + firma de almacén │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ✅ Kit documental │ │
│ │ 4/4 documentos obligatorios │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ✅ HOS del operador │ │
│ │ Disponible: 11 hrs | Requerido: 8 hrs │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ✅ Unidad sin bloqueos │ │
│ │ Sin alertas de mantenimiento │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ 📍 INFORMACIÓN DE SALIDA │
│ │
│ Fecha/Hora: 2026-01-28 06:15:32 (automático) │
│ GPS: 19.4326, -99.1332 │
│ Ubicación: Bodega CDMX Norte │
│ │
│ Autoriza: [Carlos Méndez - Vigilancia ▼] │
│ │
│ Notas (opcional): │
│ [________________________________________] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ Al confirmar: │
│ • El viaje cambiará a estado DESPACHADO │
│ • Se activará el tracking GPS │
│ • Se notificará al cliente │
│ │
│ [Cancelar] [✓ Confirmar Gate Out] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Pantalla de Bloqueo
```
┌─────────────────────────────────────────────────────────────────┐
│ ⛔ DESPACHO BLOQUEADO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Viaje: VJE-0123 │
│ │
│ No se puede autorizar la salida. Resolver lo siguiente: │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ❌ BLOQUEOS CRÍTICOS (deben resolverse) │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 1. Checklist incompleto │ │
│ │ Faltan 3 puntos por inspeccionar │ │
│ │ [Ir a Checklist] │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 2. Falla crítica en frenos │ │
│ │ Registrada en checklist - requiere mantenimiento │ │
│ │ [Ver detalle] │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ⚠ ADVERTENCIAS (pueden omitirse con autorización) │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 1. Factura del cliente pendiente │ │
│ │ [Subir documento] [Omitir - Justificar] │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ 2 bloqueos críticos | 1 advertencia │
│ │
│ [Volver] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Validaciones de Despacho
| Código | Validación | Tipo | Override |
|--------|------------|------|----------|
| DSP_001 | Checklist completado | Bloqueante | No |
| DSP_002 | Sin fallas críticas | Bloqueante | No |
| DSP_003 | Sellos registrados (si aplica) | Bloqueante | No |
| DSP_004 | Documentos obligatorios | Bloqueante | No |
| DSP_005 | HOS suficiente del operador | Bloqueante | Supervisor |
| DSP_006 | Unidad sin bloqueos | Bloqueante | Supervisor |
| DSP_007 | Factura del cliente | Advertencia | Sí |
| DSP_008 | Evidencias de carga | Advertencia | Sí |
---
## Acciones Post Gate Out
| Acción | Destino | Trigger |
|--------|---------|---------|
| Cambiar estado viaje | viajes.estado = DESPACHADO | Inmediato |
| Activar tracking | MAI-006 | Inmediato |
| Notificar cliente | Email/SMS/WhatsApp | <1 min |
| Actualizar dashboard | Métricas de despacho | Inmediato |
| Log de auditoría | Sistema | Inmediato |
---
## Notas Técnicas
- Tabla: `despachos`
- Endpoint: `POST /api/v1/viajes/:id/gate-out`
- Validaciones en endpoint `GET /api/v1/viajes/:id/validar-despacho`
- GPS se captura del dispositivo o se infiere de ubicación base
- Notificaciones via servicio de mensajería (MAI-015)
- Activación de tracking via evento interno
---
## Definición de Done
- [ ] Validación completa de condiciones
- [ ] Bloqueo con detalle de pendientes
- [ ] Registro de timestamp y GPS
- [ ] Registro de usuario responsable
- [ ] Cambio de estado del viaje
- [ ] Integración con notificaciones
- [ ] Integración con tracking (MAI-006)
- [ ] Override con supervisor para advertencias
- [ ] Tests de validaciones y flujo completo