# US-MGN-009-003-002: Drag & Drop de Oportunidades en Pipeline **RF Asociado:** [RF-MGN-009-002](../../02-modelado/requerimientos-funcionales/mgn-009/RF-MGN-009-002-pipeline-de-ventas-kanban.md) **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 --- ## Referencias - [RF-MGN-009-002](../../02-modelado/requerimientos-funcionales/mgn-009/RF-MGN-009-002-pipeline-de-ventas-kanban.md)