Pre-launch · ERPlora is in active development. You're viewing a product preview.
Back to apps Customers, schedule and team

Online booking

Let customers book themselves online, and confirm or cancel their bookings from one inbox.

Free
Start free
Turn it on from your Hub

Apps are turned on from the Apps page of your Hub. Create your free account to get one.

This documentation is only available in Spanish.

Para qué sirve y para quién

Reservas online es la puerta por la que una clienta pide cita sola, desde fuera, sin llamar: elige el servicio, el profesional (o «sin preferencia»), el día y una hora libre, deja su nombre y su teléfono, y la cita entra en la agenda de Citas, como cualquier otra, con el origen «Reserva online». Si el negocio confirma a mano, nace Pendiente y espera en la bandeja de Reservas; si confirma solo, nace Confirmada. La clienta recibe un número de cita y un enlace personal con el que ve su reserva y la cancela dentro de la política del negocio.

Quién la usa:

  • La clienta, en la página de reservas del negocio (sin cuenta ni contraseña).
  • El empleado ve en la bandeja las reservas online de su propia agenda.
  • El responsable ve todas las reservas online y las confirma, completa, marca como no presentadas o cancela.
  • El propietario y el administrador: además las borran y configuran la página de reservas.
  • El asistente (por voz o por texto, con la sesión de quien habla) hace lo mismo: «confirma la reserva de Ana de mañana», «¿qué reservas online hay pendientes?», «cancela la reserva APT-20261016-0003».

Referencia adoptada

Fresha, Treatwell, Booksy, Square Appointments, Vagaro, Mindbody, Odoo Appointments y SimplyBook.me (tabla y enlaces en «Decisiones de mercado»): la reserva online es una cita de la agenda desde el primer momento (ocupa el hueco), con un ajuste de confirmación automática o manual; la página pide nombre y móvil; la clienta gestiona su reserva con el enlace de la confirmación, y cancelar desde ahí respeta la antelación del negocio.

Antes de empezar

  1. Reservas online enciende con ella Citas, Clientes, Servicios y Personal (y, por Citas, Horarios), y no se pueden apagar mientras esté encendida.
  2. En Servicios, deja marcada Reserva online en los servicios que la clienta puede reservar (también desde los Ajustes de esta app). Un servicio archivado o que no se puede reservar en la agenda no sale.
  3. En Personal y Horarios, lo mismo que pide la agenda: profesionales reservables, su horario y el del negocio. La página ofrece solo las horas que la agenda daría a la clienta.
  4. Abre Reservas online → Ajustes, enciende Página pública activada y pulsa Guardar. Mientras está apagada, la página dice que el negocio no acepta reservas online.
  5. Todas las horas son las del reloj del negocio (en la fase 1, Europe/Madrid).

Pantallas

Reservas online se abre desde el menú Reservas online y tiene dos pestañas: Reservas y Ajustes (esta, solo para quien puede cambiarlos). Lo que una persona no puede hacer sale en gris o no aparece, y la app lo rechaza aunque lo intente por la API o por el asistente.

Reservas (bandeja)

Tabla de 50 filas por página con buscador («Buscar nº, cliente, teléfono, servicio…») y filtros por columna: Nº, Cliente, Servicio, Profesional, Fecha (un día) y Estado. Columnas: Nº (APT-…), Cliente (con su teléfono), Servicio, Profesional, Fecha, Hora, Estado y Reservada (cuándo la pidió). Las más recientes primero; se ordena por columna. Lista o tarjetas.

Por fila: Confirmar, Completar, No-show, Cancelar y Borrar (Borrar solo para quien puede borrar). La que no aplica al estado sale en gris, no se esconde. Cancelar pide confirmación con un motivo opcional; Borrar pide confirmación. Vacía: «Aún no hay reservas online.» (con filtros: «Ninguna reserva coincide con la búsqueda.»). Se refresca sola cuando cambia una cita online en la agenda.

Ajustes

