# Widget de reservas en línea para el sitio web

El widget ayudará a los clientes a reservar tus servicios a través de Telegram y en tu sitio web.

<div data-with-frame="true"><figure><img src="/files/17207d0fd81cf5d0dc8ffb827fbd5f18933d426a" alt="" width="563"><figcaption></figcaption></figure></div>

El widget se puede integrar tanto en un sitio web creado con MaviBot como en una página de aterrizaje creada con otros constructores.

## Cómo crear un widget

{% hint style="info" %}
Primero, necesitas crear una sucursal y configurar los servicios asignándolos a los empleados. Explicamos cómo hacerlo en el artículo "Configuración del servicio de reservas."
{% endhint %}

Para comenzar, ve a la sección "Widgets", que puedes encontrar en el menú superior.

<div data-with-frame="true"><figure><img src="/files/97f7ab2d81e31481796e4409a08c24db123a64ab" alt="" width="563"><figcaption></figcaption></figure></div>

Si aún no se han creado widgets en el proyecto, verás cuatro botones en el centro de la pantalla en la sección "Widgets".

<div data-with-frame="true"><figure><img src="/files/7fc2d8848afae66b5c0328b30428c425999f43b5" alt=""><figcaption></figcaption></figure></div>

Haz clic en el botón "Widget de reserva en línea" y accederás a la configuración del widget.

<div data-with-frame="true"><figure><img src="/files/539b82a9f6db86414d31fdbcb8971c91bf806699" alt=""><figcaption></figcaption></figure></div>

### Información básica

<figure><img src="/files/f760bd1e0553245b85c24c49913318bfe51d1021" alt=""><figcaption></figcaption></figure>

En esta pestaña, debes introducir el nombre del widget (que se mostrará en el sitio web) y el dominio del sitio donde quieres que aparezca el widget de reserva en línea (si el sitio no está creado con MaviBot). Si el sitio está creado con el constructor de MaviBot, no necesitas especificar el dominio.&#x20;A continuación, selecciona la sucursal cuyos servicios y personal se mostrarán en el widget:

<figure><img src="/files/10ab2e51d9f04eee21259a2d01b1ef82b786693d" alt=""><figcaption></figcaption></figure>

Ahora puedes pasar a personalizar el widget.

<figure><img src="/files/561872b2d71b3170ccf895f5c33122fb8a0040fd" alt=""><figcaption></figcaption></figure>

### Configuración de apariencia

El logotipo y el nombre del widget se mostrarán en su encabezado:

<figure><img src="/files/c7272bd18c92bcb15deb2dfdb86a03eb8540cb40" alt="" width="563"><figcaption></figcaption></figure>

A continuación, puedes introducir un título y un subtítulo en el widget, que aparecerán sobre los botones de selección de servicio o especialista:

<figure><img src="/files/cbe69fc25320a38466268f6a67969aedc0fe63b1" alt="" width="563"><figcaption></figcaption></figure>

**Esquema de color del widget**

Puedes elegir el esquema de color del widget según tu preferencia:

1. Fondo del widget:

<figure><img src="/files/f813ee85c04b3c620db9229ced4a1e1bb450b25e" alt="" width="349"><figcaption></figcaption></figure>

2. El tema principal de marca del widget mostrará botones, precios e iconos en el esquema de color seleccionado:

<figure><img src="/files/23d755d3fa312b0ec840ade0d6c0d5a3a7e53f2e" alt="" width="349"><figcaption></figcaption></figure>

3. Color del texto: cambia el color del texto del botón o del texto principal según la opción seleccionada.

<figure><img src="/files/5d1bc8b77183f16b182f1d23c9455343797fc4af" alt="" width="311"><figcaption></figcaption></figure>

4. Texto del botón:

<figure><img src="/files/41e45f22f12a3229231ca6fe42ba91395e742177" alt="" width="375"><figcaption></figcaption></figure>

De forma predeterminada, los botones muestran el texto **"Seleccionar servicios"** y **"Seleccionar especialista**", pero puedes personalizar el texto como desees:

<figure><img src="/files/b4c7a6d9fb0013d39880b002dc9b34f7b66e1cb4" alt="" width="375"><figcaption></figcaption></figure>

Ahora guarda la configuración:

<figure><img src="/files/9d0cd820933f23439889250a114f1d38ef290361" alt=""><figcaption></figcaption></figure>

