# EPICA: EPIC-MMD-005 - Vehiculos y Equipos

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | EPIC-MMD-005 |
| **Nombre** | Vehiculos y Equipos |
| **Modulo** | vehiculos |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 34 |
| **Sprint(s)** | Sprint 2 |

---

## Descripcion

Modulo de registro y gestion de vehiculos y equipos diesel que ingresan al taller. Incluye datos tecnicos del vehiculo (marca, modelo, motor, VIN), datos del propietario/cliente, y mantiene el historial completo de servicios realizados.

---

## Objetivo de Negocio

- Trazabilidad completa: historial por vehiculo
- Evitar diagnosticos repetidos (consultar historial)
- Conocer al cliente y su flota
- Base para mantenimiento preventivo
- Facilitar garantias (saber que se hizo antes)

---

## Historias de Usuario

| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-MMD005-001 | Como recepcionista, quiero registrar vehiculo con datos basicos (placas, marca, modelo) para identificarlo | P0 | 5 | Backlog |
| US-MMD005-002 | Como recepcionista, quiero registrar datos tecnicos del motor diesel (tipo, litros, serie) para diagnosticos | P0 | 5 | Backlog |
| US-MMD005-003 | Como recepcionista, quiero asociar vehiculo a un cliente (propietario o empresa) | P0 | 3 | Backlog |
| US-MMD005-004 | Como recepcionista, quiero buscar vehiculo por placas, VIN o cliente para verificar si ya existe | P0 | 3 | Backlog |
| US-MMD005-005 | Como mecanico, quiero ver historial completo de servicios del vehiculo para consulta rapida | P0 | 5 | Backlog |
| US-MMD005-006 | Como jefe de taller, quiero ver kilometraje historico para detectar patrones de uso | P1 | 3 | Backlog |
| US-MMD005-007 | Como admin, quiero importar flota de vehiculos desde Excel para clientes grandes | P1 | 5 | Backlog |
| US-MMD005-008 | Como recepcionista, quiero registrar fotos del vehiculo al ingreso para documentar estado | P2 | 5 | Backlog |

**Total Story Points:** 34 SP

---

## Estructura de Datos del Vehiculo

### Datos Generales

| Campo | Tipo | Requerido | Descripcion |
|-------|------|-----------|-------------|
| placas | string | Si | Placas del vehiculo |
| vin | string | No | Numero de identificacion (17 chars) |
| marca | string | Si | Marca (Kenworth, Freightliner, etc.) |
| modelo | string | Si | Modelo del vehiculo |
| anio | number | Si | Ano del modelo |
| color | string | No | Color del vehiculo |
| tipo | enum | Si | Tracto, Camion, Autobus, Equipo |
| cliente_id | FK | Si | Propietario |

### Datos Tecnicos Motor

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| motor_marca | string | Cummins, Detroit, CAT, Paccar, etc. |
| motor_modelo | string | Modelo del motor (ej: ISX15) |
| motor_serie | string | Numero de serie del motor |
| motor_litros | number | Desplazamiento (ej: 15.0) |
| motor_hp | number | Potencia (ej: 500) |
| transmision | string | Tipo y marca transmision |
| ejes | number | Numero de ejes |

### Datos de Seguimiento

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| km_actual | number | Ultimo kilometraje registrado |
| horas_motor | number | Horometro (equipos) |
| fecha_ultimo_servicio | date | Ultima visita al taller |
| proximo_servicio_km | number | Km para proximo mantenimiento |

---

## Tipos de Vehiculo/Equipo

| Tipo | Descripcion | Ejemplos |
|------|-------------|----------|
| TRACTO | Tractocamion | Kenworth T680, Freightliner Cascadia |
| CAMION | Camion de carga | International, Hino, Isuzu |
| AUTOBUS | Autobus de pasajeros | Volvo, Mercedes, Scania |
| VOLTEO | Camion de volteo | Famsa, Dina |
| PIPA | Pipa de combustible/agua | Diversos |
| EQUIPO | Maquinaria pesada | Generadores, compresores |
| AGRICOLA | Equipo agricola | Tractores, cosechadoras |

---

## Criterios de Aceptacion de la Epica

