# US-MGN-010-002-002: Renovación Automática de Contratos **RF Asociado:** [RF-MGN-010-003](../../02-modelado/requerimientos-funcionales/mgn-010/RF-MGN-010-003-contratos-laborales.md) **Módulo:** MGN-010 - RRHH Básico **Epic:** Contratos **Prioridad:** P1 **Story Points:** 3 **Sprint:** Sprint 22 **Estado:** Ready for Development **Fecha:** 2025-11-24 --- ## User Story **Como** gerente de RRHH, **Quiero** alertas de contratos próximos a vencer, **Para** renovar oportunamente. ## Criterios de Aceptación ### Escenario 1: Alerta 30 días antes **Dado que** contrato vence en 30 días, **Cuando** cron job ejecuta, **Entonces** sistema envía email a hr_manager. ### Escenario 2: Dashboard de vencimientos **Dado que** 5 contratos vencen en próximos 60 días, **Cuando** accedo a dashboard RRHH, **Entonces** widget "Contratos por Vencer" muestra los 5. ## Reglas de Negocio - **RN-1:** Alertas a 30 y 15 días antes de vencimiento. - **RN-2:** Solo contratos temporales alertan. ## Tareas Técnicas ### Backend - [ ] Cron job: Verificar contratos por vencer - [ ] Service: `ContractAlertService.checkExpirations()` ### Frontend - [ ] Widget: `ContractsExpiringWidget.tsx` ## Estimación Detallada | Tarea | Horas | Backend | 1.5 | Frontend | 1 | Testing | 0.5 | **TOTAL** | **3 horas = 3 SP** | ## Definition of Done - [ ] Alertas funcionan - [ ] Widget muestra contratos por vencer - [ ] QA/PO aprobado ## Referencias - [RF-MGN-010-003](../../02-modelado/requerimientos-funcionales/mgn-010/RF-MGN-010-003-contratos-laborales.md)