# US-MMD005-002: Editar Informacion de Vehiculo

## Metadata

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

---

## Historia de Usuario

**Como** recepcionista,
**quiero** editar la informacion de un vehiculo,
**para** mantener los datos actualizados cuando hay cambios.

## Descripcion Detallada

Los datos del vehiculo pueden cambiar (nuevo propietario, actualizacion de kilometraje, cambio de placas). El sistema debe permitir editar manteniendo el historial de cambios.

---

## Criterios de Aceptacion

**Escenario 1: Editar datos basicos**
```gherkin
DADO que tengo vehiculo registrado
CUANDO edito informacion:
  | Campo | Valor anterior | Nuevo |
  | Kilometraje | 150,000 | 165,000 |
  | Placas | ABC-123 | XYZ-789 |
ENTONCES se guardan los cambios
```

**Escenario 2: Actualizar propietario**
```gherkin
DADO que el vehiculo cambio de dueno
CUANDO actualizo propietario
ENTONCES se vincula al nuevo cliente
Y se mantiene historial con cliente anterior
```

**Escenario 3: Historial de cambios**
```gherkin
DADO que edite el vehiculo varias veces
CUANDO veo historial de cambios
ENTONCES muestra:
  | Fecha | Campo | Anterior | Nuevo | Usuario |
  | Nov-15 | Kilometraje | 150,000 | 165,000 | Juan |
  | Oct-01 | Propietario | Cliente A | Cliente B | Maria |
```

**Escenario 4: Validar kilometraje**
```gherkin
DADO que actualizo kilometraje
CUANDO ingreso valor menor al registrado
ENTONCES el sistema advierte:
  "Kilometraje menor al ultimo registro (165,000)"
Y pregunta si continuar
```

**Escenario 5: Agregar foto del vehiculo**
```gherkin
DADO que edito vehiculo
CUANDO agrego foto
ENTONCES se muestra en el perfil del vehiculo
Y se usa como identificacion visual
```

---

## Tareas Tecnicas

**Database:**
- [ ] DB-096: Crear tabla `vehicle_history`
- [ ] DB-097: Trigger para registrar cambios

**Backend:**
- [ ] BE-191: PUT /api/vehicles/:id
- [ ] BE-192: Registrar cambios en historial
- [ ] BE-193: Validacion de kilometraje

**Frontend:**
- [ ] FE-187: Crear EditVehicleForm
- [ ] FE-188: Crear ChangeHistoryModal
- [ ] FE-189: Upload de foto

---

## Definition of Done (DoD)

- [ ] Editar datos basicos
- [ ] Cambiar propietario
- [ ] Historial de cambios
- [ ] Validacion de kilometraje
- [ ] Agregar foto
- [ ] Tests pasando

---

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