# 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