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

173 lines
9.6 KiB
Markdown

# US-MAI005-002: Registrar sellos de seguridad
**ID:** US-MAI005-002
**Módulo:** MAI-005 (Despacho)
**Prioridad:** Alta
**Story Points:** 5
---
## Historia de Usuario
**Como** operador de transporte
**Quiero** registrar los sellos de seguridad colocados en la unidad con evidencia fotográfica
**Para** tener respaldo ante reclamos por robo o faltante de mercancía
---
## Criterios de Aceptación
### CA-001: Agregar sello con número
**Dado** que estoy en el proceso de despacho
**Cuando** agrego un sello
**Entonces** puedo ingresar el número (manual o escáner) y la ubicación donde se colocó
### CA-002: Foto obligatoria del sello
**Dado** que registro un sello
**Cuando** completo el registro
**Entonces** debo adjuntar foto del sello colocado mostrando el número visible
### CA-003: Múltiples sellos por viaje
**Dado** que un viaje puede tener varios sellos
**Cuando** necesito agregar más sellos
**Entonces** puedo registrar tantos como sean necesarios (puerta trasera, lateral, etc.)
### CA-004: Escaneo de código de barras
**Dado** que el sello tiene código de barras
**Cuando** uso la cámara para escanear
**Entonces** el sistema captura automáticamente el número del sello
### CA-005: Registro de ruptura
**Dado** que un sello fue roto (inspección, emergencia)
**Cuando** registro la ruptura
**Entonces** debo indicar el motivo y subir foto del sello roto
### CA-006: Reemplazo de sello
**Dado** que un sello fue roto
**Cuando** coloco un sello nuevo
**Entonces** se registra como reemplazo vinculado al sello original
---
## Mockup / UI
```
┌─────────────────────────────────────────────────────────────────┐
│ CONTROL DE SELLOS ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Viaje: VJE-0123 | Cliente: Distribuidora ABC │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ SELLOS REGISTRADOS │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ #1 Sello: ABC-123456 │ │
│ │ Ubicación: Puerta trasera │ │
│ │ Colocado: 2026-01-28 06:05:12 │ │
│ │ Estado: ✅ ACTIVO │ │
│ │ [📷 Ver foto] │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ #2 Sello: ABC-123457 │ │
│ │ Ubicación: Puerta lateral izquierda │ │
│ │ Colocado: 2026-01-28 06:08:45 │ │
│ │ Estado: ✅ ACTIVO │ │
│ │ [📷 Ver foto] │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ AGREGAR NUEVO SELLO │
│ │
│ Número: [________________] [📷 Escanear] │
│ │
│ Ubicación: [Seleccionar ubicación ▼] │
│ ○ Puerta trasera │
│ ○ Puerta lateral izquierda │
│ ○ Puerta lateral derecha │
│ ○ Otra: [________________] │
│ │
│ Foto del sello colocado: [📷 Tomar foto] (Obligatorio) │
│ │
│ [+ Agregar Sello] │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ 2 sellos registrados [Continuar →] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Pantalla de Ruptura de Sello
```
┌─────────────────────────────────────────────────────────────────┐
│ REGISTRAR RUPTURA DE SELLO ✕ │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Sello: ABC-123456 │
│ Ubicación original: Puerta trasera │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ⚠ REGISTRAR RUPTURA │
│ │
│ Motivo de ruptura: │
│ ( ) Inspección en aduana/retén │
│ ( ) Inspección por cliente │
│ ( ) Emergencia (accidente, falla mecánica) │
│ (●) Otro: [Verificación por almacén destino] │
│ │
│ Foto del sello roto: [📷 Foto capturada ✓] │
│ │
│ Coordenadas GPS: 20.6597, -103.3496 (Auto) │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ ¿Colocar sello de reemplazo? │
│ [Sí, agregar reemplazo] [No, continuar sin sello] │
│ │
│ [Cancelar] [Registrar Ruptura] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Estados de Sello
| Estado | Descripción |
|--------|-------------|
| ACTIVO | Sello colocado y vigente |
| ROTO | Sello roto con motivo registrado |
| REEMPLAZADO | Sello que fue sustituido por otro |
| VERIFICADO | Sello verificado en destino (POD) |
---
## Notas Técnicas
- Tabla: `sellos_viaje`
- Escaneo de código de barras via cámara (ML Kit o ZXing)
- Fotos se suben a S3 con metadata de geolocalización
- Historial completo inmutable para auditoría
- La ruptura registra coordenadas GPS automáticamente
---
## Definición de Done
- [ ] CRUD de sellos por viaje
- [ ] Escaneo de código de barras
- [ ] Captura de foto obligatoria
- [ ] Registro de ruptura con motivo
- [ ] Registro de reemplazo vinculado
- [ ] Funcionamiento offline
- [ ] Tests de escenarios de ruptura/reemplazo