# US-MMD005-005: Ver Historial de Servicios

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | US-MMD005-005 |
| **Epica** | EPIC-MMD-005 - Vehiculos |
| **Modulo** | vehiculos |
| **Prioridad** | P0 |
| **Story Points** | 5 |
| **Sprint** | Sprint 3 |
| **Estado** | Backlog |

---

## Historia de Usuario

**Como** mecanico,
**quiero** ver el historial completo de servicios del vehiculo,
**para** consultar diagnosticos anteriores y evitar repetir trabajos.

## Descripcion Detallada

El historial muestra todas las visitas del vehiculo al taller: ordenes de servicio, diagnosticos, refacciones usadas, y kilometraje. Permite entender el estado general del vehiculo y su historial de problemas.

---

## Criterios de Aceptacion

**Escenario 1: Ver timeline de servicios**
```gherkin
DADO que abro el historial de un vehiculo
CUANDO se carga la vista
ENTONCES veo timeline con todas las visitas:
  | Fecha | Folio | Servicio | Km | Monto |
  | 2025-11-15 | OS-2025-0042 | Cambio aceite | 120,000 | $850 |
  | 2025-10-01 | OS-2025-0030 | Reparacion bomba | 115,000 | $8,500 |
  | 2025-08-20 | OS-2025-0018 | Diagnostico | 110,000 | $500 |
```

**Escenario 2: Ver detalle de visita**
```gherkin
DADO que hago clic en una orden del historial
CUANDO se abre el detalle
ENTONCES veo:
  - Trabajos realizados
  - Refacciones usadas
  - Diagnosticos con codigos DTC
  - Fotos de evidencia
  - Notas del mecanico
```

**Escenario 3: Filtrar por tipo de servicio**
```gherkin
DADO que quiero ver solo diagnosticos
CUANDO filtro por "Diagnosticos"
ENTONCES veo solo visitas que incluyeron diagnostico
Y puedo comparar resultados entre fechas
```

**Escenario 4: Ver problemas recurrentes**
```gherkin
DADO que el vehiculo tiene historial
CUANDO veo la seccion "Problemas frecuentes"
ENTONCES el sistema muestra:
  | Problema | Ocurrencias | Ultima vez |
  | Codigo P0201 | 3 veces | 2025-10-01 |
  | Fuga de aceite | 2 veces | 2025-08-20 |
```

**Escenario 5: Grafica de kilometraje**
```gherkin
DADO que veo el historial
CUANDO reviso "Kilometraje"
ENTONCES veo grafica de km por fecha
Y puedo estimar km promedio mensual
```

---

## Componentes del Historial

| Seccion | Contenido |
|---------|-----------|
| Timeline | Lista cronologica de visitas |
| Servicios | Resumen de trabajos realizados |
| Refacciones | Partes usadas en el vehiculo |
| Diagnosticos | Codigos DTC encontrados |
| Kilometraje | Grafica y tabla de km |
| Problemas | Fallas recurrentes |

---

## Tareas Tecnicas

**Backend:**
- [ ] BE-094: Endpoint GET /api/vehicles/:id/history
- [ ] BE-095: Agregacion de problemas frecuentes
- [ ] BE-096: Calculo de km promedio

**Frontend:**
- [ ] FE-093: Crear VehicleHistoryPage
- [ ] FE-094: Crear HistoryTimeline component
- [ ] FE-095: Crear RecurringIssuesCard
- [ ] FE-096: Crear KmChart (recharts)

---

## Dependencias

**Depende de:**
- [ ] US-MMD005-001: Vehiculo registrado
- [ ] US-MMD002-*: Ordenes de servicio
- [ ] US-MMD003-*: Diagnosticos

---

## Definition of Done (DoD)

- [ ] Timeline de visitas
- [ ] Detalle de cada visita
- [ ] Filtros por tipo
- [ ] Problemas recurrentes
- [ ] Grafica de km
- [ ] Tests pasando

---

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