# US-MMD006-006: Convertir Cotizacion a Orden ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD006-006 | | **Epica** | EPIC-MMD-006 - Cotizaciones y Presupuestos | | **Modulo** | cotizaciones | | **Prioridad** | P0 | | **Story Points** | 5 | | **Sprint** | Sprint 7 | | **Estado** | Backlog | --- ## Historia de Usuario **Como** recepcionista, **quiero** convertir una cotizacion aprobada en orden de servicio, **para** iniciar el trabajo sin recapturar informacion. ## Descripcion Detallada Cuando el cliente aprueba la cotizacion, debe poder convertirse en orden de servicio con un clic, trasladando toda la informacion: vehiculo, cliente, lineas de trabajo, y precios acordados. --- ## Criterios de Aceptacion **Escenario 1: Convertir cotizacion completa** ```gherkin DADO que tengo cotizacion aprobada CUANDO hago clic en "Convertir a orden" ENTONCES crea orden de servicio con: - Mismo vehiculo - Mismo cliente - Lineas de cotizacion como trabajos - Precios cotizados ``` **Escenario 2: Conversion parcial** ```gherkin DADO que el cliente aprueba solo algunos items CUANDO selecciono items a incluir: | Item | Incluir | | Calibracion inyectores | Si | | Cambio filtros | Si | | Revision turbo | No | ENTONCES la orden solo tiene items seleccionados ``` **Escenario 3: Reservar refacciones** ```gherkin DADO que la cotizacion tiene refacciones CUANDO convierto a orden ENTONCES reserva automaticamente del inventario: | Refaccion | Cantidad | Estado | | Filtro aceite | 2 | Reservado | Y descuenta de disponible ``` **Escenario 4: Vinculo bidireccional** ```gherkin DADO que converti cotizacion CUANDO veo la orden ENTONCES muestra enlace a cotizacion origen Y desde cotizacion veo enlace a orden generada ``` **Escenario 5: Validar disponibilidad** ```gherkin DADO que convierto cotizacion de hace 1 mes CUANDO verifico refacciones ENTONCES advierte si no hay stock: "Filtro aceite: stock insuficiente (1 de 2)" Y permite continuar o cancelar ``` --- ## Tareas Tecnicas **Database:** - [ ] DB-111: Relacion quotes -> service_orders - [ ] DB-112: Status conversion **Backend:** - [ ] BE-222: Servicio de conversion - [ ] BE-223: Validar disponibilidad - [ ] BE-224: Reservar inventario - [ ] BE-225: Conversion parcial **Frontend:** - [ ] FE-218: Crear ConvertToOrderModal - [ ] FE-219: Crear ItemSelector - [ ] FE-220: Crear StockValidation alert --- ## Definition of Done (DoD) - [ ] Convertir cotizacion completa - [ ] Conversion parcial - [ ] Reservar refacciones - [ ] Vinculo bidireccional - [ ] Validar disponibilidad - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06