Відкривається в новій вкладці
UK
Увійти

Онлайн-запис: Google Calendar і Zoom у воронці

Бронювання в Sviteya — це блок воронки «Бронювання», а не окремий сервіс запису. Людина обирає час прямо в боті, бот звіряється з вашим Google Calendar і показує лише реально вільні слоти. На підтверджений запис створюється подія в календарі та, якщо підключено Zoom, зустріч у Zoom.

Що потрібно для налаштування

  1. Google-акаунт із календарем, за яким ведеться ваша зайнятість
  2. Акаунт Zoom — якщо потрібні онлайн-зустрічі
  3. Воронка, у яку буде вбудований блок бронювання

Google Meet не підтримується: відео-зустрічі створюються в Zoom.

Крок 1. Підключення Google Calendar

  1. Відкрийте розділ «Інтеграції», група «Бронювання»
  2. Натисніть «Підключити Google Calendar» і дайте дозвіл на перегляд зайнятості та створення подій
  3. Щоб підключити ще один календар (наприклад, іншого спеціаліста), натисніть «Додати Google-акаунт» і увійдіть іншим Google-акаунтом

Бот перевіряє зайнятість запитом «вільно/зайнято»: він бачить, що час зайнятий, але не бачить змісту ваших подій. Використовується основний календар Google-акаунта: події з додаткових календарів не враховуються. Якщо підключено кілька Google-акаунтів, у кожному блоці бронювання обирається, чий календар він використовує.

Крок 2. Підключення Zoom

  1. У розділі «Інтеграції» знайдіть налаштування Zoom
  2. У Zoom створіть свій застосунок: marketplace.zoom.us → Develop → Build App → Server-to-Server OAuth
  3. Вставте три значення: Zoom Account ID, Zoom Client ID і Zoom Client Secret

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

Якщо зустрічі офлайн — Zoom можна не підключати: статус показує «Zoom не налаштований (зустрічі будуть без відео-лінка)», а в календарі створиться звичайна подія.

Крок 3. Налаштування блоку «Бронювання»

Додайте блок у воронку і задайте параметри. Усі вони належать цьому конкретному блоку, тому різні послуги можуть мати різні правила.

Параметр Що означає Приклад
Назва зустрічі як подія називається в календарі (до неї додається ім’я контакта) «Консультація»
Текст запрошення повідомлення зі списком слотів; за замовчуванням «Обери зручний час» необов’язково
тривалість, хв скільки триває зустріч (не менше 10; за замовчуванням 30) 30, 60
буфер, хв пауза між слотами (за замовчуванням 15) 10
робочі години від і до (за замовчуванням 10:00–18:00) 10:00–18:00
дні тижня у які дні відкритий запис (за замовчуванням Пн–Пт) Пн–Пт
шукати час з … по … день вікно днів від сьогодні, обидва краї включно: 0 — сьогодні, 1 — завтра (за замовчуванням з 0 по 7) з 0 по 14
показати слотів скільки слотів показати (за замовчуванням 8, у Telegram максимум 16, у WhatsApp до 9) 8
по два в ряд слоти по два кнопки в ряд (для каналів, де є ряди кнопок) —
часовий пояс пояс, у якому рахуються слоти, з коректним переходом на літній час; за замовчуванням — пояс бота Europe/Kyiv

Як рахуються слоти. Крок сітки — це тривалість плюс буфер: при тривалості 30 хвилин і буфері 15 слоти йдуть кожні 45 хвилин від початку робочого дня. Слоти, що перетинаються із зайнятим часом у календарі, не показуються. Слот має повністю вміститись у робочі години. Слоти не пропонуються ближче ніж за 2 години від поточного моменту (цей мінімальний запас у редакторі не налаштовується; його можна змінити, попросивши Claude через MCP).

Пізніші дні. Кнопки «ще» немає. Якщо людині не підійшли слоти, вона натискає «Жоден час не підходить», а ви ведете цей вихід у наступний блок бронювання з пізнішим вікном (наприклад, з 7 по 14 день).

Поля контакта. У блоці можна вказати:

  • zoom-лінк у поле — куди зберегти посилання на зустріч, щоб підставити його в повідомлення;
  • email гостя з поля — тоді Google надішле гостю запрошення на пошту;
  • час зустрічі у поле — куди зберегти обраний час: його можна підставити в текст і використати для нагадувань.

Підтвердження. Після вибору слота бот надсилає текст підтвердження ({{time}} підставляє обраний час) і кнопки «Так, бронюй» та «Обрати інший час» (підписи можна змінити).