### Cómo incrustar el widget en tu sitio web

Ve al modo de edición del sitio web:

<figure><img src="/files/df4873dc020758f18af39f68abd6d113ecc224a2" alt=""><figcaption></figcaption></figure>

A continuación, busca la sección **"Reserva en línea"** en la lista y añádela:

<figure><img src="/files/eaa73b38dc661394935f781ce8a8da8722f100a1" alt="" width="351"><figcaption></figcaption></figure>

En la configuración del contenido, elige qué widget mostrar en el sitio (si tienes varios widgets de reserva en línea):

<figure><img src="/files/d8297462f352bf2e9c2a09673753266946ce74f0" alt=""><figcaption></figcaption></figure>

Si es necesario, puedes editar el fondo y la configuración de visualización de la sección del widget. Para ello, pasa el cursor sobre la sección y haz clic en el botón **"Configuración"** :

<figure><img src="/files/758c23683bd63fa1076db8e8a6b9d2ddaabf6293" alt="" width="563"><figcaption></figcaption></figure>

Establece el fondo deseado y la configuración de visualización:

<figure><img src="/files/0af5d995123232eadc9e566481223c5110150869" alt=""><figcaption></figcaption></figure>

Guarda la configuración del sitio.\
Ahora tus clientes pueden reservar servicios las 24 horas del día simplemente visitando tu sitio web:

<figure><img src="/files/70ac28219836e624b74fd195aa5aa6f9f3547ff5" alt=""><figcaption></figcaption></figure>

**Cómo incrustar el widget en otro sitio web**

Después de guardar el widget, actualiza la página para ver el siguiente bloque con el script del widget y un campo para introducir el nombre de la sección:

<figure><img src="/files/e2511142829cb9be6f58283796c4b13715c8e89e" alt="" width="375"><figcaption></figcaption></figure>

Si necesitas incrustar el código en tu sitio web, copia el script y pégalo en tu página de aterrizaje. <br>

Si estás usando el widget en tus propios sitios que NO están creados con MaviBot, asegúrate de introducir la clase del elemento en el campo proporcionado:

<figure><img src="/files/a0817bee65ff6d26527e9703bd5b8224209aa092" alt=""><figcaption></figcaption></figure>

## Widget de Telegram

Ahora que sabes cómo crear un widget e incrustarlo en tu sitio web, puedes crear un **botón Web App en Telegram** que abre tu sitio como una aplicación dentro del mensajero.

{% hint style="info" %}
En lugar de un sitio web completo, puedes crear una página de aterrizaje con una sola sección que incluya el widget de reserva en línea y compartirla con tus clientes como un botón de Telegram usando el botón Web App.
{% endhint %}

Necesitas usar la función `quiz_link(mini_landing_page_id, display_my_domain)`pero solo el `mini_landing_page_id` parámetro es obligatorio.<br>

A continuación, crea un bloque donde, en la calculadora, asignas una variable (en este ejemplo, la variable se llama `booker_link`) que usa la función `quiz_link(mini_landing_page_id)`, con el ID de la página del sitio pasado como parámetro:

**Paso 1. Crear el bloque con la función**<br>

Crea un bloque en el constructor y, en la calculadora, define una variable con la función así: booker\_link = quiz\_link('YOUR\_SITE\_ID')

<figure><img src="/files/f6b06bc8884291d3d41f6a80059df9e556f99b01" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
¡Nota!

No olvides guardar la configuración del bloque.
{% endhint %}

**Paso 2. Encuentra el ID de la página del sitio requerida.** <br>

Para encontrar el ID de la página del sitio, ve a la sección correspondiente:

<figure><img src="/files/7384b326dab119f6f31de3c2efab806415188cb0" alt=""><figcaption></figcaption></figure>

Haz clic en la tarjeta del sitio deseado para ir a la configuración de la página de ese sitio:

<figure><img src="/files/7fb2d0e3f0982c408ad0229e7071703ca5b7c1c4" alt=""><figcaption></figcaption></figure>

Luego, pasa el cursor sobre la fila con la página en la que has creado la **"Reserva en línea"** sección:

<figure><img src="/files/68168bc485cfcf1b29d7d653e97e454f49d5c707" alt=""><figcaption></figcaption></figure>

Copia el ID y pégalo en el bloque dentro del constructor del embudo:

