erp-transportistas-v2/docs/02-definicion-modulos/MAI-007-pod-cierre/historias-usuario/US-MAI007-001.md
Adrian Flores Cortes 7f45eb6383 docs(modulos): MAI-007 POD y Cierre - Especificacion completa
Nuevo modulo P0 critico especificado:
- README.md: Vision general, alcance, actores, flujo
- REQUERIMIENTOS.md: 4 RF (4.7.1-4.7.4), RNF, validaciones
- RESUMEN-EPICA.md: Valor de negocio, criterios exito, 31 SP

User Stories (5):
- US-MAI007-001: Capturar firma digital (8 SP)
- US-MAI007-002: Registrar tiempos reales (5 SP)
- US-MAI007-003: Adjuntar fotos evidencia (5 SP)
- US-MAI007-004: Validar POD antes de cierre (8 SP)
- US-MAI007-005: Cerrar con excepcion (5 SP)

Este modulo es bloqueante para:
- MAI-009 (Facturacion)
- MAI-010 (Liquidaciones)
- MAE-016 (Carta Porte)

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

3.2 KiB

US-MAI007-001: Capturar firma digital en entrega

ID: US-MAI007-001 Modulo: MAI-007 (POD y Cierre) Prioridad: Alta Story Points: 8


Historia de Usuario

Como operador de transporte Quiero capturar la firma digital del receptor en mi dispositivo movil Para tener evidencia irrefutable de que la mercancia fue entregada


Criterios de Aceptacion

CA-001: Captura de firma

Dado que estoy en la pantalla de captura POD Cuando el receptor firma con su dedo en el area de firma Entonces el sistema captura la firma como imagen y la muestra en preview

CA-002: Validacion de firma

Dado que intento guardar el POD sin firma Cuando presiono el boton guardar Entonces el sistema muestra error "Firma requerida" y no permite continuar

CA-003: Datos del receptor

Dado que capturo la firma Cuando completo los datos del receptor (nombre obligatorio, ID opcional) Entonces el sistema asocia estos datos a la firma capturada

CA-004: Limpiar y reintentar

Dado que la firma capturada no es satisfactoria Cuando presiono el boton "Limpiar firma" Entonces el area de firma se limpia y puedo capturar nuevamente

CA-005: Modo offline

Dado que no tengo conexion a internet Cuando capturo una firma Entonces el sistema la almacena localmente y sincroniza cuando haya conexion


Mockup / UI

┌─────────────────────────────────────────┐
│ POD - Entrega #12345                    │
├─────────────────────────────────────────┤
│                                         │
│  Nombre receptor: [________________]    │
│  ID receptor:     [________________]    │
│                   (opcional)            │
│                                         │
│  ┌─────────────────────────────────┐   │
│  │                                 │   │
│  │                                 │   │
│  │     [AREA DE FIRMA]             │   │
│  │                                 │   │
│  │                                 │   │
│  └─────────────────────────────────┘   │
│                                         │
│  [Limpiar]              [Continuar →]   │
│                                         │
└─────────────────────────────────────────┘

Notas Tecnicas

  • La firma se almacena como PNG base64 en SQLite local
  • Resolucion minima: 300x150 px
  • Validar que haya al menos 50 puntos de trazo
  • Coordenadas GPS se capturan automaticamente
  • Sincronizacion via endpoint POST /api/v1/pod/:id/firma

Definicion de Done

  • Codigo implementado y revisado
  • Tests unitarios (cobertura >80%)
  • Tests de integracion con backend
  • Funciona en modo offline
  • Documentacion de API actualizada
  • Demo aprobada por Product Owner