Excepciones y bloqueos

Vacaciones, feriados, ausencias puntuales. Bloquea fechas concretas sin tocar el horario semanal recurrente.

Las excepciones son bloqueos puntuales sobre el horario semanal recurrente. Mientras los horarios definen lo que se repite todas las semanas («Diego trabaja L-V 9-19»), las excepciones definen lo que NO va a pasar en una fecha concreta («Diego está de vacaciones del 14 al 21 de julio» o «el lunes 5 cierra a las 14:00 por capacitación»). Cargar una excepción es lo correcto cuando el cambio es temporal — para cambios permanentes en la agenda, edita los horarios directamente.

Cada excepción tiene un recurso target, una fecha-hora de inicio, una fecha-hora de fin, y una razón opcional para tu propia organización («Vacaciones», «Feriado», «Capacitación»). Puedes crear excepciones para un recurso específico o para todos los recursos del sitio a la vez (replica la excepción en cada uno) — esto último es útil para feriados nacionales donde todo el negocio cierra.

El toggle «Día completo» simplifica las excepciones de vacaciones: en lugar de elegir 00:00 a 23:59 a mano, marcas el toggle y solo eliges fecha de inicio y fecha de fin. Si necesitas un bloqueo de horas específicas dentro de un día (ej. cierro a las 14h por una junta), desmarcas el toggle y eliges el rango exacto.

Las excepciones afectan solo a nuevas reservas: el sistema deja de ofrecer esos slots en el picker público. Las reservas confirmadas existentes que caigan dentro del bloqueo no se cancelan automáticamente — son responsabilidad tuya de avisar al cliente por WhatsApp y moverlas o cancelarlas manualmente.

Manual completo

Crear una excepción

  1. Entra a Reservas › Excepciones.

  2. Presiona «Nueva excepción».

  3. Llena el formulario:

    • Aplicar a: «Todos los recursos» o uno específico del dropdown.
    • Día completo (toggle): marca esto para vacaciones y feriados; déjalo desmarcado para cortes parciales.
    • Inicio: fecha + hora (la hora se oculta si día completo está marcado).
    • Fin: fecha + hora (igual que inicio).
    • Razón (opcional): «Vacaciones», «Feriado nacional», «Reunión personal», «Capacitación».
  4. Guarda. Si elegiste «Todos los recursos», el sistema crea una excepción separada para cada recurso activo y avisa «Excepción creada para 3 recursos».

Aplicar a todos los recursos vs uno específico

Caso Aplicar a Por qué
Feriado nacional (28 julio) Todos los recursos El negocio cierra completo.
Diego de vacaciones Recurso «Diego» Solo él descansa; Vale sigue atendiendo.
Sala Grupal en mantenimiento Recurso «Sala Grupal» Solo se afectan las clases de yoga.
Día corto por inventario (cierro 14:00) Todos los recursos Todo el local cierra antes.
Médico va a congreso Recurso «Dr. Pérez» Solo se cancela su agenda.

Al aplicar a todos, el sistema clona la excepción para cada recurso activo. Si después archivas un recurso, su excepción queda inerte pero no se borra — el archivado es soft.

Día completo vs horas específicas

Día completo marcado:

  • El sistema bloquea de 00:00:00 a 23:59:59 del rango de fechas.
  • Sólo eliges fecha de inicio y fecha de fin (sin horas).
  • Caso típico: vacaciones, feriados.

Día completo desmarcado:

  • Eliges hora exacta de inicio y de fin.
  • El bloqueo puede ser de pocas horas dentro de un solo día, o cruzar varios días con cortes parciales.
  • Caso típico: «el lunes 5 cierro a las 14:00 por capacitación» (inicio: lun 5 14:00, fin: lun 5 23:59).

Excepciones multi-día

Las excepciones pueden cruzar varios días. Si pones inicio el 23-dic 00:00 y fin el 2-ene 23:59, queda un bloqueo continuo de 11 días — todos los slots dentro de ese rango quedan no disponibles.

