Bookings & Schedules es el sistema de agendamiento de citas de CXF. Un host
—un Contact, un User o un Content Instance— publica su disponibilidad, ofrece uno o
más tipos de evento reservables y acepta citas. Los conflictos de slot, las
duraciones, los buffers, la frecuencia y la ventana hacia el futuro se aplican
automáticamente. Para el modelo mental, consulta
Conceptos básicos.Se compone de tres objetos conectados:
Schedule — el calendario de disponibilidad del host (horas semanales,
overrides por fecha, timezone).
Booking Template — un tipo de evento reservable sobre un schedule
(duraciones, título, límites).
Booking — una cita real, opcionalmente con invitados.
Bookings & Schedules es un feature solo de API — no hay una pantalla de
administración dedicada. Lo consumen los front-ends de booking y de
funnels, y las integraciones, a través de
la API: obtener los slots disponibles de un host, crear un booking, y dejar que las
personas gestionen sus propios bookings.
Máximo de bookings por day / week / month / year, por host.
default_booking_title es un template Mustache — puede referenciar duration,
booking_template, schedule y scheduler (el nombre, email y teléfono del
host).
Cuando un front-end pide la disponibilidad de un host, CXF devuelve los slots de
tiempo libres. Toma las horas de cada día (el override de la fecha si existe, si
no las horas semanales de ese día), quita el tiempo ocupado por bookings existentes
(expandido por los buffers del template), y ofrece slots de la duración elegida. Un
slot desaparece cuando alcanza bookings_per_slot.Los horarios son timezone-aware: los bookings se guardan en UTC y la respuesta
ya viene convertida al timezone solicitado.
Un booking pasa por pending → confirmed, y puede terminar como canceled,
completed o missed. Solo los bookings pending y confirmed ocupan un
slot — los demás lo liberan.
Un booking puede llevar una lista de invitados (Contacts o Users). A través
de la API de contacto, las personas pueden listar, cancelar y agregar invitados a
sus propios bookings.
Los schedules, booking templates y bookings tienen CRUD completo. Un endpoint de
availability por host devuelve los slots libres, y una API de contacto permite
a las personas crear un booking y gestionar los propios (cancelar, agregar
invitados). Consulta la API reference.