# AI-чатбот для онлайн-бронювання

Сервіси Mavibot — це один із розділів, пов’язаних із CRM-системою, який дає змогу автоматизувати заповнення графіків співробітників за допомогою онлайн-бронювання через бота.

<div data-with-frame="true"><figure><img src="/files/0bcf16b50df349bf7d2fdafc80a9e3603d2aed97" alt="" width="375"><figcaption></figcaption></figure></div>

Щоб працювати з онлайн-бронюванням і чат-ботом зі штучним інтелектом, нам потрібно:

1. Налаштована філія з категоріями та самими послугами, а також заповнений графік роботи персоналу.

{% hint style="warning" %}
Увага! \
Не забудьте призначити співробітникам посаду в налаштуваннях послуги, інакше функція читання послуг не працюватиме!
{% endhint %}

2. У конструкторі воронки є два блоки;
3. AI-асистент.&#x20;

## Конструктор сценаріїв

Крок 1. Перейдіть до конструктора воронки та створіть блок "Старт":

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

Блок потрібно створити до налаштувань асистента, оскільки ми використаємо його для додавання змінної з інформацією про послуги та час співробітників до налаштувань проєкту.

Також інформація зі змінної буде доступна всім вашим клієнтам.

Для цього перед оголошеною змінною напишіть project, потім назву змінної service\_info, а потім присвойте їй значення функції для читання доступних послуг у гілці get\_info\_for\_booking.

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

У підсумку отримуємо: project.service\_info = get\_info\_for\_booking().

Щоб зрозуміти, що блок запущено, додайте будь-яке системне повідомлення, а також щоб відобразити значення, що зберігаються у змінній, виведіть її за допомогою конструкції #{}:

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

Далі перейдіть у вікно тестування бота та запустіть блок для кешування змінної в налаштуваннях проєкту:

<div data-with-frame="true"><figure><img src="/files/fbfd8fc7529b1dfd82f63f724305dae2e87efeb1" alt="" width="375"><figcaption></figcaption></figure></div>

Якщо ви все зробили правильно, отримаєте відповідь від бота у вигляді повідомлення, яке ви вказали в цьому блоці (у нашому прикладі — "Змінну оновлено") та значення, що міститься у змінній.

{% hint style="success" %}
Зверніть увагу!

Після налаштування AI-чатбота та онлайн-бронювання не видаляйте блок "Старт"

Він знадобиться вам, якщо ви оновите перелік послуг або додасте нових співробітників.

Щоб оновити змінну service\_info у проєкті, просто запустіть цей блок у вікні тестування, після чого оновлені дані будуть включені до значення змінної.
{% endhint %}

Крок 2 Створіть другий блок — “Chat”, де потрібно прописати:

1. Функція для створення бронювання

&#x20;Функція create\_booking\_by\_name (service\_name, date, date\_time, company\_id) створює бронювання на основі даних, переданих системі AI-асистентом.

Для генерації бронювання функція приймає три обов’язкові параметри:

<table><thead><tr><th width="297">параметри</th><th>description</th></tr></thead><tbody><tr><td><mark style="color:$danger;"><strong>!</strong></mark> service_name</td><td>обов’язковий параметр, назва послуги</td></tr><tr><td><mark style="color:$danger;"><strong>!</strong></mark> date</td><td>дата у форматі dd.mm.yyyy</td></tr><tr><td><mark style="color:$danger;"><strong>!</strong></mark> date_time</td><td>час послуги у форматі hh:mm</td></tr><tr><td>company_id</td><td>ID філії, необов’язково<br>Якщо його вказано, буде створено запис на послугу з указаною назвою, що належить саме цій філії.<br>Цей параметр може знадобитися, якщо в кількох філіях є послуги з однаковою назвою.</td></tr></tbody></table>

2. project.service\_info = get\_info\_for\_booking() — це потрібно для того, щоб налаштувати та зробити бронювання в CRM-системі; ці безкоштовні послуги були надані користувачам завдяки наявності додаткової інформації про послуги.

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

У полі блоку повідомлення запишіть потрібну відповідь бота після того, як клієнт обере послугу та час.

## Як працювати як AI-асистент

Далі перейдіть до AI-асистента, де потрібно налаштувати параметри для онлайн-бронювання.

Оберемо роль асистента — це має бути онлайн-бронювання:

<div data-with-frame="true"><figure><img src="/files/9e70cd63b693bc4c624ac669c7862dc7c969520e" alt="" width="330"><figcaption></figcaption></figure></div>

Підготовлені налаштування можна обрати на власний розсуд:

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

Від чого залежить вибір наших налаштувань?:

1. Зменшення фантазії — це опція, необхідна для того, щоб бот був менш креативним і радив клієнту лише на основі доступних даних.
2. Покрокове введення даних — вам потрібно буде покроково вводити дані для формування заявки та змінних.
3. Не навчати на повідомленнях — щоб обмежити вплив третіх сторін на бота та запобігти його псуванню зловмисниками.
4. Кнопки — щоб клієнт самостійно не вводив дату, час і послугу в процесі оформлення заявки в боті.

Далі перейдіть до налаштувань бота, де ми опишемо його основні завдання:

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

#### **Важлива примітка щодо налаштування**

Цю роль розробники MaviBot попередньо налаштували з основною функціональністю. У налаштуваннях вам потрібно лише вказати **додаткові ключові команди** які виходять за межі передбачуваної бази знань бота.

**Рекомендація:**

Немає потреби пояснювати боту його основну мету — він уже повністю здатний консультувати клієнтів щодо ваших послуг. Натомість зосередьтеся на унікальних сценаріях роботи, специфічних деталях продукту або виняткових випадках.

<div data-with-frame="true"><figure><img src="/files/84ea5aa727ecd11c747e7545666fc66bded32a96" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="success" %}

## **Зверніть увагу**

**Вибір послуг за кнопками**

З попередньо налаштованими **"Кнопка"** налаштуваннями AI-асистент показує доступні послуги у вигляді інтерактивних кнопок.

**Ключова перевага:** клієнтам більше не потрібно вручну вводити назви послуг — вони можуть просто натиснути відповідну кнопку для миттєвого вибору.
{% endhint %}

Після того як клієнт натисне на кнопку, ШІ проконсультує його щодо вартості та самої послуги:

<div data-with-frame="true"><figure><img src="/files/e5a81a2a39ffa113c760a2287984235f10ecf91f" alt="" width="375"><figcaption></figcaption></figure></div>

b) Далі бот самостійно покаже вільні дні та час для послуги, обраної клієнтом, оскільки це також налаштовано в параметрах бота.

<div data-with-frame="true"><figure><img src="/files/6a4c27150ae2c861953dc316d5315bab77355413" alt="" width="375"><figcaption></figcaption></figure></div>

2. Зверніть увагу на таку команду в налаштуваннях бота:

**Писати без змін start\_block\_from\_ai N**

Ця команда гарантує, що AI-асистент відповідатиме без зміни початкової логіки, визначеної в `start_block_from_ai` функцію.

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

"Потім виконайте команду “start\_block\_from\_ai <mark style="color:green;">**11916**</mark>" — замість чисел, позначених зеленим, впишіть ID блоку "Chat", який було створено раніше в конструкторі воронки. Він містить необхідну функцію для створення бронювання в системі Booking:

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

Скопіюйте ID блоку та вкажіть його в команді 'Потім виконайте команду  "start\_block\_from\_ai N"', замінивши N на ID.

### Інші налаштування асистента

**Щоб використовувати кешовану змінну:** Зверніться до змінної, кешованої в **"Start"** блоці, у налаштуваннях знань бота.

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

У знаннях бота змінну потрібно записувати як змінну за допомогою конструкції #{}

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

У полі "Формат переданих даних" введіть значення та ключ:

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

Ці змінні будуть передані в систему після виклику блоку, і за допомогою нашої функції create\_booking\_by\_name(service\_name, date, date\_time) буде створено бронювання.

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

У тому ж **"Chat"** блоці ми повторно реєструємо `service_info` змінну. Це гарантує, що після завершення клієнтом бронювання змінна, заповнена її функцією, автоматично оновиться актуальними вільними слотами часу.

Тепер протестуймо асистента, щоб переконатися, що процес оновлення працює правильно.

<div data-with-frame="true"><figure><img src="/files/4443ba6ce8be984b33c74f9220865bb3c104d01b" alt="" width="314"><figcaption></figcaption></figure></div>

Асистент спрацював коректно.

У прикладі ви побачили, що в останньому повідомленні, надісланому клієнту, відображається результат функції: після налагодження роботи AI-асистента з функцією онлайн-бронювання ви можете видалити змінну `#{result}` з повідомлення в **Чат** .

<div data-with-frame="true"><figure><img src="/files/2e140e9544ef57ce6abfbff253d67be5c800c875" alt="" width="375"><figcaption></figcaption></figure></div>

Після тестування та налагодження AI-асистента з онлайн-бронюванням ви можете видалити `#{result}` конструкцію з повідомлення в блоці Chat конструктора чатбота.

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

Тепер подивімося на календар у розділі "Booking":

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

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

У календарі автоматично створюється відповідний запис з урахуванням тривалості, необхідної для заброньованої послуги.

{% hint style="success" %}

#### **Підсумок**

З таким підходом ви зможете ефективно **створювати окремі гілки послуг** та **повністю автоматизувати реєстрацію клієнтів** за допомогою вашого AI-бота.
{% endhint %}


---

# 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/uk/chatbot/ai/online-booking.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.