Editar y eliminar

  • Editar: click en la fila → el form se abre con los datos. Cambios típicos: extender vacaciones, ajustar hora de regreso.
  • Eliminar: botón «Eliminar» en cada fila. La excepción se borra y los slots vuelven a estar disponibles para reserva (salvo que ya tengan reservas confirmadas, claro).

Eliminar una excepción es seguro: no afecta las reservas existentes, solo libera slots futuros que estaban bloqueados.

Validaciones

Al guardar el sistema valida:

  • Fecha inicio y fecha fin son fechas válidas.
  • Fin >= inicio (no puedes terminar antes de empezar).
  • Hora inicio y hora fin en formato HH:MM.
  • Si día completo está desmarcado, el momento de fin debe ser estrictamente posterior al de inicio.

Si falla la validación, el sistema muestra el error junto al campo y no guarda.

Reservas existentes en el rango bloqueado

Cargar una excepción no cancela reservas confirmadas que caigan dentro:

  • Las reservas siguen como están (confirmadas, en pendiente, etc.).
  • El cliente sigue viendo su turno en el tracking público como confirmado.
  • El recordatorio 24h sigue saliendo automático.

Es tu responsabilidad: si bloqueas vacaciones del 14 al 21 de julio y tenías una reserva confirmada para el 16, escríbele al cliente por WhatsApp (desde el detalle del booking, botón «Avisar al cliente») y cancela o mueve la reserva manualmente.

Esta decisión es intencional — el sistema no quiere romper compromisos asumidos con clientes sin que tú los avises primero.

Cómo afecta esto al picker público

El picker calcula slots libres haciendo:

  1. Toma el horario base del recurso (esta semana).
  2. Resta los rangos de excepciones que caigan en el día.
  3. Resta los slots ya tomados por reservas confirmadas.

Si un recurso tiene bloque 9-19 los lunes y tú cargaste una excepción «lunes 5 cierro 14-19», el picker mostrará slots disponibles solo entre 9:00 y 13:30 ese lunes (último start válido para un servicio de 30 min).

Recurrencia de excepciones

Hoy las excepciones son una a la vez (no se repiten automáticamente). Para feriados anuales como el 28 de julio, lo cargas cada año al planificar la agenda.

Si tu negocio tiene un día fijo de descanso semanal (ej. martes), eso va en Horarios (dejar el martes sin bloques), no en Excepciones. Excepciones es para lo no-recurrente.

FAQ

¿Por qué mis reservas confirmadas no se cancelan al cargar una excepción? Porque romper compromisos con clientes sin avisarles erosiona la confianza. El sistema te deja decidir cómo manejarlo (cancelar, mover, contactar). Las nuevas sí quedan bloqueadas.

¿Puedo bloquear solo a ciertos recursos pero a varios a la vez? Hoy es uno a uno o todos. Si quieres 3 de 5 recursos, crea 3 excepciones individuales. Es repetitivo pero infrecuente.

¿Las excepciones se sincronizan con Google Calendar? No, todavía. La sincronización con Google Calendar está en roadmap. Por ahora, las excepciones viven solo dentro de MYPES.

¿Cómo bloqueo solo la mañana del lunes 5? Crea una excepción con día completo desmarcado, inicio lun 5 09:00, fin lun 5 13:00. Solo se bloquea ese rango.

¿Eliminar una excepción afecta reservas existentes? No. Las reservas existentes en el rango bloqueado siguen como estaban (no se cancelaron al crear la excepción, tampoco se afectan al eliminarla). Eliminar la excepción solo libera slots futuros para nuevas reservas.

¿Las excepciones consumen del cap de reservas mensuales? No. Las excepciones no son reservas — son bloqueos. No tienen tope ni se cuentan.

¿Puedo poner una razón con tilde o emojis? Sí. El campo razón acepta texto libre hasta 120 caracteres. Solo lo ves tú en el panel — no se muestra al cliente público.