**Funcionales:**
- [ ] Registro de vehiculo con placas obligatorias
- [ ] Datos tecnicos del motor diesel
- [ ] Asociacion a cliente (1 vehiculo = 1 cliente principal)
- [ ] Busqueda por placas, VIN, marca, cliente
- [ ] Historial de servicios y diagnosticos
- [ ] Historial de kilometraje
- [ ] Registro de fotos de estado
- [ ] Import desde Excel

**No Funcionales:**
- [ ] Busqueda por placas < 200ms
- [ ] Historial carga < 1 segundo
- [ ] Soporte 10,000+ vehiculos

**Tecnicos:**
- [ ] Integracion con modulo Clientes
- [ ] Integracion con modulo Ordenes
- [ ] Integracion con modulo Diagnosticos
- [ ] Validacion de VIN (formato)

---

## Dependencias

**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-MMD-001 Fundamentos | Backlog | Si |
| MGN-014 CRM/Clientes (Core) | Pendiente | Si |

**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-MMD-002 Ordenes | Requiere vehiculo |
| EPIC-MMD-003 Diagnosticos | Requiere vehiculo |
| EPIC-MMA-011 Mant. Preventivo | Historial |

---

## Desglose Tecnico

**Database:**
- [ ] Schema: `vehicle_management`
- [ ] Tablas: 5 (vehicles, vehicle_photos, km_log, brands_models, etc.)
- [ ] Indices: Por placas, VIN, cliente, marca

**Backend:**
- [ ] Modulo: `vehicles`
- [ ] Entities: 4 (Vehicle, VehiclePhoto, KmLog, Brand)
- [ ] Endpoints: 12+
- [ ] Tests: 20+

**Frontend:**
- [ ] Paginas: 3 (VehiclesList, VehicleDetail, VehicleForm)
- [ ] Componentes: 8+ (VehicleCard, HistoryTimeline, PhotoGallery, etc.)
- [ ] Stores: 1 (vehiclesStore)

---

## Endpoints API

| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| GET | /api/vehicles | Listar vehiculos (paginado, filtros) |
| POST | /api/vehicles | Registrar vehiculo |
| GET | /api/vehicles/:id | Detalle vehiculo |
| PATCH | /api/vehicles/:id | Actualizar vehiculo |
| GET | /api/vehicles/:id/history | Historial de servicios |
| GET | /api/vehicles/:id/km-log | Historial de kilometraje |
| POST | /api/vehicles/:id/photos | Subir fotos |
| GET | /api/vehicles/search | Busqueda rapida |
| POST | /api/vehicles/import | Import desde Excel |
| GET | /api/clients/:id/vehicles | Vehiculos por cliente |

---

## Marcas de Motores Diesel Soportados

| Marca | Modelos Comunes |
|-------|-----------------|
| Cummins | ISX15, ISX12, ISB6.7, ISL9 |
| Detroit | DD15, DD13, Series 60 |
| Caterpillar | C15, C13, 3406E |
| Paccar | MX-13, MX-11 |
| Navistar | N13, A26 |
| Volvo | D13, D11 |
| Mercedes | OM471, OM470, OM936 |
| Scania | DC13, DC16 |
| Hino | J08E, J05E |
| Isuzu | 4HK1, 6HK1 |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Placas duplicadas | Media | Bajo | Validacion unica |
| Datos motor incompletos | Alta | Medio | Campos opcionales |
| Fotos pesadas | Media | Bajo | Compresion automatica |

---

## Definition of Ready (DoR)

- [x] Historias de usuario definidas
- [x] Estructura de datos clara
- [x] Tipos de vehiculo definidos
- [ ] Catalogo de marcas/modelos

## Definition of Done (DoD)

- [ ] CRUD de vehiculos funcionando
- [ ] Busqueda por placas/VIN
- [ ] Historial de servicios visible
- [ ] Asociacion a clientes
- [ ] Import Excel
- [ ] Tests pasando

---

## Historial

| Fecha | Cambio | Autor |
|-------|--------|-------|
| 2025-12-06 | Creacion de epica | Requirements-Analyst |

---

**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06
**Ultima actualizacion:** 2025-12-06
