# Reservas a través de una mini app

Los clientes reservan por su cuenta a través de una mini app: eligen un servicio, un especialista y una hora, dejan su nombre y teléfono, y la cita aparece en la [agenda](https://support.jetbot24.ru/es/booking/journal). La mini app se construye en el editor con elementos de reserva ya preparados.

Cómo crear una mini app, construir las pantallas y publicarla se explica en la sección [Mini apps](https://support.jetbot24.ru/es/mini-apps). Esta página solo trata lo relacionado con las reservas.

> [!IMPORTANT]
> Una mini app de reservas requiere una suscripción Pro. La agenda, el horario y las reservas manuales funcionan sin ella: consulta los detalles en la página [Qué está disponible sin Pro](https://support.jetbot24.ru/es/billing/without-pro).

## Qué preparar en la sucursal

El cliente solo ve lo que realmente se puede reservar. Antes de configurar la app, comprueba que:

- la sucursal tiene [servicios](https://support.jetbot24.ru/es/booking/catalog) con «Disponible para reservar» activado;
- los servicios tienen especialistas seleccionados, y esos especialistas tienen «Atiende clientes» activado;
- los especialistas tienen [horario](https://support.jetbot24.ru/es/booking/schedule);
- las [reglas de reserva](https://support.jetbot24.ru/es/booking/rules) están configuradas como necesitas.

Puedes comprobar el resultado con el botón «Horas libres» del horario.

## Elementos de reserva

En el editor de pantallas, los elementos están en el grupo «Citas».

| Elemento | Qué muestra al cliente |
|---|---|
| «Sucursales de reservas» | Una lista de sucursales entre las que el cliente elige la suya |
| «Servicios de reservas» | Los servicios de la sucursal, como lista o como tarjetas, con foto, precio y duración |
| «Especialistas de reservas» | Los especialistas que ofrecen el servicio elegido, o todos los especialistas de la sucursal, y la fila «Cualquier especialista» |
| «Horarios disponibles» | Las horas libres por día |
| «Confirmar reserva» | Un resumen de la cita, campos para nombre, teléfono, email y comentario, y el botón «Reservar» |
| «Mis citas» | Las citas del cliente: las próximas y, si se quiere, las pasadas y canceladas |
| «Tarjeta de la cita» | Los detalles de una cita con botones para cancelar, cambiar de hora, valorar y añadir al calendario |
| «Valoración de la visita» | Estrellas de 1 a 5 y un campo de comentario después de la visita |

![El elemento «Servicios de reservas» en el editor de la mini app](https://support.jetbot24.ru/_media/es/06-booking/_images/mini-app-services.webp?v=1792618388)

Las acciones las realizan los bloques del flujo de la categoría «Citas»:

| Bloque | Qué hace |
|---|---|
| «Reservar una cita» | Reserva al cliente el servicio, el especialista y la hora elegidos |
| «Cancelar cita» | Cancela la cita del cliente si no ha pasado el plazo de cancelación |
| «Cambiar cita» | Pasa la cita a otra hora libre |
| «Valorar la visita» | Guarda la valoración y el comentario del cliente sobre una visita pasada |

## Cómo se arma la reserva

El recorrido habitual del cliente es una cadena de pantallas:

1. **Servicio.** Una pantalla con el elemento «Servicios de reservas». El servicio elegido se guarda en una variable.
2. **Especialista.** Una pantalla con el elemento «Especialistas de reservas». Muestra a quienes ofrecen el servicio elegido. La fila «Cualquier especialista» asigna la cita a un especialista libre que tenga menos citas ese día.
3. **Hora.** Una pantalla con el elemento «Horarios disponibles». Cuántos días mostrar se fija en el elemento, pero no más allá de lo que permiten las reglas de la sucursal.
4. **Confirmación.** Una pantalla con el elemento «Confirmar reserva». Conecta el botón «Reservar» al bloque «Reservar una cita».
5. **Resultado.** Desde el bloque «Reservar una cita», conecta la salida de éxito a una pantalla de confirmación, y la salida de fallo a una pantalla de fallo con el motivo. El bloque guarda el motivo en la variable del ajuste «Motivo del rechazo en una variable».

![El recorrido de reserva en el esquema de la mini app: servicio, especialista, hora, confirmación, el bloque «Reservar una cita»](https://support.jetbot24.ru/_media/es/06-booking/_images/mini-app-scheme.webp?v=1792618388)

El bloque «Reservar una cita» vuelve a comprobar la hora: si alguien la ocupó mientras el cliente rellenaba el formulario, la cita no se crea.

Los elementos se pasan la elección unos a otros mediante variables. Las variables adecuadas ya están rellenadas en la configuración de cada elemento: solo tienes que cambiarlas si construyes tu propio flujo.

En una reserva, el cliente elige un servicio. Varios servicios por visita los reserva un administrador en la agenda.

### Primero el especialista, luego el servicio

Si los clientes suelen acudir a su propio especialista, intercambia las dos primeras pantallas:

1. **Especialista.** Una pantalla con el elemento «Especialistas de reservas». Vacía su campo «Servicio»: el elemento muestra todos los especialistas de la sucursal que atienden clientes. Conviene desactivar la fila «Cualquier especialista»: con este orden no hace falta.
2. **Servicio.** Una pantalla con el elemento «Servicios de reservas». Pon `{{ staffId }}` en su campo «Especialista»: solo quedan los servicios del especialista elegido, con su precio y duración.
3. **Hora, confirmación y resultado**: como en el recorrido habitual. Los elementos «Horarios disponibles» y «Confirmar reserva» no necesitan cambios.

## Sucursal de los elementos

Cada elemento de reserva necesita saber con qué sucursal trabaja. Hay dos formas.

**Una sucursal.** Elígela en el campo «Sucursal» de la configuración de los elementos y del bloque «Reservar una cita». Para no fijar la sucursal en cada elemento, abre la ventana «Tienda y sucursal» en el editor, elige la «Sucursal de reservas» y haz clic en «Rellenar»: se fijará a la vez en todas las pantallas de la versión.

![La ventana «Tienda y sucursal»: elegir la sucursal de reservas](https://support.jetbot24.ru/_media/es/06-booking/_images/mini-app-bind.webp?v=1792618388)

**El cliente elige la sucursal.** Si hay varias sucursales:

1. Añade una pantalla con el elemento «Sucursales de reservas» al inicio del flujo.
2. En los demás elementos de reserva y en el bloque «Reservar una cita», elige «El cliente elige la sucursal» en el campo «Sucursal».

Configuración del elemento «Sucursales de reservas»:

- «Sucursales que mostrar»: vacío significa todas las sucursales del proyecto;
- «Mostrar icono de la sucursal», «Mostrar dirección», «Mostrar teléfono».

La lista solo muestra las sucursales que tienen al menos un servicio disponible con un especialista que atiende clientes.

Los elementos «Mis citas», «Tarjeta de la cita» y «Valoración de la visita» no necesitan sucursal: sin ella, trabajan con las citas del cliente en todas las sucursales del proyecto.

## Qué introduce el cliente al reservar

Los campos del elemento «Confirmar reserva» los determinan las [reglas de la sucursal](https://support.jetbot24.ru/es/booking/rules):

- nombre: siempre obligatorio;
- teléfono: obligatorio si «Teléfono obligatorio» está activado;
- email: obligatorio si «Email obligatorio» está activado;
- comentario: se muestra si «El cliente puede dejar un comentario» está activado.

![Confirmar reserva en la mini app: nombre, teléfono, email y comentario](https://support.jetbot24.ru/_media/es/06-booking/_images/client-checkout.webp?v=1792562451)

## Confirmación de la cita

Si en las reglas está activado «Confirmar citas automáticamente», la cita se confirma al momento. Si está desactivado, el cliente ve el estado «Pendiente de confirmación», y un administrador confirma la cita en la agenda con el botón «Confirmar».

Estados que ve el cliente en la app: «Pendiente de confirmación», «Confirmada», «Completada», «No acudiste», «Cancelada por ti», «Cancelada».

![Mis citas: estados de las citas del cliente](https://support.jetbot24.ru/_media/es/06-booking/_images/client-appointments.webp?v=1792562451)

Los mensajes que recibe el cliente sobre la cita se describen en la página [Notificaciones y reseñas](https://support.jetbot24.ru/es/booking/notifications).

## Cancelación y cambio de hora por parte del cliente

En el elemento «Tarjeta de la cita» puedes activar estos botones:

- **«Botón de cancelar»**: antes de cancelar, la app vuelve a preguntar al cliente. Conecta el botón al bloque «Cancelar cita».
- **«Botón de cambiar»**: conéctalo a una pantalla con el elemento «Horarios disponibles» que tenga rellenado el campo «Cambio de cita», y desde ahí al bloque «Cambiar cita». Al cambiar la hora, los servicios se mantienen.

![Tarjeta de la cita: la app vuelve a preguntar antes de cancelar](https://support.jetbot24.ru/_media/es/06-booking/_images/client-cancel.webp?v=1792562451)

El cliente puede cancelar o cambiar la cita hasta el plazo de la regla «Plazo de cancelación, horas». Después, ve un mensaje de que el plazo ha pasado y el teléfono de la sucursal, si está fijado.

![Cambio de hora: elegir una hora nueva](https://support.jetbot24.ru/_media/es/06-booking/_images/client-reschedule.webp?v=1792562451)

## Añadir al calendario

El elemento «Tarjeta de la cita» tiene el ajuste «Botón «Añadir al calendario»». El botón se muestra en una cita próxima: iPhone añade el evento desde un archivo de calendario, y Android abre Google Calendar. Un evento añadido desde el archivo tiene un recordatorio una hora antes de la visita.

![Tarjeta de una cita próxima con el botón «Añadir al calendario»](https://support.jetbot24.ru/_media/es/06-booking/_images/client-calendar.webp?v=1792562451)

## Valoración de la visita

El cliente puede valorar una visita de dos formas:

- con una estrella en el mensaje que le pide valorar la visita, que llega después de la cita;
- en la app, con el botón «Valorar la visita» de la tarjeta de la cita, que lleva a una pantalla con el elemento «Valoración de la visita».

Una valoración del elemento «Valoración de la visita» se guarda al momento; no hace falta un bloque aparte. El cliente puede cambiarla en la app durante una semana. Quienes dieron 4 o 5 verán en la app un enlace a las reseñas de la sucursal, si está fijado en la configuración de las notificaciones.

![Valoración de la visita: estrellas y un comentario](https://support.jetbot24.ru/_media/es/06-booking/_images/client-review.webp?v=1792562451)

## Abrir la cita desde un mensaje

Debajo de los mensajes sobre la cita en la app de mensajería hay un botón «Abrir cita». Abre la mini app desde la que reservó el cliente y le pasa la cita: el parámetro de inicio en la variable `startParam` empieza por `appointment_`, y la cita en sí va a la variable `appointmentId`.

Para llevar al cliente directamente a la tarjeta, pon una condición sobre la variable `startParam` al inicio del flujo y llévala a una pantalla con el elemento «Tarjeta de la cita». En un inicio normal, la variable `startParam` está vacía.

![Recordatorio de cita con el botón «Abrir cita»](https://support.jetbot24.ru/_media/es/06-booking/_images/client-message.webp?v=1792562451)

## Sección para especialistas

En la misma app puedes construir pantallas para los especialistas: un especialista inicia sesión con un código y ve sus citas y su horario. Los elementos para esto están en el grupo «Para especialistas» y se describen en la página [Acceso de los especialistas](https://support.jetbot24.ru/es/booking/masters).

![Las citas del día de un especialista en la mini app](https://support.jetbot24.ru/_media/es/06-booking/_images/client-master.webp?v=1792562451)

## Si algo no funciona

- **«Las reservas no están configuradas: no se ha seleccionado ninguna sucursal.»** El elemento o el bloque no tiene sucursal. Elígela en el campo «Sucursal» o con la ventana «Tienda y sucursal».
- **«Esta hora ya no está disponible: elige otra.»** La hora se ha ocupado o ya no cumple las reglas de la sucursal. El cliente tiene que elegir otra hora.
- **«Ya tienes 5 citas próximas. Cancela una de ellas para reservar de nuevo.»** Una persona puede tener como máximo 5 citas próximas en todas las sucursales del proyecto.
- **«Demasiadas reservas seguidas. Inténtalo más tarde.»** Saltó la protección contra reservas masivas desde una misma dirección. No molesta a un cliente normal.
- **«Una cita se puede cancelar o cambiar como máximo … h antes de la visita.»** Ha pasado el plazo de cancelación de las reglas de reserva. Un administrador puede cancelar la cita en la agenda.
- **El elemento «Sucursales de reservas» no muestra una sucursal.** La sucursal no tiene ningún servicio disponible con un especialista que atienda clientes, o la sucursal no está marcada en el ajuste «Sucursales que mostrar».
- **«Ahora mismo nadie presta este servicio».** El servicio no tiene especialistas seleccionados, o tienen «Atiende clientes» desactivado.
- **«No hay horas libres».** Para conocer los motivos, consulta la página [Reglas de reserva y horas libres](https://support.jetbot24.ru/es/booking/rules).
