Timers y calendario laboral
Los timers de OnClock son conscientes del calendario laboral de tu país. Se pausan automáticamente los fines de semana y festivos, y solo cuentan horas hábiles. Nada de avisos los lunes porque la tarea «venció» el sábado.
Cómo funcionan
Cada etapa y cada tarea pueden tener un timer independiente:
- Timer de etapa: tiempo total asignado a la etapa (suma de tareas o valor override del PMO).
- Timer de tarea: tiempo asignado a la tarea concreta.
- Empiezan al iniciar la etapa/tarea y descuentan segundos en tiempo real.
- El backend usa Celery Beat para actualizar el estado cada minuto.
Calendario laboral
La empresa configura su calendario en Ajustes → Empresa → Calendario:
- Días laborables: lunes–viernes por defecto. Puedes activar sábado o domingo.
- Horario laboral: rango de horas (ej. 09:00–18:00). Los timers solo corren dentro de este rango.
- Zona horaria: todas las fechas y horas se muestran en esta zona.
- País: determina los festivos oficiales.
Festivos oficiales
OnClock consulta la API pública de Nager.Date para obtener los festivos oficiales del país. La lista se cachea durante un año en la tabla public_holidays_cache.
Soporta más de 100 países con sus festividades nacionales. Para España, por ejemplo, incluye:
- Año Nuevo, Reyes, Día del Trabajador
- Viernes Santo, Asunción, Día de la Hispanidad
- Todos los Santos, Constitución, Inmaculada, Navidad
Festivos custom
Además de los oficiales, la empresa puede añadir festivos custom: días en los que la empresa no trabaja (vacaciones colectivas, día del fundador, cierre por inventario, etc.). En Ajustes → Empresa → Festivos custom añades fecha y descripción.
Pausa automática
El timer se pausa cuando el proyecto entra en una franja no laborable:
- Viernes a las 18:00 → el timer se congela hasta el lunes a las 09:00.
- Si el lunes es festivo, se extiende hasta el martes.
- Si el horario laboral termina a las 18:00, el timer se congela a esa hora todos los días.
Durante la pausa, el timer no descuenta tiempo. Los plazos se extienden automáticamente. El PMO y los responsables ven el timer en «pausa» con un icono específico.
Alertas
El agente envía alertas automáticas cuando:
- El timer llega al 50% de su duración → aviso informativo al responsable.
- Llega al 25% → aviso con sugerencia de pedir backlog si ve riesgo.
- Llega al 0% (vencido) → alerta al PMO con el detalle del retraso.
- El timer se queda parado (tarea sin movimiento) → sugerencia diaria de seguimiento.
Los canales de aviso respetan las preferencias del destinatario: chat, email, WhatsApp, Telegram.
Extensiones por backlog
Cuando un integrante pide más tiempo y el PMO aprueba (ver Flujo por correo), el sistema:
- Suma las horas aprobadas al
total_secondsdel timer. - Suma las horas aprobadas al
remaining_secondsdel timer. - Crea una tarea asociada con la duración solicitada.
- Extiende la
duration_hoursde la etapa. - Si la etapa estaba cerrada, la reactiva.