Виходи блоку

Бронювання має кілька виходів, і до кожного підключається своя гілка воронки:

  • заброньовано — людина підтвердила слот: подія в календарі й Zoom вже створені;
  • час не підійшов — людина натиснула «Жоден час не підходить»;
  • немає слотів — вільного часу у вікні пошуку не знайшлося;
  • не відповіли за … — людина не обрала слот за заданий час (0 — чекати безстроково).

Якщо слот встигли зайняти між вибором і підтвердженням, бот надішле ваше повідомлення «якщо слот щойно зайняли» і покаже оновлені вільні слоти. Захист від подвійного бронювання працює для всіх клієнтів одночасно.

Крок 4. Що поставити навколо блоку

Бронювання рідко буває окремим кроком. Типова конструкція:

До запису:

  • коротке пояснення, як проходить зустріч і скільки триває
  • вибір послуги або майстра, якщо їх кілька, — окрема гілка на кожен календар

Після вибору слота (вихід «заброньовано»):

  • оплата — повна або передоплата: кнопка оплати в повідомленні (див. Підключення оплат: WayForPay і Stripe)
  • анкета — кілька питань, відповіді лягають у поля контакта
  • підтвердження з датою, часом і посиланням (змінні з полів «час зустрічі» і «zoom-лінк»)

Нагадування:

  • пауза «до дати» бере значення поля «час зустрічі» і «зсув від дати» з мінусом: −1 день — за добу до зустрічі, −1 година — за годину. Далі йде повідомлення з кнопками, наприклад «Буду» і «Перенести». Якщо момент нагадування вже минув, прохід іде виходом «дата вже минула» або, якщо його не підключено, одразу далі
  • якщо вказано «email гостя з поля», Google сам надсилає запрошення на пошту

Після зустрічі:

  • подяка й прохання про відгук
  • затримка на ваш цикл і пропозиція наступного візиту

Скасування і перенесення

Скасування — це дія у воронці «скасувати бронювання». Поставте її після кнопки в нагадуванні:

  • подія в Google Calendar видаляється
  • зустріч у Zoom видаляється
  • слот звільняється й одразу доступний іншим
  • поля «час зустрічі» і «zoom-лінк» очищуються
  • людині можна запропонувати обрати новий час: після дії поверніть гілку в блок бронювання

Увага: дія скасовує всі активні майбутні зустрічі цього контакта.

Кнопка «Перенести» в нагадуванні за добу — це та сама дія «скасувати бронювання» з поверненням у блок бронювання.

Ви також можете скасувати або перенести зустріч вручну в картці контакта (блок «Зустріч»): кнопки «Скасувати зустріч» і «Перенести на цей час», з можливістю повідомити контакта. Якщо новий час перетинається з іншою подією в календарі, сервіс попередить і запитає підтвердження.

Кілька майстрів або спеціалістів

Кожен майстер — свій Google-акаунт (календар) і свій блок бронювання зі своїми налаштуваннями.

Схема воронки:

  1. Повідомлення «Оберіть майстра» з кнопками
  2. Кожна кнопка веде у свою гілку
  3. У гілці — блок бронювання з календарем саме цього майстра (вибір Google-акаунта в блоці)
  4. Далі гілки сходяться в спільне підтвердження й нагадування

Так само робиться вибір послуги з різною тривалістю або вибір «онлайн / офлайн».

Часті питання

Бот показує зайнятий час.

Перевірте, що вибрано правильний Google-акаунт у блоці і що подія лежить в основному календарі цього акаунта, а не в додатковому календарі.

Слотів немає взагалі.

Найчастіші причини: вікно «шукати час з … по …» менше, ніж ви думаєте; сьогодні неробочий день за налаштуваннями; мінімальний запас у 2 години відрізає найближчі години; робочі години коротші за тривалість зустрічі.

Клієнти з іншої країни приходять не в той час.

Слоти рахуються у вказаному часовому поясі. Якщо аудиторія міжнародна, вкажіть у тексті пояс явно.

Потрібен Google Meet.

Не підтримується — відео-зустрічі створюються в Zoom.

Чи можна обмежити запис лише для своїх.

Так, умовою у воронці: блок бронювання показується лише тим, у кого є потрібний тег або хто оплатив.

Інтерфейс сервісу зараз оновлюється, тож деякі назви кнопок і екранів можуть відрізнятися від описаних.

Знайшли неточність? Напишіть у нашу групу в Telegram — виправимо.