# US-MMD005-001: Registrar Vehiculo ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD005-001 | | **Epica** | EPIC-MMD-005 - Vehiculos | | **Modulo** | vehiculos | | **Prioridad** | P0 | | **Story Points** | 5 | | **Sprint** | Sprint 2 | | **Estado** | Backlog | --- ## Historia de Usuario **Como** recepcionista, **quiero** registrar un vehiculo con datos basicos (placas, marca, modelo), **para** identificarlo en el sistema y crear ordenes de servicio. ## Descripcion Detallada El registro de vehiculo es el primer paso cuando un cliente nuevo llega. Se capturan datos basicos de identificacion y se asocia a un cliente (propietario o empresa). --- ## Criterios de Aceptacion **Escenario 1: Registrar vehiculo nuevo** ```gherkin DADO que un vehiculo nuevo llega al taller CUANDO registro sus datos: | Campo | Valor | | Placas | ABC-123 | | Marca | Kenworth | | Modelo | T680 | | Ano | 2020 | | Tipo | TRACTO | | Color | Blanco | | VIN | 1XKAD49X1LJ123456 | ENTONCES el vehiculo se registra en el sistema Y se asocia al cliente seleccionado ``` **Escenario 2: Placas unicas** ```gherkin DADO que intento registrar placas existentes "ABC-123" CUANDO guardo ENTONCES el sistema muestra "Vehiculo ya existe" Y me lleva al registro existente ``` **Escenario 3: Validar formato VIN** ```gherkin DADO que ingreso VIN CUANDO el VIN tiene menos de 17 caracteres ENTONCES el sistema muestra error de formato Y no permite guardar ``` **Escenario 4: Registrar sin VIN** ```gherkin DADO que el vehiculo no tiene VIN visible CUANDO dejo el campo vacio ENTONCES el sistema permite guardar Y marca el campo como "pendiente" ``` --- ## Campos del Vehiculo | Campo | Tipo | Requerido | |-------|------|-----------| | placas | string | Si | | vin | string(17) | No | | marca | string | Si | | modelo | string | Si | | anio | number | Si | | tipo | enum | Si | | color | string | No | | cliente_id | FK | Si | --- ## Tareas Tecnicas **Database:** - [ ] DB-050: Crear schema `vehicle_management` - [ ] DB-051: Crear tabla `vehicles` - [ ] DB-052: Indice unico por placas **Backend:** - [ ] BE-090: Crear VehicleEntity - [ ] BE-091: Crear VehicleService - [ ] BE-092: Crear VehicleController - [ ] BE-093: Validacion de VIN **Frontend:** - [ ] FE-090: Crear VehiclesListPage - [ ] FE-091: Crear VehicleForm - [ ] FE-092: Selector de cliente --- ## Definition of Done (DoD) - [ ] CRUD de vehiculos - [ ] Placas unicas - [ ] Validacion VIN - [ ] Asociacion a cliente - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06