Skip to main content
Famulor incorpora un sistema de programación completo propio: tipos de evento con su propia disponibilidad semanal, una página pública de reserva incrustable, sincronización opcional con un calendario real y un webhook firmado en cada reserva. Los asistentes reservan contra él durante la llamada igual que con cualquier otro proveedor. Los proveedores externos — Cal.com, Calendly, Acuity Scheduling, eTermin, HighLevel — están en Calendario y reservas.

El calendario nativo

Native es el motor de reservas propio de Famulor — construido directamente en la plataforma en lugar de ser un producto de terceros al que te das de alta, y aparece junto al resto de proveedores de calendario en Proveedores de un vistazo. No hay cuenta externa, ni clave de API, ni pantalla de consentimiento OAuth: define un tipo de evento con su propia disponibilidad semanal y queda listo de inmediato para asignarlo a un asistente.
Native funciona con la misma función de plan Calendar integrations que el resto de proveedores que aparecen en Proveedores de un vistazo — no es un complemento de pago aparte por encima de Cal.com o Calendly. Tu plan igualmente tiene que incluir esa función antes de poder crear cualquier tipo de evento o integración, también los nativos. Consulta Restricción por plan.
Un tipo de evento nativo asignado recibe las mismas herramientas check_availability y book_appointment que cualquier otra integración, sin ninguna API de terceros de por medio: los huecos salen directamente de las propias ventanas de disponibilidad, los márgenes y las reglas de aviso del tipo de evento. Native es también uno de los dos únicos proveedores —el otro es Acuity— cuyos asistentes pueden buscar, cancelar y reprogramar una cita existente, y el único de los dos que no necesita ninguna cuenta externa para ello. Consulta Asignar a un asistente para ver la lista completa de herramientas.

Conexiones de calendario

Native funciona de forma independiente solo con sus propias reglas de disponibilidad semanal, o puedes conectar un calendario real para que se respeten sus horarios ocupados y —en la mayoría de los tipos de conexión— las reservas confirmadas se escriban de vuelta en él. Conecta Google Calendar y Outlook en Booking → Integrations; añade CalDAV o un feed ICS en Booking → Event types → Calendars. En cualquier caso, elige la conexión en el propio campo Calendars del tipo de evento para usarla de verdad.

El motor de reservas integrado

Crea tipos de evento en Booking dentro del panel (o mediante la API/MCP):
Formulario de nuevo tipo de evento sin guardar

Nuevo tipo de evento — ejemplo de configuración antes de guardar

  • Name, slug, duration — el slug es único dentro del espacio de trabajo y pasa a formar parte de la URL de la página pública de reserva que se muestra en el editor.
  • Weekly availability — franjas horarias por día de la semana en la zona horaria del tipo de evento, por ejemplo, de lunes a viernes de 09:00 a 17:00.
  • Buffers & rules — margen antes y después de cada reserva, aviso mínimo, con cuánta antelación pueden reservar los clientes, e incremento de los huecos.
  • Calendar sync (opcional) — vincula un calendario conectado. Las conexiones de Google, Outlook y CalDAV restan sus horarios ocupados de los huecos ofrecidos y envían de vuelta las reservas confirmadas como eventos de calendario; en Google y Outlook, el invitado se añade como participante, así que el proveedor también envía su propia invitación. Un feed ICS solo aporta horarios ocupados.
  • Nombre siempre es obligatorio. Configura Correo y Teléfono como obligatorios u opcionales en las preguntas de reserva. Google Meet y Microsoft Teams siguen exigiendo el correo para la invitación. La página de reservas y el asistente telefónico respetan los mismos requisitos.
Si no se puede comprobar un calendario conectado, los horarios disponibles, las nuevas reservas y los cambios de horario se bloquean temporalmente hasta que pueda verificarse la disponibilidad. Las solicitudes se reintentan automáticamente ante errores temporales del servicio de calendario. Si la creación del evento sigue fallando, la reserva guardada muestra una advertencia de Calendar sync; esa advertencia no confirma un evento de calendario ni un enlace de reunión.

Correos de confirmación y calendarios

