# EPICA: EPIC-VT-008 - Despacho

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | EPIC-VT-008 |
| **Nombre** | Despacho |
| **Modulo** | despacho |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 28 |
| **Sprint(s)** | Sprint 8-9 |

---

## Descripcion

Gestión de entregas y logística de vidrio templado. Controla la preparación de pedidos, embalaje especial para vidrio, programación de rutas de entrega y confirmación de entregas. Incluye generación de remisiones y control de transportistas.

---

## Objetivo de Negocio

- Entregas puntuales y sin daños
- Optimizar rutas de entrega
- Reducir costos de transporte
- Trazabilidad de entregas
- Control de devoluciones por daño

---

## Historias de Usuario

| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-VT008-001 | Como despachador, quiero ver órdenes listas para despacho para preparar envíos | P0 | 3 | Backlog |
| US-VT008-002 | Como despachador, quiero agrupar pedidos por zona geográfica para optimizar rutas | P0 | 5 | Backlog |
| US-VT008-003 | Como despachador, quiero generar remisión de entrega para documentar envío | P0 | 3 | Backlog |
| US-VT008-004 | Como despachador, quiero registrar tipo de embalaje usado para cada pieza | P0 | 2 | Backlog |
| US-VT008-005 | Como transportista, quiero ver mi ruta del día con direcciones y pedidos | P0 | 5 | Backlog |
| US-VT008-006 | Como transportista, quiero confirmar entrega con firma digital del cliente | P0 | 5 | Backlog |
| US-VT008-007 | Como cliente, quiero recibir notificación cuando mi pedido salga a entrega | P1 | 2 | Backlog |
| US-VT008-008 | Como jefe de logística, quiero ver métricas de entregas a tiempo | P1 | 3 | Backlog |

**Total Story Points:** 28 SP

---

## Proceso de Despacho

```
┌─────────────┐
│ LISTO_ENVIO │  ← Piezas aprobadas por QC
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  EMBALANDO  │  ← Preparando embalaje especial
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ PROGRAMADO  │  ← Asignado a ruta y transportista
└──────┬──────┘
       │
       ▼
┌─────────────┐
│  EN_RUTA    │  ← Transportista en camino
└──────┬──────┘
       │
       ├────────────────┐
       ▼                ▼
┌─────────────┐  ┌─────────────┐
│  ENTREGADO  │  │  RECHAZADO  │
└──────┬──────┘  └──────┬──────┘
       │                │
       ▼                ▼
┌─────────────┐  ┌─────────────┐
│  FACTURAR   │  │ INVESTIGAR  │
└─────────────┘  └─────────────┘
```

---

## Embalaje de Vidrio

```
┌─────────────────────────────────────────────────────────┐
│              TIPOS DE EMBALAJE PARA VIDRIO              │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  CABALLETE (A-Frame)                                    │
│  ├── Para piezas grandes (> 1m²)                        │
│  ├── Inclinación 5-10°                                  │
│  └── Separadores de corcho/foam                         │
│                                                         │
│  CAJA DE MADERA                                         │
│  ├── Para piezas medianas                               │
│  ├── Espuma perimetral                                  │
│  └── Esquineros de cartón                               │
│                                                         │
│  SOBRE DE CARTÓN                                        │
│  ├── Para piezas pequeñas (< 0.5m²)                     │
│  └── Espuma interior                                    │
│                                                         │
└─────────────────────────────────────────────────────────┘
```

---

## Criterios de Aceptacion de la Epica

**Funcionales:**
- [ ] Ver pedidos listos para despacho
- [ ] Agrupar por zona geográfica
- [ ] Asignar a transportista
- [ ] Generar remisión PDF
- [ ] Registrar tipo de embalaje
- [ ] Confirmar entrega con firma
- [ ] Notificaciones a cliente
- [ ] Métricas de entregas

**No Funcionales:**
- [ ] Generación de remisión < 3 segundos
- [ ] App móvil para transportistas
- [ ] Funcionamiento offline para confirmación

**Tecnicos:**
- [ ] Integración con módulo de calidad
- [ ] Integración con facturación
- [ ] Firma digital en dispositivo móvil
- [ ] Geolocalización de entregas

---

## Dependencias

**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-VT-001 Fundamentos | Backlog | Si |
| EPIC-VT-003 Produccion | Backlog | Si |
| EPIC-VT-007 Calidad | Backlog | Si |

**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| Facturación (futuro) | Requiere entrega confirmada |

---

## Desglose Tecnico

**Database:**
- [ ] Schema: `dispatch`
- [ ] Tablas: 6 (shipments, shipment_items, routes, deliveries, carriers, packaging_types)
- [ ] Funciones: 2 (calculate_route_cost, confirm_delivery)
- [ ] Indices: Por ruta, fecha, transportista, estado

**Backend:**
- [ ] Modulo: `dispatch`
- [ ] Entities: 5 (Shipment, ShipmentItem, Route, Delivery, Carrier)
- [ ] Endpoints: 12
- [ ] Tests: 24

**Frontend:**
- [ ] Paginas: 4 (PendingShipments, RouteBuilder, DeliveryConfirm, Metrics)
- [ ] Componentes: 10 (ShipmentCard, RouteMap, SignaturePad, etc.)
- [ ] Stores: 1 (dispatchStore)
- [ ] PWA: App para transportistas

---

## Endpoints API

| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| GET | /api/dispatch/pending | Pedidos listos para despacho |
| POST | /api/dispatch/shipments | Crear envío |
| GET | /api/dispatch/shipments/:id | Detalle de envío |
| POST | /api/dispatch/routes | Crear ruta |
| GET | /api/dispatch/routes/:id | Ver ruta |
| POST | /api/dispatch/routes/:id/start | Iniciar ruta |
| POST | /api/dispatch/deliveries/:id/confirm | Confirmar entrega |
| POST | /api/dispatch/deliveries/:id/reject | Rechazar entrega |
| GET | /api/dispatch/shipments/:id/remission | Generar remisión PDF |
| GET | /api/dispatch/metrics | Métricas de entregas |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Daño en transporte | Media | Alto | Embalaje adecuado + seguro |
| Entregas no confirmadas | Media | Medio | App offline con sincronización |
| Rutas ineficientes | Media | Medio | Agrupación por zona |

---

## Definition of Ready (DoR)

- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Zonas geográficas definidas
- [ ] Tipos de embalaje documentados

## Definition of Done (DoD)

- [ ] Flujo de despacho funcionando
- [ ] Generación de remisiones operativa
- [ ] App de transportistas funcional
- [ ] Confirmación con firma digital
- [ ] Tests de integración pasando
- [ ] Documentación de API

---

## Historial

| Fecha | Cambio | Autor |
|-------|--------|-------|
| 2025-12-08 | Creacion de epica | Claude-Agent |

---

**Creada por:** Claude-Agent
**Fecha:** 2025-12-08
**Ultima actualizacion:** 2025-12-08
