2026-06-10 — Ausencias, llegadas tarde y horarios de comidas
Se mejoró el manejo de comidas de la inscripción en tres frentes: (1) cada ausencia a una comida ahora indica si la persona está Ausente o Llega tarde; (2) la actividad puede tener hora de inicio y hora de fin, que se muestran en la página del producto; y (3) la primera y la última comida de la actividad se calculan según los rangos horarios de cada comida.
Por qué
Antes una “ausencia” era todo o nada: la persona no se contaba en esa comida. Pero muchos llegan tarde y sí comen (solo que llegan sobre la hora): hacía falta contarlos pero distinguirlos. Y al cargar la hora real de llegada/salida de la actividad, conviene que el sistema acierte qué comidas corresponden el primer y el último día.
Ausente vs. Llega tarde
- Cada omisión de comida tiene ahora un tipo:
- Ausente: la persona no asiste a esa comida y no se cuenta (comportamiento de siempre).
- Llega tarde: la persona sí se cuenta en esa comida, pero aparece marcada con (TARDE) y agrupada al final dentro de su régimen (desayuno, almuerzo, merienda/té o cena).
- Las ausencias cargadas antes de este cambio siguen funcionando: si no tienen tipo, se toman como Ausente.
Dónde se carga y se cambia
El selector Ausente / Llega tarde (junto con el día y la comida) está disponible en todos los puntos donde se editan las ausencias:
- Al inscribirse (checkout): en el checkout propio de
cdc-landings. El texto de ayuda ahora dice “Indicá los días que no vas a estar en alguna comida durante la actividad. Podrás modificar esto más adelante.” - Panel personal: la persona puede editar sus ausencias desde el detalle de su inscripción.
- Panel de administración: el staff puede editarlas desde la ficha de la inscripción.
- Checkout clásico (tema WooCommerce): también se agregó el selector, para el flujo de compra heredado.
Dónde se ve el resultado
- En la actividad, pestaña “Lista de comensales”: las personas que llegan tarde se cuentan en la comida, con (TARDE) y al final de cada régimen. Las ausencias siguen quedando fuera del conteo.
Hora de inicio y de fin de la actividad
- La actividad tiene ahora Hora de inicio y Hora de fin (campos de hora), que se cargan junto a las fechas en la edición de la actividad (no aplica a promociones).
- Son obligatorias para guardar la actividad. Junto a cada campo hay un tooltip que muestra los rangos horarios de cada comida (para entender cómo se arman las listas de comensales).
- Al crear una actividad nueva, vienen precargadas por defecto con 20:00 (inicio) y 13:00 (fin).
- Esas horas se muestran en la página del producto, entre paréntesis después de la fecha de inicio y de fin, porque son un dato importante para quien se inscribe.
- Migración: todas las actividades históricas se actualizaron para tener esas horas por defecto (20:00 / 13:00) cuando no las tenían. Si una actividad quedara sin horas, se consideran todas las comidas del primer y del último día.
Rangos horarios de comidas (primera y última comida)
- Se definieron ventanas horarias para cada comida:
- Desayuno: 6:00 a 11:00
- Almuerzo: 13:00 a 15:00
- Merienda / té: 17:00 a 19:00
- Cena: 20:30 a 23:00
- Primer día: una comida se incluye si la actividad empieza antes del fin de su ventana. Ej.: si empieza 14:30, sí hay almuerzo; si empieza 12:30, no hay desayuno.
- Último día: una comida se incluye si la actividad termina después del inicio de su ventana. Ej.: si termina 16:00, no hay merienda/té.
- Días intermedios: se sirven todas las comidas, como hasta ahora.
- Si una actividad no tiene horas cargadas (caso excepcional), se consideran todas las comidas del primer y del último día. En “Lista de comensales”, si por los horarios un día no tiene ninguna comida, se avisa explícitamente.
Pestañas de comensales
- En el detalle de la actividad, la lista nueva pasó a llamarse simplemente “Lista de comensales”, y la vista anterior quedó como “Lista de comensales (vieja)” (se retirará más adelante).
Backend (API y plugin)
- El modelo de excepción de comida incorporó el campo tipo (
absence/late_arrival), con validación y compatibilidad hacia atrás (sin tipo =absence). El tipo viaja desde el checkout, se guarda en la orden y se conserva al crear la inscripción. - Al leer la actividad para la inscripción, ahora se combinan fecha + hora de inicio y fin.
Documentación (este sitio)
- Se publicó esta entrada de Cambios.
A tener en cuenta
Las ventanas horarias de comidas (6–11, 13–15, 17–19, 20:30–23) están fijas en el sistema. Si en el futuro hace falta ajustarlas por sede o por actividad, habría que parametrizarlas.