2.3 KiB
2.3 KiB
US-MGN-009-003-002: Drag & Drop de Oportunidades en Pipeline
RF Asociado: RF-MGN-009-002 Módulo: MGN-009 - CRM Básico Epic: Pipeline de Ventas Prioridad: P1 Story Points: 3 Sprint: Sprint 21 Estado: Ready for Development Fecha: 2025-11-24
User Story
Como vendedor, Quiero mover oportunidades entre etapas con drag & drop, Para actualizar el pipeline rápidamente.
Descripción Detallada
Drag & drop permite:
- Arrastrar tarjeta entre columnas
- Actualización automática de stage y probability
- Registro de cambio en histórico
- Confirmación si monto > $10K
Criterios de Aceptación
Escenario 1: Drag & drop simple
Dado que oportunidad está en Qualification, Cuando arrastro a Proposal, Entonces stage=proposal, probability=50%, registra cambio.
Escenario 2: Confirmación para montos grandes
Dado que oportunidad tiene amount=$50K, Cuando arrastro a Won, Entonces modal de confirmación "¿Marcar como ganada oportunidad de $50K?".
Escenario 3: Requiere motivo al marcar Lost
Dado que arrastro a Lost, Cuando suelto tarjeta, Entonces modal solicita lost_reason obligatorio.
Reglas de Negocio
- RN-1: Drag & drop actualiza stage inmediatamente.
- RN-2: Probability se actualiza según etapa.
- RN-3: Confirmación si amount > $10K al marcar Won.
- RN-4: lost_reason obligatorio al marcar Lost.
Tareas Técnicas
Backend
- Endpoint:
PATCH /api/v1/crm/opportunities/:id/move - Validaciones según etapa destino
- Registro en audit_log
Frontend
- Implementar drag & drop (react-beautiful-dnd)
- Modal de confirmación para Won
- Modal lost_reason para Lost
- Animaciones suaves
Estimación Detallada
| Tarea | Horas |
|---|---|
| Backend | 0.5 |
| Frontend | 1.5 |
| Testing | 1 |
| TOTAL | 3 horas = 3 SP |
Definition of Done
- Drag & drop funcional
- Validaciones aplicadas
- Confirmaciones muestran correctamente
- Histórico registrado
- QA/PO aprobado