Elige la Ubicación antes de las preguntas de reserva. Abre Calendarios al lado para seleccionar el calendario de destino y los que se revisan para evitar conflictos. Las opciones se guardan con el tipo de evento. En Correo de confirmación, elige el remitente y personaliza el asunto y el mensaje. Un campo vacío conserva su texto estándar. Las variables ⚡ insertan el nombre del cliente, evento, empresa, hora, duración, ubicación y enlaces para cambiar o cancelar. Los textos personalizados se aplican a la confirmación inicial; las cancelaciones, cambios y recordatorios mantienen sus mensajes estándar. Idioma de los correos fija el idioma de todos los textos estándar de este tipo de evento (inglés, alemán, francés o español). Idioma del destinatario mantiene el comportamiento por defecto: cada invitado recibe el texto estándar en el idioma de su cuenta o de tu espacio de trabajo. Para no enviar ningún correo a los invitados, desactiva Enviar correos a los invitados en la pestaña Correos para invitados: los invitados no reciben correos de confirmación, cancelación, reprogramación ni recordatorio, y no se añaden como asistentes en tu calendario de Google u Outlook conectado (así que esos calendarios tampoco les envían invitaciones), pero el anfitrión sigue recibiendo avisos. En los tipos de evento con Google Meet o Microsoft Teams, los invitados no reciben entonces el enlace de acceso por correo. El remitente automático usa el SMTP del espacio de trabajo o el del distribuidor para sus clientes. Los espacios directos autorizados pueden usar el servidor de la plataforma sin SMTP propio. Una dirección verificada seleccionada usa su propio envío. Los espacios de marca blanca no recurren a la identidad de la plataforma si falta el SMTP o falla. Google y Outlook envían la invitación desde la cuenta de calendario conectada. La confirmación usa tu remitente y no adjunta otra invitación después de una invitación correcta del proveedor. Las reservas independientes y CalDAV usan el archivo de calendario de la confirmación. Sin correo opcional, el cliente no recibe mensajes; el anfitrión configurado aún puede recibir avisos.

Página pública de reserva e incrustación

Cada tipo de evento activo tiene una página pública con la marca del espacio de trabajo en https://<your-domain>/book/{workspace}/{slug} — no requiere iniciar sesión. Selecciona Embed en la lista de tipos de evento y elige una de cuatro opciones: flujo de reserva integrado, botón emergente flotante, ventana emergente abierta por un elemento propio de la página, o enlace/botón compatible con correo. Se generan fragmentos HTML y React para la opción elegida, con tema claro, oscuro o automático cuando corresponde. El cargador HTML utiliza una clave de reserva neutra y no secreta, y se sirve desde el mismo dominio que la página pública de reserva: El contenedor inline ocupa todo el ancho y alto disponibles. Asigna una altura explícita a su elemento padre si quieres que el flujo de reserva encaje en una sección concreta; de lo contrario, el cargador aplica una altura mínima segura y crece con el contenido de la reserva. Los botones flotantes pueden colocarse en cualquiera de las dos esquinas inferiores. Las inserciones activadas por un elemento usan clics delegados, por lo que funcionan con varios elementos coincidentes y con botones que React u otra aplicación de página única renderice más tarde. En pantallas grandes, las ventanas siguen la altura medida del flujo de reserva y permanecen centradas verticalmente. En pantallas pequeñas ocupan toda la pantalla, respetan las áreas seguras, bloquean el desplazamiento del fondo y devuelven el foco del teclado al elemento que las abrió. Activa Reenviar parámetros de la página cuando quieras llevar los campos rellenados o la atribución de campañas desde la página anfitriona al flujo de reserva. La opción está desactivada de forma predeterminada; al activarla se filtran los parámetros que parecen datos de autenticación. Nunca incluyas secretos en una URL. La inserción para correo carga la disponibilidad actual y permite seleccionar hasta cinco horarios. Genera texto sin formato y botones HTML compatibles con correo; cada enlace abre el formulario con el horario preseleccionado. La disponibilidad se comprueba de nuevo antes de abrir el formulario, de modo que un correo antiguo nunca permita reservar un horario que ya no esté disponible. En un dominio de marca blanca verificado, tanto el cargador como la página de reserva permanecen en ese dominio personalizado y usan su marca; los fragmentos destinados al cliente no contienen la marca de la plataforma. Las integraciones existentes siguen funcionando después de cambiar el nombre de un espacio de trabajo porque los identificadores antiguos redirigen a la URL actual. Los visitantes eligen un hueco en su propia zona horaria, introducen su nombre, correo electrónico, opcionalmente un número de teléfono, y responden a las preguntas de reserva que hayas configurado, y a continuación reciben un correo de confirmación con una invitación de calendario ICS más un enlace de cancelación. El anfitrión configurado recibe un correo Nueva reserva correspondiente. Si dos personas eligen el mismo hueco a la vez, solo la primera reserva tiene éxito y al otro visitante se le pide elegir otra hora.

Gestionar reservas

Abre Booking en el panel para revisar las citas como lista. Filtra con Upcoming, Unconfirmed, Recurring, Past y Canceled. Abre una fila para el detalle, cancelar o reprogramar. Una vista de calendario por mes, semana y día también está disponible en la misma barra de herramientas. La página pública de reserva es distinta: los visitantes eligen un día en un calendario mensual y después una hora.

Notificaciones del equipo

Con la app móvil de Famulor abierta con su cuenta, los propietarios, administradores y miembros del espacio de trabajo reciben una notificación push:
  • cuando llega una reserva desde la página de reservas, un asistente o la API (las reservas que creas tú en el panel o con Milian no avisan)
  • 15 minutos antes de que empiece una reserva
  • al empezar
