Recibe Reservas con WebBlocks Appointments
Permite que los visitantes reserven tiempo en tu propio sitio. Define qué pueden reservar, quién o qué presta el servicio y cuándo está disponible; después coloca el formulario nativo en una página del CMS y gestiona las citas desde el panel.
El ejemplo es Northstar Studio. Los visitantes pueden solicitar una Portfolio consultation de 45 minutos con Studio adviser. El asesor trabaja de lunes a viernes, de 09:00 a 17:00, en Europe/Berlin, y dispone de 15 minutos después de cada consulta para preparación y notas. Enviarás una solicitud, la confirmarás como operador, añadirás una reserva telefónica y comprobarás una cancelación del visitante en la lista.
Este recorrido se comprobó con Appointments 0.16.1 y WebBlocks CMS 1.105.26. El ejemplo opcional de acceso para miembros utiliza también Memberships 0.2.0. Todos los nombres, reservas y direcciones de las capturas son ficticios. Se probaron localmente las reservas, cambios de estado, cierre por fecha, cancelación y visibilidad de servicios para miembros. No se probaron la entrega real de correo ni una programación de recordatorios en producción; los avisos de correo local se muestran deliberadamente. Las capturas están en inglés; conservamos los nombres de campos y botones en inglés para que coincidan con ellas.
Comprende primero las cuatro partes
| Parte | Qué controla | Ejemplo de Northstar Studio |
|---|---|---|
| Personal o sala | Recurso que atiende una cita a la vez. | Studio adviser o Workshop room. |
| Servicio | Qué se reserva, su duración, márgenes y recursos asignados. | Portfolio consultation, 45 minutos y 15 minutos de margen posterior. |
| Horarios y excepciones | Disponibilidad recurrente del recurso y cambios por fecha. | Laborables 09:00–17:00; cerrado el 4 de noviembre. |
| Bloque Appointment Form | Entrada del visitante y su título, introducción y botón. | Book your consultation y botón Request appointment. |
Los servicios, recursos, horarios y reglas pertenecen al sitio, no a cada bloque de formulario. Dos páginas de reservas del mismo sitio utilizan los mismos registros operativos. Cambiar el título del formulario no modifica la duración del servicio ni abre otro calendario.
Appointments es un complemento de programación. Esta versión no cobra la reserva, crea enlaces de reunión ni sincroniza el calendario de Google u Outlook del operador. El correo de confirmación puede incluir un archivo de calendario .ics que el visitante importa; eso no equivale a sincronizar continuamente un calendario externo.
Memberships es opcional. Una reserva ordinaria como invitado no necesita cuenta. Un servicio restringido puede exigir un miembro verificado o un paquete de membresía activo concreto, como se explica más adelante. Un derecho de pago de Memberships puede dar acceso al paquete, pero el formulario de cita no cobra un importe adicional por reserva.
Consulta las rutas para desarrolladores y el contrato detallado en la referencia de Appointments. Esta guía sigue el flujo actual del panel y del visitante.
Antes de empezar
Aprende en un sitio de prueba y prepara:
- Una instalación funcional de WebBlocks CMS y una cuenta Super admin para instalar y configurar complementos.
- Una versión compatible. Appointments 0.16.1 declara CMS ^1.99.0 y PHP >=8.3; su catálogo indica compatibilidad con Laravel 13. Revisa el resultado para tu instalación real, incluidos los requisitos del CMS.
- Permisos para gestionar citas, servicios y horarios del sitio previsto. Consultar citas, gestionarlas y cambiar ajustes son permisos separados. Site Admin incluye de forma predeterminada los roles de consulta/gestión del complemento; no presupongas que incluye el permiso de ajustes.
- La zona horaria del sitio, el dominio canónico y una configuración real de correo saliente del CMS antes de aceptar visitantes.
- Un administrador de alojamiento que programe el comando de recordatorios si los necesitas.
Comprueba Timezone en Sites antes de crear citas. Aquí usamos Europe/Berlin. Las horas del formulario público y de la entrada del operador siguen el reloj del sitio; no se convierten automáticamente a la zona horaria del navegador. Indica la zona a los visitantes, especialmente en consultas remotas.
El complemento figura como gratuito en el catálogo de complementos WebBlocks. No necesitas Commerce ni Memberships para las reservas de invitados de esta guía.
1. Instala y activa Appointments
- Abre System → Plugins como Super admin.
- Selecciona Browse Plugin Catalog y abre WebBlocks Appointments.
- Revisa la versión seleccionada, la compatibilidad y las notas de versión.
- Elige Install from Catalog cuando se ofrezca una versión compatible.
- Abre los detalles del complemento instalado y elige Enable Plugin. Los paquetes recién instalados comienzan desactivados para su revisión.
Si el administrador proporciona un ZIP de versión fiable, utiliza Plugin ZIP → Upload Plugin ZIP, revísalo y actívalo. La instalación desde el panel no requiere compilar código fuente. Las versiones actuales del CMS preparan los cambios de base de datos durante la instalación, actualización y activación; resuelve cualquier error de preparación antes de continuar.
La barra lateral incorpora Appointments, con Appointments, Services, Staff & Rooms, Opening Hours y Settings. En instalaciones multisitio, utiliza los controles de sitio disponibles y comprueba el contexto seleccionado antes de editar. El formulario público lee el sitio de la página donde se coloca.
Plugin Health comprueba tablas, servicios y recursos activos, asignaciones, horarios, destinatario de avisos, correo saliente y programación de recordatorios. Un aviso aporta información útil y no justifica omitir la configuración. Las capturas usan un transporte local que no entrega correo, por lo que el complemento indica correctamente que requiere atención aunque las reservas funcionen.
2. Añade el miembro del personal o la sala
Abre Appointments → Staff & Rooms → Add staff or room.
- Escribe Studio adviser en Name.
- Marca Use as the default for new bookings para este ejemplo.
- Mantén Active seleccionado.
- Selecciona Save.
Un recurso representa algo con capacidad para una cita a la vez: una persona, un puesto de consulta o una sala. Crea un recurso separado por cada calendario que pueda reservarse independientemente. Llamarlo “Equipo de seis” no crea seis plazas simultáneas.
El segundo recurso del ejemplo es Workshop room, utilizado por otro servicio Studio room session. No se reserva automáticamente cuando alguien reserva al asesor. Cada cita tiene un recurso; asignar varios recursos a un servicio no significa reservar conjuntamente una persona y una sala.
Para empezar, asigna la consulta solo a Studio adviser. En esta versión, el formulario público utiliza el primer recurso asignado activo, priorizando el predeterminado y después su orden. No hay selector de personal ni flujo que pruebe el siguiente recurso libre. Si el recurso elegido está ocupado, no supongas que se sustituirá automáticamente por otro asignado.
3. Crea el servicio y asigna su recurso
Abre Appointments → Services → Add service e introduce:
| Campo | Ejemplo | Significado |
|---|---|---|
| Name | Portfolio consultation | Nombre que elige el visitante. |
| Slug | portfolio-consultation | Déjalo vacío para generarlo del nombre o usa un identificador estable propio. |
| Duration | 45 | Minutos con el visitante. |
| Buffer before (min) | 0 | Sin preparación previa en este ejemplo. |
| Buffer after (min) | 15 | Tiempo reservado después de la consulta. |
| Delivered by | Studio adviser | Recurso que presta este servicio. |
| Verified members only | Desactivado | Los invitados pueden reservar el ejemplo básico. |
| Required membership package | No package requirement | Todavía no se requiere paquete de membresía. |
| Active | Activado | Servicio disponible para nuevas reservas. |
Selecciona Save. Comprueba en el catálogo nombre, duración, márgenes, recurso y estado Active. Para ofrecer horas, el servicio necesita un recurso asignado activo con horarios adecuados.
Duración e intervalo de inicio son distintos. Un servicio de 45 minutos no tiene que empezar solo cada 45 minutos. En Settings elegirás un intervalo de 15 minutos para permitir 09:00, 09:15, 09:30, etc., siempre que la cita completa y las comprobaciones de conflicto lo permitan.
Una consulta de 10:00–10:45 con 15 minutos de margen posterior ocupa al asesor hasta las 11:00. La siguiente no puede empezar a las 10:45. También pueden desaparecer inicios anteriores si su cita y preparación posterior se solapan con el periodo reservado.
La cita del visitante debe terminar dentro de una franja de apertura. El margen puede extenderse fuera: una consulta que termine a las 17:00 puede tener limpieza después del cierre. Si todo el trabajo debe acabar antes de una hora límite, tenlo en cuenta al establecer la última franja reservable.
4. Configura los horarios semanales
Abre Appointments → Opening Hours. Elige Studio adviser en Staff or room y selecciona Apply.
En Add hours, elige el día e introduce Opens y Closes. Añade 09:00–17:00 para cada día de lunes a viernes. Guarda cada regla con Add hours.
Son horas locales de la zona del sitio. Añade reglas para cada recurso por separado; configurar al asesor no crea horarios para Workshop room.
Para cerrar al mediodía, usa dos franjas el mismo día, como 09:00–12:00 y 13:00–17:00, en lugar de una continua. El servicio debe caber entero en una franja; no atraviesa la pausa de comida. Evita reglas duplicadas que se solapen y dificulten entender el horario.
Los días sin regla no tienen apertura habitual. Activar un servicio no hace reservables por sí solo las noches ni los fines de semana.
5. Añade festivos y excepciones por fecha
En Opening Hours, utiliza Add exception para un cierre puntual u horario diferente. El ejemplo cierra el estudio el 4 de noviembre de 2026:
- Selecciona ese día en Date.
- Elige Whole site en Staff or room para este ejemplo de un solo sitio.
- Mantén Closed seleccionado.
- Introduce Studio planning day en Reason.
- Selecciona Add exception.
Para una persona o sala, elige su recurso en lugar de Whole site. Para abrir en otras horas, desmarca Closed e introduce los nuevos valores Opens y Closes. La excepción abierta sustituye al horario habitual de ese día; no se añade como otro turno. Un cierre coincidente tiene prioridad sobre las franjas abiertas.
En multisitio, prioriza las excepciones por recurso y prueba todos los sitios afectados antes de depender de Whole site en 0.16.1. La búsqueda de franjas puede aplicar un cierre de todo el sitio fuera del sitio previsto. Las excepciones por recurso mantienen el alcance en el recurso elegido.
Después de guardar, abre el formulario en esa fecha. Un día cerrado no debe ofrecer horas. Revisa también las reservas existentes: cambiar horarios o añadir un cierre no cancela automáticamente las citas guardadas para ese día. Contacta con los clientes afectados y gestiona esas reservas por separado.
6. Configura las reglas de reserva
Abre Appointments → Settings. Usa estos valores:
| Ajuste | Valor | Resultado |
|---|---|---|
| Slot interval (min) | 15 | Los inicios ofrecidos se separan 15 minutos. |
| Minimum notice (min) | 120 | Los visitantes deben reservar con dos horas de antelación. |
| Booking horizon (days) | 60 | Calendario público abierto hasta 60 días después. |
| Confirm bookings automatically | Desactivado | Las solicitudes comienzan Pending para revisión del operador. |
| Notification email | bookings@example.test | Destinatario ficticio del negocio; usa uno real fuera de la prueba. |
| Reminder (hours before) | 24 | El recordatorio vence dentro de las 24 horas anteriores. |
| Let visitors cancel from their confirmation email | Activado | Permite confirmar la cancelación mediante un enlace privado del correo. |
Selecciona Save. Las reglas son por sitio. Sus cambios afectan a la disponibilidad y solicitudes públicas posteriores; no mueven citas existentes ni reescriben los datos originales del cliente.
Pending no es una franja vacía. Una cita pendiente ya reserva el recurso y tiempo, igual que una confirmada. Usa confirmación manual si un operador revisará las solicitudes pronto. Activar la confirmación automática modifica el estado inicial de nuevas reservas; no confirma retroactivamente la lista pendiente.
Si no se define destinatario en el complemento, Notification email utiliza la dirección de contacto del sitio y después el remitente configurado. Una dirección no configura la entrega: el CMS necesita un transporte de correo real. Pon Reminder en 0 si no quieres enviar recordatorios.
7. Añade el formulario nativo a una página
Crea un borrador como Book a studio visit en el mismo sitio, o prepara una actualización en staging de una página de reservas existente. Añade una breve descripción del servicio, su zona horaria y qué sucede tras la solicitud.
En la ranura Main:
- Selecciona Add Block y elige Appointment Form.
- Abre Block Fields.
- Define Heading como Book your consultation.
- Define Intro text como Choose a service and a date. Times are shown in the studio clock (Europe/Berlin).
- Define Submit button label como Request appointment para la confirmación manual.
- Selecciona Save Block y abre Preview de la página guardada.
Estos campos controlan el texto de esta instancia del formulario. No contienen el catálogo, las asignaciones ni los horarios. No necesitas Trusted HTML, pegar un widget externo ni otra cuenta de proveedor.
Puedes traducir el texto del formulario para otros idiomas habilitados en el editor de bloques. El editor de servicios tiene un solo campo Name en esta versión; comprueba qué ven los visitantes sin asumir que traducir la página traduce los registros del servicio.
La vista instantánea del editor no admite formularios de complementos. Guarda y utiliza la vista previa de la página guardada. Enviar una reserva desde la vista previa crea una cita real en esa instalación. Practica en un sitio de prueba con datos ficticios y publica cuando el flujo y correo estén listos.
8. Envía una solicitud como visitante
Las capturas muestran una página local con el formulario guardado. En tu sitio de prueba, abre la vista previa o la página revisada y elige:
- Service: Portfolio consultation.
- Date: un día abierto futuro dentro del horizonte; 3 de noviembre de 2026 en el ejemplo.
- Time: 10:00, según el reloj Europe/Berlin del estudio.
Con JavaScript, cambiar servicio o fecha actualiza las horas. El botón Show available times, renderizado en el servidor, funciona sin JavaScript. El servidor vuelve a comprobar la disponibilidad al enviar; mostrar una hora no la reserva mientras se rellena el formulario.
Introduce nombre y correo, por ejemplo Example visitor y visitor@example.test. Phone y Anything we should know? son opcionales. En la prueba, deja Phone vacío y añade una nota ficticia breve. Para probar entrega real, usa una dirección que controles.
Selecciona Request appointment una vez. Si otra reserva ocupa antes esa hora, elige una nueva y vuelve a intentarlo. Una prueba humana normal debe permitir tiempo para rellenar el formulario; no uses envíos automáticos instantáneos repetidos para comprobar el correo.
El resultado dice Your appointment is booked. En este ejercicio de confirmación manual, el estado guardado sigue siendo Pending. El mensaje también emplea un texto genérico sobre el envío de detalles; no demuestra que el visitante haya recibido correo. El transporte local no entrega mensajes. Comprueba a continuación la cita guardada y los resultados independientes de notificación.
Abre de nuevo el mismo servicio y fecha. La reserva pendiente de las 10:00 y su margen deben eliminar los inicios incompatibles. Una fecha cerrada no debe ofrecer horas. Usa una fecha futura adecuada a tu día de prueba en lugar de reutilizar indefinidamente las fechas de las capturas.
9. Encuentra y confirma la solicitud
Abre Appointments → Appointments. Esta versión muestra por defecto reservas de distintas fechas, con las posteriores primero. No se limita a hoy. Usa Date, Status o Search y selecciona Apply; Reset borra los filtros.
Busca Example visitor el 3 de noviembre de 2026, 10:00–10:45, con Studio adviser. Junto al encabezado aparece la zona horaria del sitio; la lista incluye servicio, cliente, estado y resultados separados de notificación.
En Actions, elige el lápiz Edit status. Selecciona Confirmed en el diálogo y después Save status.
Los estados principales son:
| Estado | Significado operativo |
|---|---|
| Pending | Solicitud pendiente de revisión; la franja ya está reservada. |
| Confirmed | Cita aceptada; mantiene la franja ocupada. |
| Completed | Cita registrada como completada; su franja histórica sigue ocupada. |
| No show | Indica que el visitante no acudió; no sirve para mover una reserva futura. |
| Cancelled | Cita cancelada que deja libre la franja. |
Cambiar el estado no reenvía los mensajes originales de reserva. Si necesitas avisar personalmente de la aceptación o un cambio, contacta con el cliente por tu canal habitual y verifica el resultado. Elegir Confirmed no envía automáticamente otro correo de confirmación.
La lista permite editar estados, no reprogramar fecha y hora por completo. Para otra hora, acuerda el cambio con el cliente, cancela deliberadamente la original y crea otra reserva. Revisa las notificaciones por separado. No elimines la original solo para limpiar la lista: eliminar es permanente y no envía aviso de cancelación.
10. Introduce una reserva telefónica
Abre Appointments → Appointments → Add appointment. Elige:
- Service: Portfolio consultation.
- Staff or room: Studio adviser.
- Date: el mismo día futuro de prueba.
- Time: 15:00, en la zona horaria del sitio.
- Customer: Example phone booking.
- Email:
phone@example.test. - Una nota opcional sobre la consulta telefónica.
Selecciona Save. La reserva muestra entered manually. Con la confirmación automática desactivada, empieza también Pending; confírmala mediante Edit status cuando corresponda.
La entrada manual comprueba solapamientos y márgenes. Omite deliberadamente la comprobación pública de horarios, antelación mínima y horizonte, permitiendo excepciones del operador. Revisa tú esas condiciones, elige el recurso previsto y no interpretes una reserva manual como prueba de que la hora se ofrecería públicamente.
11. Comprueba el correo y programa recordatorios
Tras guardar, Appointments intenta dos mensajes independientes: aviso al negocio y confirmación al visitante. Esta puede llevar un archivo adjunto .ics con la cita. El visitante puede importarlo sin conectar una cuenta externa de calendario al CMS.
Comprueba Business notified y Visitor notified en la fila. El fallo de uno no implica el del otro. Los estados incluyen sent, failed, skipped y not configured. Sent significa que el transporte aceptó el mensaje, no que se haya leído ni que llegara a la bandeja de entrada.
El ejemplo muestra not configured porque la instalación registra el correo localmente. La cita permanece guardada aunque el correo falle. Antes de invitar visitantes reales, pide al administrador que configure correo y remitente del CMS, compruebe el dominio canónico y pruebe ambos destinatarios y el adjunto con buzones controlados.
Para recordatorios, pide al administrador del alojamiento que programe:
php artisan webblocks-appointments:dispatch-reminders
Ejecútalo cada pocos minutos, por ejemplo mediante el planificador Laravel de la aplicación anfitriona ejecutado cada minuto, o un cron equivalente. Que el planificador anfitrión funcione no programa por sí solo este comando. Añade explícitamente la tarea. La pantalla de salud no puede verificar la ejecución del cron del alojamiento; compruébala también allí.
El administrador puede consultar las citas pendientes sin enviar:
php artisan webblocks-appointments:dispatch-reminders --site=1 --dry-run
Sustituye 1 por el ID real del sitio. Con 24 horas, una reserva a más de 24 horas todavía no vence; una simulación vacía puede ser correcta. La salida puede incluir correos de visitantes; mantenla en el contexto privado adecuado del operador.
Cada cita futura elegible se considera una vez. El resultado se registra incluso si falla la entrega o no hay correo configurado; las ejecuciones repetidas no ofrecen reintentos automáticos. Se excluyen las canceladas; las Pending pueden ser elegibles porque siguen reservando la franja. Adapta esto a tu aprobación manual y prueba antes de usar los recordatorios.
12. Prueba la cancelación del visitante
Mantén Let visitors cancel from their confirmation email activado. En una prueba de correo real, el visitante abre el enlace privado de cancelación de la confirmación o recordatorio. Las capturas usan el enlace propio de la reserva local sin enviar correo.
Abrir el enlace solo muestra la confirmación. La cita se cancela al seleccionar Cancel this appointment. Así se evita cancelar cuando un escáner de correo visita un enlace.
Vuelve a la lista del operador. El registro debe mostrar Cancelled. Las 10:00 deben quedar disponibles si servicio, horario, antelación y horizonte aún lo permiten. La reserva telefónica separada de las 15:00 permanece igual.
El enlace proporciona acceso privado a esa reserva. No lo pongas en páginas públicas, notas analíticas ni capturas compartidas. Esta página no deshace la cancelación; reservar otra vez es una acción separada. No permite cancelar una cita ya iniciada. Si se desactiva la cancelación en línea, el visitante debe contactar con el negocio.
Tras guardar la cancelación del visitante, se intenta avisar al negocio. Un fallo de notificación no restaura la reserva. Los cambios de estado del operador son otro flujo y no envían automáticamente ese aviso.
13. Restringe opcionalmente un servicio con Memberships
Completa primero el flujo para invitados. Si quieres servicios para miembros, instala y activa una versión compatible de Memberships en la misma instalación. Appointments 0.16.1 acepta Memberships ^0.1 o ^0.2. Sigue la guía de Memberships para preparar cuentas verificadas, paquete activo y una concesión vigente o derecho de pago.
En el editor del servicio:
- Crea o abre Member portfolio review.
- Asigna el recurso activo y la duración como siempre.
- Marca Verified members only para exigir cuenta verificada.
- Elige Workshop circle en Required membership package si es obligatorio.
- Mantén el servicio activo y selecciona Save.
Un requisito de paquete también exige un miembro verificado; elegir un paquete no permite acceso anónimo. La búsqueda pública de horas y el envío de reservas comprueban ambos la elegibilidad para el sitio del servicio. Los miembros elegibles que hayan iniciado sesión pueden tener nombre y correo rellenados previamente; la reserva conserva la asociación al miembro junto con la instantánea de sus datos de cliente.
Prueba sin iniciar sesión, con una cuenta verificada sin paquete y con un titular actual del paquete. Los servicios restringidos se filtran de las opciones; si no queda ninguno elegible, el formulario indica que se requiere membresía activa. En el ejemplo, los invitados siguen viendo la consulta ordinaria y los servicios de sala, mientras el miembro verificado de Workshop circle descubre Member portfolio review.
Si Memberships está desactivado o no disponible, los servicios ordinarios pueden seguir abiertos, pero los restringidos permanecen cerrados. Cambiar después una concesión no reescribe las instantáneas históricas del cliente. La entrada manual del operador sigue disponible y debe tratarse como decisión operativa, no como prueba de elegibilidad del visitante.
14. Mantén servicios y recursos sin perder el historial
Para una pausa temporal, edita el servicio o recurso y desmarca Active. No presupongas que cancela sus citas existentes; revísalas y gestiónalas aparte.
Eliminar un servicio o recurso con historial lo desactiva en lugar de borrarlo. Así conserva la relación en reservas pasadas. Sin historial, puede eliminarse, por lo que conviene comprobarlo antes de confirmar. Eliminar una cita sí es permanente, borra los datos guardados y no envía aviso de cancelación.
Cambiar la duración no reprograma el inicio y fin guardados de una reserva existente. Las comprobaciones de margen usan los valores actuales del servicio, por lo que sus cambios pueden alterar las horas ofrecidas alrededor de reservas existentes. Revisa el calendario después.
Mantén estable la zona horaria tras abrir reservas. Los instantes se guardan en UTC, mientras los horarios son reglas locales. Un cambio de zona puede modificar las horas mostradas y la disponibilidad futura. En cambios de horario de verano, no se ofrecen horas locales inexistentes y una hora repetida usa la primera aparición. Prueba esas fechas si trabajas en esas horas.
Solución de problemas
| Síntoma | Primera comprobación |
|---|---|
| Falta Appointments | Complemento activado, base de datos preparada, permisos y sitio autorizado. |
| El formulario indica que no hay reservas en línea | Servicios activos, recurso asignado activo, sitio correcto y configuración completa. |
| No hay horas para un servicio activo | Recurso, reglas semanales, excepciones, duración dentro de una franja, reservas, márgenes, antelación y horizonte. |
| Un recurso parece libre pero no hay horas | El formulario puede usar otro recurso predeterminado asignado; no combina calendarios del personal. |
| No se puede reservar un hueco al mediodía | El servicio debe caber en una franja y no atravesar la pausa. |
| Las horas parecen desplazadas | Zona del sitio, cambio de horario y diferencia con el reloj local del visitante. |
| Un cierre afecta a otro sitio | En 0.16.1 usa excepciones por recurso y revisa Whole site en toda la instalación. |
| Aparece éxito pero no hay reserva | Sitio y filtros, después validación/antispam. Confirma el registro guardado sin depender solo del mensaje. |
| Una solicitud está Pending | Confirmación automática desactivada; revísala y confírmala explícitamente. |
| Cambió el estado pero no llegó otro correo | Los cambios de estado no reenvían mensajes de reserva. |
| Existe la reserva pero no llegó correo | Resultados separados de negocio/visitante, transporte, destinatario, dominio canónico y spam. |
| No se envían recordatorios | Antelación positiva, ventana futura debida, cron explícito, correo y resultado de recordatorio ya registrado. |
| El visitante no puede cancelar | Enlace privado correcto, cancelación activa, reserva no cerrada y comienzo futuro. |
| Falta un servicio para miembros | Cuenta activa verificada, sitio correcto, Memberships compatible activado y derecho vigente al paquete. |
| Un servicio eliminado sigue en el historial | Es normal si tiene citas; se desactiva para conservar registros pasados. |
Comprobación final antes de aceptar reservas
Verifica zona horaria, asignaciones, capacidad, horarios semanales y excepciones. Envía una solicitud normal, encuentra su registro, revisa el estado y comprueba que ya no se ofrece la hora ocupada. Prueba la entrada manual y cancelación, incluida la franja liberada.
Después prueba entrega real al negocio y visitante, adjunto de calendario y tarea de recordatorios con cuentas controladas. Con Memberships, comprueba los estados de miembro correspondientes. Revisa la página en un teléfono, publica cuando el flujo esté listo y repite las comprobaciones directas en el sitio HTTPS público.
Continúa con la referencia de Appointments, la guía de Memberships, Publicar una página, Menús de navegación o Roles y permisos.