120 lines
2.5 KiB
Markdown
120 lines
2.5 KiB
Markdown
# US-MMD006-003: Aplicar Descuentos
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | US-MMD006-003 |
|
|
| **Epica** | EPIC-MMD-006 - Cotizaciones y Presupuestos |
|
|
| **Modulo** | cotizaciones |
|
|
| **Prioridad** | P1 |
|
|
| **Story Points** | 3 |
|
|
| **Sprint** | Sprint 6 |
|
|
| **Estado** | Backlog |
|
|
|
|
---
|
|
|
|
## Historia de Usuario
|
|
|
|
**Como** administrador,
|
|
**quiero** aplicar descuentos a las cotizaciones,
|
|
**para** ofrecer precios especiales a clientes o por volumen.
|
|
|
|
## Descripcion Detallada
|
|
|
|
Los descuentos pueden aplicarse por linea, por categoria (mano de obra o refacciones), o al total. Deben respetarse limites segun permisos del usuario.
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion
|
|
|
|
**Escenario 1: Descuento global**
|
|
```gherkin
|
|
DADO que tengo cotizacion con total $10,000
|
|
CUANDO aplico descuento global 10%
|
|
ENTONCES muestra:
|
|
| Subtotal | $10,000 |
|
|
| Descuento | -$1,000 |
|
|
| Total | $9,000 |
|
|
```
|
|
|
|
**Escenario 2: Descuento por categoria**
|
|
```gherkin
|
|
DADO que quiero descuento solo en mano de obra
|
|
CUANDO aplico 15% a servicios
|
|
ENTONCES solo afecta lineas de tipo servicio
|
|
Y refacciones mantienen precio
|
|
```
|
|
|
|
**Escenario 3: Limite de descuento**
|
|
```gherkin
|
|
DADO que mi perfil permite max 10%
|
|
CUANDO intento aplicar 15%
|
|
ENTONCES el sistema advierte:
|
|
"Descuento excede limite (10%). Requiere autorizacion"
|
|
Y envia solicitud al supervisor
|
|
```
|
|
|
|
**Escenario 4: Descuento de flota**
|
|
```gherkin
|
|
DADO que el vehiculo pertenece a flota
|
|
CUANDO creo cotizacion
|
|
ENTONCES aplica automaticamente descuentos de flota:
|
|
| Mano obra | 10% |
|
|
| Refacciones | 5% |
|
|
```
|
|
|
|
**Escenario 5: Motivo de descuento**
|
|
```gherkin
|
|
DADO que aplico descuento > 5%
|
|
CUANDO confirmo
|
|
ENTONCES debo registrar motivo:
|
|
| Motivo | Cliente frecuente |
|
|
Y se guarda para auditoria
|
|
```
|
|
|
|
---
|
|
|
|
## Reglas de Descuento
|
|
|
|
| Rol | Max descuento |
|
|
|-----|---------------|
|
|
| Recepcionista | 5% |
|
|
| Supervisor | 15% |
|
|
| Administrador | 30% |
|
|
| Gerente | Sin limite |
|
|
|
|
---
|
|
|
|
## Tareas Tecnicas
|
|
|
|
**Database:**
|
|
- [ ] DB-107: Campos descuento en quotes
|
|
- [ ] DB-108: Tabla `discount_requests`
|
|
|
|
**Backend:**
|
|
- [ ] BE-215: Aplicar descuentos
|
|
- [ ] BE-216: Validar limites por rol
|
|
- [ ] BE-217: Solicitud de autorizacion
|
|
|
|
**Frontend:**
|
|
- [ ] FE-211: Crear DiscountModal
|
|
- [ ] FE-212: Crear DiscountByCategory
|
|
- [ ] FE-213: Crear AuthorizationRequest
|
|
|
|
---
|
|
|
|
## Definition of Done (DoD)
|
|
|
|
- [ ] Descuento global
|
|
- [ ] Descuento por categoria
|
|
- [ ] Limite segun rol
|
|
- [ ] Descuento de flota automatico
|
|
- [ ] Motivo obligatorio
|
|
- [ ] Tests pasando
|
|
|
|
---
|
|
|
|
**Creada por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-06
|