Toca la notificación para abrir la reserva con llamar, correo, añadir al calendario, reprogramar y cancelar. Las notificaciones llegan en el idioma de la cuenta de cada persona y muestran las horas en la zona horaria del espacio de trabajo. Si se reprograma una reserva, el recordatorio se ajusta a la nueva hora.

Reservar desde llamadas

Conecta el motor de reservas integrado a un asistente para hacer reservas durante la llamada en el mismo calendario y enlazarlas con la llamada correspondiente. Lo asignas exactamente igual que un proveedor externo — consulta Asignar a un asistente.

Webhooks

Asigna a un tipo de evento una Webhook URL y Famulor la notificará cada vez que se cree, cancele o reprograme una reserva de ese tipo de evento. Al guardar la URL se revela un Webhook signing secret — se muestra una sola vez, así que cópialo antes de salir de la página. Cada envío es un POST de booking.created, booking.cancelled o booking.rescheduled, firmado con un HMAC-SHA256 del cuerpo sin procesar en X-Famulor-Signature: sha256=<hex digest>. El objeto data incluye booking_id, los event_type_id/event_type_slug/event_type_name del tipo de evento, invitee (name, email, phone, timezone), start_time y end_time (más previous_start_time en una reprogramación), status, source (web, call, api, o manual para una reserva hecha desde el panel o por Milian), el call_id de origen cuando la reserva proviene de una llamada, notes en texto libre y las respuestas a las preguntas de reserva configuradas, en cada webhook de reserva. Consulta Recibir webhooks para ver un ejemplo completo de servidor, incluida la verificación de firma.

Vista de calendario

Las citas no tienen que verse solo como una lista. Un pequeño selector a la derecha de la barra de herramientas de Reservas cambia entre la lista y un calendario completo — la lista sigue siendo la vista predeterminada, y la elección se recuerda en ese dispositivo. Tanto la lista como el calendario se actualizan en vivo a medida que se crean, mueven o cancelan citas — consulta Actualizaciones en vivo más abajo.
Calendario de reservas en vista mensual sin citas

Booking → Bookings: abre esta vista con el icono de calendario. Today, las flechas y el menú Month controlan el periodo; el día seleccionado aparece a la derecha.

El calendario tiene tres períodos: Mes, Semana y Día. Mes muestra una cuadrícula habitual con la semana empezando en lunes; Semana y Día ordenan las citas a lo largo de un eje horario. Los tres muestran las horas en la zona horaria y el formato horario del espacio de trabajo, incluido el día del cambio de hora.

Cabecera y atajos

El calendario tiene su propia cabecera de una sola fila, inspirada en Google Calendar: un botón Hoy con borde, flechas anterior/siguiente sin borde, el período actual como título sencillo, un menú desplegable de vista (Día / Semana / Mes) con una casilla Mostrar reservas canceladas dentro, y el mismo selector de lista/calendario en el extremo derecho. Ya no hay un botón de actualizar aparte; la cabecera no lo necesita. Con el foco en el calendario (no en un campo de texto ni en un menú), los atajos de teclado coinciden con los de Google Calendar: D, W, M cambian de período, T salta a hoy, J/N y K/P (o las flechas, con el foco en la cuadrícula) avanzan o retroceden de período, y C abre una nueva reserva. Si las teclas de una sola letra molestan alguna vez, desactívalas desde la casilla Atajos de teclado del menú de vista; el ajuste se recuerda en ese dispositivo.

Barra lateral y colores

Una barra lateral plegable (abierta de forma predeterminada en pantallas grandes, un icono de menú hamburguesa al inicio de la cabecera la muestra u oculta, en el teléfono aparece como una hoja) incluye un botón Nueva reserva, un mini mes en el que puedes hacer clic para ir a cualquier día — con un punto en los días con citas y el día de hoy resaltado —, una lista Tipos de eventos con una casilla de color por cada tipo de evento activo para filtrar la cuadrícula (se pueden marcar varios tipos a la vez; los enlaces existentes que apuntan a un único tipo de evento siguen funcionando) y un control Horarios disponibles para que elige de qué tipo de evento se muestran los horarios libres. Cada tipo de evento activo recibe automáticamente su propio color de un conjunto fijo de diez, estable entre sesiones y legible tanto en claro como en oscuro. Las citas se colorean según el tipo de evento — igual que Google colorea por calendario —, una cita cancelada se muestra con un borde discontinuo, y una cita completada o no presentada aparece atenuada con una pequeña marca de estado. Los horarios libres siguen teniendo en cuenta las citas existentes, cualquier calendario conectado, los tiempos de margen y el aviso mínimo; un número de horarios libres se muestra por día en Mes, disponibilidad sombreada en Semana, y una lista de horarios abiertos que se puede tocar en Día. Tocar uno inicia ahí mismo una reserva para quien pueda crear citas; quien solo tenga acceso de lectura recibe en su lugar un enlace a la página pública de reserva.