Título «Configuración de la página de reservas». Tres bloques y un botón Guardar:

  • Página pública: «Página pública activada», «Título de la página», «Mensaje de bienvenida», «Color primario» (#RRGGBB), «URL del logo», «Email obligatorio», «Reservas próximas por móvil» (1 a 50), «Permitir elegir profesional», «Permitir notas», «Mensaje de confirmación» y «Política de cancelación» (el texto que lee la clienta).
  • Reglas de reserva (son las de Citas, compartidas con WhatsApp): «Antelación mínima para reservar (minutos)», «Reservar como máximo con esta antelación (días)» (0 = sin límite), «Intervalo entre huecos (minutos)», «Confirmar automáticamente las reservas de la clienta», «Permitir que la clienta cancele su cita» y «Antelación mínima para cancelar (horas)».
  • Servicios reservables online: los servicios en oferta con un interruptor «Reserva online» cada uno (se guarda al tocarlo, en Servicios); el que no se puede reservar en la agenda lo dice.

Al guardar: «Configuración guardada.»; un rechazo sale debajo de su campo («No se pudo guardar»).

Vista previa de la reserva (solo en desarrollo)

Página /online_booking/preview, solo en el servidor de desarrollo: hace el recorrido de la página pública (servicio → profesional → día y hora → datos → reservar → ver y cancelar con el enlace) con las mismas operaciones que llamará la página pública de base. No forma parte de la versión de producción.

Estados de cada pantalla

Estado Qué ve la persona
Cargando «Cargando…» en la tabla; «Cargando la configuración…» en Ajustes.
Vacío «Aún no hay reservas online.»; con filtros, «Ninguna reserva coincide con la búsqueda.»; en Ajustes sin servicios, «Todavía no hay servicios. Dalos de alta en Servicios.».
Error El aviso de la tabla con «Reintentar»; el rechazo de una acción de fila, en su confirmación o encima de la tabla; un rechazo de Ajustes, debajo de su campo, sin perder lo tecleado.
Reconectando Lo pintado se queda; una franja avisa «Reconectando…».
App inactiva «Esta app no está activa en este negocio».
Sin permiso No aparece lo que no puede hacer; si llega por otra puerta, «No tienes permiso».

Fechas y horas salen en el reloj del negocio y con el formato del idioma de quien mira.

Flujos

ID Flujo Estado
ONLINE_BOOKING-F01 La clienta reserva desde la página de reservas hecho (operaciones y vista previa; la página pública es de base)
ONLINE_BOOKING-F02 Confirmar una reserva hecho
ONLINE_BOOKING-F03 Completar una reserva hecho
ONLINE_BOOKING-F04 Marcar que no se presentó hecho
ONLINE_BOOKING-F05 Cancelar una reserva hecho
ONLINE_BOOKING-F06 Borrar una reserva hecho
ONLINE_BOOKING-F07 Configurar la página de reservas hecho
ONLINE_BOOKING-F08 Ver y buscar las reservas hecho
ONLINE_BOOKING-F09 Seguir a la clienta cuando se fusionan dos fichas hecho (lo hace Citas; la bandeja lo refleja)
ONLINE_BOOKING-F10 La clienta ve su reserva con su enlace hecho (operación; la página es de base)
ONLINE_BOOKING-F11 La clienta cancela su reserva con su enlace hecho (operación; la página es de base)
ONLINE_BOOKING-F12 Borrar los datos de una clienta (RGPD) hecho

ONLINE_BOOKING-F01 La clienta reserva desde la página de reservas

Estado: hecho (operaciones y vista previa; la página pública es de base) Actor: clienta (sin sesión) Pantalla: página pública de reservas (base); en desarrollo, la vista previa Pasos: 1. Abre la página del negocio: título, mensaje de bienvenida, logo y color de los Ajustes. 2. Elige uno o varios servicios (hasta 5) de los reservables online, con su precio y su duración si Servicios los enseña («Mostrar precios», «Mostrar duración»). 3. Si el negocio lo permite, elige profesional entre los que hacen todos esos servicios, o «Sin preferencia». 4. Elige el día: salen las horas libres que la agenda daría a la clienta (horario del negocio, turno y ausencias del profesional, bloqueos y otras citas; nunca dentro de la antelación mínima, más allá de la máxima, en el pasado ni encima de otra cita). 5. Escribe su nombre, su móvil (obligatorio), su email (si el negocio lo pide) y, si se permite, una nota. 6. Pulsa Reservar: la cita entra en la agenda con el origen «Reserva online», Confirmada o Pendiente según «Confirmar automáticamente las reservas de la clienta» (y siempre Pendiente si un servicio tiene «Requiere confirmación» en Servicios), y la clienta ve su número de cita (APT-…), el mensaje de confirmación y su enlace personal. Entra: los servicios reservables online (Servicios), los profesionales que los hacen (Servicios y Personal), las horas libres y las reglas de reserva (Citas), las fichas de Clientes. Sale: la cita (appointment.appointment.created y, si nace confirmada, appointment.appointment.confirmed), la ficha de la clienta enlazada por su teléfono o creada si no existe (customer.customer.created, con origen «web»), y el aviso online_booking.booking.created. Si la ficha no tiene email, el que escribió queda como contacto de la cita (la ficha no se toca). Con «Sin preferencia», la cita es del primer profesional (por orden de nombre) que tiene libre esa hora. Nada de lo que responde la página dice el nombre de la ficha de ese móvil. Si falla (no se escribe nada): la página apagada («Este negocio no acepta reservas online ahora mismo.»); un servicio que no se reserva online; elegir profesional cuando el negocio no lo permite; la hora ya no está libre o no cumple las reglas (el motivo de Citas); el móvil que no es un número válido; falta el email obligatorio; una nota cuando el negocio no las admite; límites anti-abuso: más de 5 reservas en una hora desde el mismo dispositivo o más de 100 en una hora en el negocio («Inténtalo dentro de un rato»), o más reservas online próximas con el mismo móvil de las que permiten los Ajustes (3 de fábrica: «Este móvil ya tiene reservas próximas…», sin decir cuántas). Dos clientas que reservan a la vez la misma hora del mismo profesional: entra una y la otra recibe «Esa hora ya no está libre».

ONLINE_BOOKING-F02 Confirmar una reserva

Estado: hecho Actor: responsable, propietario, administrador, asistente Pantalla: Reservas Pasos: 1. En una reserva Pendiente, pulsa Confirmar (o di «confirma la reserva de Ana de mañana»). 2. La cita pasa a Confirmada en la agenda y su historial dice «Confirmada». Sale: appointment.appointment.confirmed. Si falla: «Esta cita ya no se puede confirmar: ya no está pendiente.»; si el nombre vale para varias reservas, se dicen cuáles y se pide el número.

ONLINE_BOOKING-F03 Completar una reserva

Estado: hecho Actor: responsable, propietario, administrador, asistente Pantalla: Reservas Pasos: 1. En una reserva Confirmada o En curso, pulsa Completar. 2. La cita pasa a Completada. No cobra: el cobro es el de la agenda en el TPV. Sale: appointment.appointment.completed. Si falla: «Esta cita no se puede completar en su estado actual.»

ONLINE_BOOKING-F04 Marcar que no se presentó

Estado: hecho Actor: responsable, propietario, administrador, asistente Pantalla: Reservas Pasos: 1. Pasada la hora de la reserva, en una Pendiente o Confirmada, pulsa No-show. 2. La cita pasa a No-show y el hueco queda libre. Sale: appointment.appointment.marked_no_show. Si falla: antes de su hora, «Todavía no es la hora de esta cita…»; en otro estado, «Esta cita no se puede marcar como no presentada en su estado actual.»

ONLINE_BOOKING-F05 Cancelar una reserva

Estado: hecho Actor: responsable, propietario, administrador, asistente Pantalla: Reservas Pasos: 1. Pulsa Cancelar en una reserva pendiente, confirmada o no presentada. 2. «¿Cancelar la reserva de Lucía (martes 14, 10:00)?» con el motivo opcional; pulsa Cancelar la reserva. 3. La cita pasa a Cancelada, el hueco queda libre y el historial guarda quién y el motivo. Sale: appointment.appointment.cancelled. Rechazar una reserva pendiente es cancelarla (el mercado: el «rechazar» de una solicitud libera el hueco igual). Si falla: «Esta cita ya no se puede cancelar en su estado actual.»; dentro del diálogo.

ONLINE_BOOKING-F06 Borrar una reserva

Estado: hecho Actor: propietario, administrador Pantalla: Reservas Pasos: 1. Pulsa Borrar y confirma «¿Borrar la reserva APT-…? Es mejor cancelarla, que conserva su historial.». 2. La reserva desaparece de la bandeja y de la agenda (borrado lógico: el dato no se pierde). Sale: appointment.appointment.deleted. Si falla: una cita en curso, completada o cobrada no se borra («Esta cita no se puede borrar…»).

ONLINE_BOOKING-F07 Configurar la página de reservas

Estado: hecho Actor: propietario, administrador Pantalla: Ajustes Pasos: 1. Cambia los campos de Página pública y de Reglas de reserva y pulsa Guardar: «Configuración guardada.». Se guarda solo lo que cambia, todo junto o nada. 2. En Servicios reservables online, toca el interruptor de un servicio: se guarda al momento en Servicios. Entra: los ajustes guardados (o los de fábrica: página apagada, email no obligatorio, 3 reservas próximas por móvil, elegir profesional y notas permitidos) y las reglas de Citas. Sale: online_booking.settings.updated (si cambia algo de la página) y appointment.settings.updated (si cambia una regla); el interruptor de un servicio, service.service.updated. Si falla: un color que no es #RRGGBB, una URL que no es http(s)://…, un número fuera de rango o un texto demasiado largo, debajo de su campo; no se guarda nada.

ONLINE_BOOKING-F08 Ver y buscar las reservas

Estado: hecho Actor: empleado (las de su agenda), responsable, propietario, administrador, asistente Pantalla: Reservas Pasos: 1. Abre Reservas: las citas con origen «Reserva online», las más recientes primero. 2. Busca por número, nombre, teléfono, email, servicio o profesional; filtra por columna; ordena. 3. Una reserva concreta la da el asistente o la API por su número, o por la clienta y el día. Sale: nada se escribe. Si falla: «No se pudieron cargar las reservas» con Reintentar.

ONLINE_BOOKING-F09 Seguir a la clienta cuando se fusionan dos fichas

Estado: hecho (lo hace Citas; la bandeja lo refleja) Actor: sistema Pasos: 1. En Clientes se fusionan dos fichas (customer.customer.merged). 2. Citas pasa las citas de la absorbida a la que queda (APPOINTMENT-F23); la bandeja enseña la reserva con la ficha que queda. Esta app no guarda la ficha de la clienta: nada más que hacer.

ONLINE_BOOKING-F10 La clienta ve su reserva con su enlace

Estado: hecho (operación; la página es de base) Actor: clienta (sin sesión) Pasos: 1. Abre el enlace de su confirmación. 2. Ve el número, el estado, el día y la hora, los servicios, el profesional, la política de cancelación y si todavía puede cancelar y hasta cuándo. Nunca el nombre de la ficha: quien tenga el enlace no averigua a quién pertenece un móvil. Si falla: un enlace que no existe, revocado o de una reserva borrada: «Esa reserva no existe o su enlace ya no es válido.».

ONLINE_BOOKING-F11 La clienta cancela su reserva con su enlace

Estado: hecho (operación; la página es de base) Actor: clienta (sin sesión) Pasos: 1. Desde su enlace pulsa Cancelar la reserva (motivo opcional). 2. Se aplica la política de Citas: «Permitir que la clienta cancele su cita» y «Antelación mínima para cancelar». La cita queda Cancelada, con «Lo pidió la clienta» en su historial. Sale: appointment.appointment.cancelled. Si falla: «La cancelación online no está disponible. Contacta con el negocio.»; «Esta cita solo se puede cancelar online con N horas de antelación…»; una ya cancelada o completada, el motivo de Citas.

ONLINE_BOOKING-F12 Borrar los datos de una clienta (RGPD)

Estado: hecho Actor: sistema Pasos: 1. En Clientes se borran los datos personales de una ficha (customer.customer.erased). 2. Citas vacía sus citas (APPOINTMENT-F24); esta app revoca sus enlaces (dejan de funcionar) y olvida el rastro del dispositivo con el que reservó. Repetirlo no cambia nada más.

Servicios: lo que entra y lo que sale

Todo se puede pedir por las pantallas, el asistente (por voz o por texto, con la sesión de quien habla) y la API, con las mismas reglas y permisos. Una reserva se nombra por su id, su número (APT-…) o como lo dice una persona: la clienta (nombre, teléfono o email) y el día («la de Ana de mañana»); sin día, su próxima reserva online. Si vale para varias, se dicen cuáles y se pide el número.

Lo que ofrece: consultas

Qué da Quién puede Flujos Servicio
Las reservas online, con búsqueda, filtros y orden, en páginas (hasta 100) ver reservas F08 online_booking.booking.list
Una reserva ver reservas F08 online_booking.booking.get
La configuración de la página y las reglas de reserva ver reservas F07 online_booking.settings.get
Página, servicios, horas libres y reserva por enlace (públicas) online_booking.public F01, F10 online_booking.public.page, .services, .slots, .booking

Lo que ofrece: acciones

Qué hace Quién puede Flujos Servicio
Confirma confirmar reservas (+ cambiar citas) F02 online_booking.booking.confirm
Completa cambiar reservas (+ cambiar citas) F03 online_booking.booking.complete
Marca no presentada cambiar reservas (+ cambiar citas) F04 online_booking.booking.no_show
Cancela, con motivo cambiar reservas (+ cambiar citas) F05 online_booking.booking.cancel
Borra borrar reservas (+ borrar citas) F06 online_booking.booking.delete
Guarda la configuración (y las reglas de Citas) ajustes (+ ajustes de Citas para las reglas) F07 online_booking.settings.update
Reserva y cancela desde la página (públicas) online_booking.public F01, F11 online_booking.public.book, .cancel

No-show, cancelar y borrar son de riesgo alto para el asistente: pide confirmación antes. Las acciones de la bandeja las hace Citas con el permiso de quien actúa: hace falta el de esta app y el de Citas.

Lo que avisa

Aviso Cuándo Qué lleva
online_booking.booking.created Una clienta reserva desde la página La cita (appointment_id), su número, la clienta y la hora; nunca notas
online_booking.settings.updated Guardar la configuración con algún cambio de la página Nada

El resto de hechos (confirmada, cancelada, completada, no presentada, borrada) son los avisos de Citas.

A qué reacciona

Aviso de otra app Qué hace Flujos
customer.customer.erased (Clientes) Revoca los enlaces de las reservas de esa ficha y olvida la huella del dispositivo F12

Quién puede qué

Permiso Propietario Administrador Responsable Empleado Servicio
Ver reservas (las de su agenda, si solo ve la suya en Citas) sí sí sí sí online_booking.view_booking
Cambiar reservas (completar, no-show, cancelar) sí sí sí no online_booking.change_booking
Confirmar reservas sí sí sí no online_booking.confirm_booking
Borrar reservas sí sí no no online_booking.delete_booking
Configurar la página sí sí no no online_booking.manage_settings
Probar la página pública (vista previa) sí sí no no online_booking.public