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>
172 lines
9.7 KiB
Markdown
172 lines
9.7 KiB
Markdown
# US-MAI005-003: Capturar evidencias de carga
|
|
|
|
**ID:** US-MAI005-003
|
|
**Módulo:** MAI-005 (Despacho)
|
|
**Prioridad:** Alta
|
|
**Story Points:** 5
|
|
|
|
---
|
|
|
|
## Historia de Usuario
|
|
|
|
**Como** operador de transporte
|
|
**Quiero** capturar evidencias fotográficas del estado de la carga antes de salir
|
|
**Para** tener respaldo del estado inicial y evitar disputas por daños
|
|
|
|
---
|
|
|
|
## Criterios de Aceptación
|
|
|
|
### CA-001: Capturar fotos de la carga
|
|
**Dado** que la carga está lista en la unidad
|
|
**Cuando** tomo fotos de evidencia
|
|
**Entonces** puedo capturar múltiples fotos mostrando el estado de la mercancía
|
|
|
|
### CA-002: Mínimo de fotos requerido
|
|
**Dado** que el cliente o tipo de carga requiere evidencias
|
|
**Cuando** intento continuar sin fotos suficientes
|
|
**Entonces** el sistema indica cuántas fotos mínimas se requieren (configurable)
|
|
|
|
### CA-003: Registrar peso en báscula
|
|
**Dado** que la carga pasa por báscula
|
|
**Cuando** registro el peso
|
|
**Entonces** puedo ingresar el peso total (kg) manual o desde ticket de báscula
|
|
|
|
### CA-004: Capturar firma de almacén
|
|
**Dado** que el almacén entrega la carga
|
|
**Cuando** solicito la firma
|
|
**Entonces** el responsable de almacén firma en pantalla confirmando la entrega
|
|
|
|
### CA-005: Funcionamiento offline
|
|
**Dado** que estoy en área sin señal
|
|
**Cuando** capturo fotos y firma
|
|
**Entonces** se almacenan localmente y sincronizan al recuperar conexión
|
|
|
|
### CA-006: Metadata de fotos
|
|
**Dado** que capturo una foto
|
|
**Cuando** se guarda
|
|
**Entonces** incluye timestamp, coordenadas GPS y dispositivo origen
|
|
|
|
---
|
|
|
|
## Mockup / UI
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ EVIDENCIAS DE CARGA ✕ │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ Viaje: VJE-0123 | Carga: Electrodomésticos │
|
|
│ Requisito mínimo: 3 fotos │
|
|
│ │
|
|
│ ───────────────────────────────────────────────────────────── │
|
|
│ │
|
|
│ 📷 FOTOS DE CARGA (3/3 mínimo) │
|
|
│ │
|
|
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
│ │ 📷 1 │ │ 📷 2 │ │ 📷 3 │ │ + │ │
|
|
│ │ [Vista] │ │ [Vista] │ │ [Vista] │ │ Agregar │ │
|
|
│ │ 06:10am │ │ 06:11am │ │ 06:12am │ │ foto │ │
|
|
│ │ ✓ │ │ ✓ │ │ ✓ │ │ │ │
|
|
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
|
|
│ │
|
|
│ ───────────────────────────────────────────────────────────── │
|
|
│ │
|
|
│ ⚖ PESO EN BÁSCULA (Opcional) │
|
|
│ │
|
|
│ Peso bruto: [12,500] kg │
|
|
│ Peso neto: [10,200] kg │
|
|
│ Referencia ticket: [BSC-2026-0145] │
|
|
│ │
|
|
│ [📷 Foto de ticket báscula] ✓ Capturada │
|
|
│ │
|
|
│ ───────────────────────────────────────────────────────────── │
|
|
│ │
|
|
│ ✍ FIRMA DE ALMACÉN │
|
|
│ │
|
|
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
│ │ │ │
|
|
│ │ [Área de firma - táctil] │ │
|
|
│ │ │ │
|
|
│ │ ~~~~~~~~~~~~~~~~~~~~~~ │ │
|
|
│ │ │ │
|
|
│ └─────────────────────────────────────────────────────────┘ │
|
|
│ │
|
|
│ Nombre: [Carlos López Hernández] │
|
|
│ Puesto: [Jefe de Almacén] │
|
|
│ │
|
|
│ [Limpiar firma] │
|
|
│ │
|
|
│ ───────────────────────────────────────────────────────────── │
|
|
│ │
|
|
│ ✓ Fotos: 3/3 ✓ Peso: Registrado ✓ Firma: Capturada │
|
|
│ │
|
|
│ [Cancelar] [Continuar →] │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Vista de Foto Individual
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ DETALLE DE EVIDENCIA ✕ │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ │ [Imagen de la carga] │ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ └─────────────────────────────────────────────────────────┘ │
|
|
│ │
|
|
│ 📅 Fecha/Hora: 2026-01-28 06:10:32 │
|
|
│ 📍 Ubicación: 19.4326, -99.1332 (Bodega CDMX) │
|
|
│ 📱 Dispositivo: iPhone 14 Pro │
|
|
│ │
|
|
│ Nota: [Vista frontal de la estiba completa] │
|
|
│ │
|
|
│ [🗑 Eliminar] [✓ Confirmar] │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Configuración por Cliente
|
|
|
|
| Cliente | Fotos mínimas | Peso requerido | Firma requerida |
|
|
|---------|---------------|----------------|-----------------|
|
|
| Default | 3 | No | Sí |
|
|
| Cliente A | 5 | Sí | Sí |
|
|
| Cliente B | 3 | Sí (neto y bruto) | Sí |
|
|
| Cliente C | 2 | No | No |
|
|
|
|
---
|
|
|
|
## Notas Técnicas
|
|
|
|
- Tabla: `evidencias_carga`
|
|
- Fotos se comprimen a max 1MB antes de subir
|
|
- Firma se guarda como SVG o PNG base64
|
|
- Metadata EXIF se extrae automáticamente
|
|
- Cola de sincronización con reintentos exponenciales
|
|
- Configuración de requisitos en `requisitos_cliente`
|
|
|
|
---
|
|
|
|
## Definición de Done
|
|
|
|
- [ ] Captura de múltiples fotos con cámara
|
|
- [ ] Validación de fotos mínimas por configuración
|
|
- [ ] Registro de peso con campos bruto/neto
|
|
- [ ] Captura de firma táctil
|
|
- [ ] Almacenamiento con metadata (GPS, timestamp)
|
|
- [ ] Funcionamiento offline completo
|
|
- [ ] Sincronización con cola de reintentos
|
|
- [ ] Tests de sincronización y validación
|
|
|