Reservar con un clic

Haz clic en una posición libre en Semana o Día para abrir ahí mismo una ventana emergente de creación rápida, anclada a un marcador en la hora que hayas clicado; en Mes, haz clic en un espacio libre del día (no en el número del día ni en una cita existente) para abrirla para ese día. El botón Nueva reserva de la barra lateral, el botón «+» del propio calendario y el atajo C la abren para el siguiente horario disponible. Elige el tipo de evento, una hora entre los horarios libres reales de ese tipo o cualquier otra hora futura (o usa «Más opciones» para el formulario completo cuando el tipo de evento tenga preguntas de reserva adicionales), e introduce el nombre del invitado (siempre obligatorio), el correo y el teléfono (solo cuando el tipo de evento los exige) y notas. Guarda, y el invitado recibirá el correo de confirmación habitual si se dio una dirección de correo — el diálogo lo indica; la cita aparece en el calendario de inmediato. Puedes reservar o mover una cita a cualquier hora futura, incluso fuera de los horarios abiertos del tipo de evento; el calendario marca claramente esa hora como fuera del horario normal. Los invitados en tu página pública de reserva, y tus asistentes en llamada, en cambio, solo ven y reservan horarios realmente libres.

Mover arrastrando

Arrastra una cita confirmada y aún no iniciada a una nueva hora o día en Semana o Día, o a otro día en Mes (conservando su hora); la hora de destino se actualiza en vivo mientras arrastras. Al soltar, aparece una breve confirmación — «¿Mover la cita <tipo de evento> de <invitado> al <día>, <hora>? Recibirá un correo de actualización.» — antes de enviar nada. Soltar en una hora ya ocupada por otra cita del mismo tipo de evento, o en el pasado, se rechaza con un mensaje claro y no se envía nada; soltar en una hora fuera de los horarios abiertos del tipo de evento está permitido y se marca claramente, igual que al reservar con un clic.

Actualizaciones en vivo

No hay ningún botón de actualizar en el calendario. El calendario y la lista de citas recogen por sí solos una cita nueva, movida o cancelada — hecha desde cualquier dispositivo, desde la página pública de reserva, o por Milian — con un breve resaltado sobre lo que acaba de cambiar. Haz clic en cualquier cita para abrir el mismo panel de detalles que en la lista, donde puedes reprogramarla o cancelarla. Las citas canceladas permanecen ocultas hasta que las vuelvas a activar.
En el teléfono, Mes muestra hasta tres puntos de color por día y un contador de las citas adicionales; toca un día para ver sus citas y horarios libres.
Cualquier vista, período o día distinto del valor predeterminado (lista, mes, hoy) aparece en la barra de direcciones, de modo que compartir ese enlace abre a un compañero en la misma vista. Un enlace que no lleve ninguno de ellos conserva la última vista que usó quien lo abre.

Restricción por plan

Tu plan debe incluir Calendar integrations — la misma función de plan que restringe los proveedores externos en Calendario y reservas. Sin ella, no puedes crear tipos de evento, y las páginas públicas de reserva no aceptan nuevas reservas.

API y MCP

Todo lo anterior está disponible en la API REST pública y como herramientas de MCP en https://<your-domain>/mcp. Las integraciones de proveedores (Cal.com, Calendly, Acuity, eTermin, HighLevel) y la asignación de cualquier calendario a un asistente se explican en Calendario y reservas. La vista de calendario anterior comparte sus datos con los endpoints de abajo: las citas mediante la misma lista de reservas que GET /api/v1/bookings/list_bookings, y los horarios libres mediante la misma consulta por tipo de evento que GET /api/v1/booking-event-types/{id}/slots/get_booking_slots. GET /api/v1/bookings y list_bookings admiten filtros por tipo de evento, origen y fecha — source incluye manual para reservas hechas desde el panel o por Milian. Usa view=upcoming|unconfirmed|recurring|past|cancelled para obtener las mismas vistas de reserva que el panel, o usa un filtro status exacto; view y status son mutuamente excluyentes. Crear o mover una reserva mediante la API o MCP normalmente tiene que caer en un horario realmente libre de get_booking_slots, igual que en la página pública de reserva. Pasa allow_outside_availability: true a POST /api/v1/bookings, POST /api/v1/bookings/{id}/reschedule, create_booking o reschedule_booking para reservar o mover en su lugar a cualquier hora futura, incluso fuera de los horarios abiertos del tipo de evento — la misma excepción que ofrece el calendario del panel. El valor predeterminado es false, así que las integraciones existentes no se ven afectadas.