# US-MMD006-002: Agregar Lineas a Cotizacion ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD006-002 | | **Epica** | EPIC-MMD-006 - Cotizaciones y Presupuestos | | **Modulo** | cotizaciones | | **Prioridad** | P0 | | **Story Points** | 5 | | **Sprint** | Sprint 6 | | **Estado** | Backlog | --- ## Historia de Usuario **Como** recepcionista, **quiero** agregar servicios y refacciones a la cotizacion, **para** detallar el presupuesto completo para el cliente. ## Descripcion Detallada Las cotizaciones contienen lineas de servicios (mano de obra) y refacciones (partes). Cada linea debe tener descripcion, cantidad, precio unitario y subtotal. --- ## Criterios de Aceptacion **Escenario 1: Agregar servicio del catalogo** ```gherkin DADO que edito cotizacion CUANDO busco servicio "Calibracion inyectores" ENTONCES agrega linea: | Descripcion | Cantidad | Precio | Subtotal | | Calibracion inyectores | 1 | $1,200 | $1,200 | ``` **Escenario 2: Agregar refaccion** ```gherkin DADO que agrego refacciones CUANDO selecciono del inventario: | Refaccion | Cantidad | Precio | | Filtro aceite ISX | 2 | $450 | ENTONCES agrega linea con subtotal $900 ``` **Escenario 3: Linea personalizada** ```gherkin DADO que necesito algo no catalogado CUANDO agrego linea manual: | Descripcion | Trabajo especial | | Cantidad | 1 | | Precio | $500 | ENTONCES se agrega a la cotizacion ``` **Escenario 4: Modificar cantidad** ```gherkin DADO que tengo linea con 1 unidad CUANDO cambio cantidad a 4 ENTONCES recalcula subtotal Y actualiza total de cotizacion ``` **Escenario 5: Eliminar linea** ```gherkin DADO que tengo linea agregada CUANDO elimino la linea ENTONCES se quita de la cotizacion Y se recalcula el total ``` **Escenario 6: Aplicar descuento por linea** ```gherkin DADO que agrego linea CUANDO aplico descuento 10% ENTONCES muestra: | Precio | Descuento | Subtotal | | $1,200 | -$120 | $1,080 | ``` --- ## Tareas Tecnicas **Database:** - [ ] DB-105: Crear tabla `quote_items` - [ ] DB-106: Campos: type, description, qty, price, discount **Backend:** - [ ] BE-212: CRUD lineas de cotizacion - [ ] BE-213: Calculo de totales - [ ] BE-214: Busqueda en catalogos **Frontend:** - [ ] FE-207: Crear QuoteItemsEditor - [ ] FE-208: Crear ServiceSearch - [ ] FE-209: Crear PartSearch - [ ] FE-210: Crear LineItemRow --- ## Definition of Done (DoD) - [ ] Agregar servicio del catalogo - [ ] Agregar refaccion - [ ] Linea personalizada - [ ] Modificar cantidad - [ ] Eliminar linea - [ ] Descuento por linea - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06