<figure><img src="/files/23e8d1de90db76fcec73bff2c1de69440de0957d" alt=""><figcaption></figcaption></figure>

**Paso 3. Añade un botón al bloque en el constructor.** <br>

A continuación, despliega la pestaña de configuración "Botones" (haz clic en "Botones") y haz clic en **"+ Añadir botón"**:

<figure><img src="/files/53881ce9d1973f59731cd9bf6db9573a6dd11f8f" alt=""><figcaption></figcaption></figure>

Después de hacer clic, se abrirá la configuración del botón para añadir un nuevo botón:

<figure><img src="/files/7d728b21893d8b77b64b6ec365cce6f99661b7e4" alt=""><figcaption></figcaption></figure>

Aquí necesitas:

* Establecer el nombre del botón: puede ser cualquier nombre que quieras.
* Establecer la función del botón: debe ser un botón Web App de Telegram.

<figure><img src="/files/3e88e017c610b18e63908663ad85a6e1f15bbe9d" alt=""><figcaption></figcaption></figure>

* Especificar el enlace para abrir el sitio cuando se haga clic en el botón:

El enlace ya está almacenado en una variable usando la calculadora y la `quiz_link` función, así que en el campo URL, introduce la variable asignada `booker_link` usando interpolación, es decir, incluye la variable dentro de `#{}`que contiene el enlace a tu sitio y widget.

<figure><img src="/files/304f53251b752f9e03963fbfdbe18a214b660916" alt=""><figcaption></figcaption></figure>

A continuación, haz clic en el botón **“Añadir”** para guardar la configuración del botón y añadirlo al bloque. Asegúrate de hacer clic en **“Guardar”** después para garantizar que la configuración del bloque no se pierda.

<figure><img src="/files/2c0ce006b35b7c9422d12767383dec97ef457cab" alt="" width="563"><figcaption></figcaption></figure>

El bloque completamente configurado se ve así:

<figure><img src="/files/d29ae5019d52e4c85cd7198619cd35461fdeff2d" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**¡Consejo útil!**\
No es necesario crear un bloque condicional (como una comprobación de condición principal o el inicio de una conversación) específicamente para el botón Web App. Puedes crear el botón y añadir la `quiz_link` función en cualquier bloque de tu embudo, ya sea un bloque de estado, un bloque sin estado, etc. (consulta el ejemplo "Bloque de estado de diálogo con botón Web App de Telegram").
{% endhint %}

<figure><img src="/files/b93ea29cac0611f0a4e881125fe486a0de143336" alt=""><figcaption><p>Ejemplo: "Bloque de estado de diálogo" con un botón Web App de Telegram</p></figcaption></figure>

El botón Web App con el widget de reserva en línea estará entonces disponible en el bot:

<figure><img src="/files/d56fdbe030b9af8a8c7df7564c822fc9b45b928f" alt="" width="375"><figcaption></figcaption></figure>

## Callback de reserva

Después de que un cliente reserve una cita, se enviará una notificación callback sobre la reserva en el diálogo, con este aspecto:

<figure><img src="/files/ab12c3c1d2aa4aadf08b3fb05e66c39cc9cfae1a" alt="" width="464"><figcaption></figcaption></figure>

<mark style="color:naranja;">**new\_order\_in\_calendar**</mark> - la parte invariable del callback&#x20;

&#x20;<mark style="color:amarillo;">**\[489046159]**</mark> - order\_id  ID de la reserva

<mark style="color:rojo;">**Appointment\_date\_and\_time añadido**</mark>

<mark style="color:morado;">**por 30 minutos**</mark> - duración del servicio&#x20;

<mark style="color:rojo;">**Al objeto: Test 30**</mark> - a qué objeto específico se añadió la reserva

La apariencia del mensaje callback:

*new\_order\_in\_calendar: \[489046159] Se ha añadido una cita desde 2025-06-01 14:00 hasta 2025-06-01 14:30 por 30 minutos. Objeto: Test 30*

Puedes configurar una reacción al callback especificando su valor en la condición del bloque:

<figure><img src="/files/9e4456194a8824270361eaea0391c931f5be06b1" alt=""><figcaption></figcaption></figure>

En el bloque, puedes especificar el mensaje de respuesta deseado para enviarlo al cliente.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/es/booking/settings/widget.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
