🎬Видео скоро появится
Нажми, когда разберёшься с уроком. Галочка появится в меню слева.

Урок 18. Запись на время (booking)

Одна из самых полезных функций: бот сам показывает свободные окошки и записывает клиента, не отвлекая тебя. Разберём два способа: простой и для нескольких специалистов.

Цель урока

После урока ты понимаешь два способа записи и знаешь, какой выбрать: Google Календарь для простого случая (один специалист) или движок слотов для нескольких специалистов с разными правилами. И понимаешь, как движок считает свободное окошко, как пересечение графика, ограничений и занятости.

Простыми словами

Бот умеет смотреть свободное время и записывать клиента прямо в переписке. Есть два пути:

  1. Google Календарь, для простого случая (один мастер / один кабинет).
  2. Движок слотов, для нескольких специалистов (образовательные центры, студии, автошколы), где расписание сложнее.

Оба подключаются как функция из готового каталога.

Слайды урока

Урок 18
Запись на время (booking)
Бот сам показывает свободные окошки и записывает клиента 24/7, не отвлекая тебя.
1 / 6

Непонятные слова: на пальцах

  • Слот (окошко): свободный промежуток, на который можно записать клиента. Как свободное место в кинозале: показывает только то, что не занято.
  • Запись (booking): бронь времени за клиентом. Как забронировать столик: время закрепляется, другой уже не займёт.
  • Google Календарь: обычный онлайн-календарь, где бот видит занятое/свободное и ставит записи. Как ежедневник, в который бот сам вписывает клиентов.
  • Движок слотов: «калькулятор свободного времени» для нескольких специалистов. Он берёт график, правила и занятость и выдаёт готовый список окошек. Как расписание автобусов: учитывает всё и показывает, когда реально можно.
  • Пересечение (∩): «одновременно выполнено всё». Пример: окошко подходит, если специалист работает и услуга разрешена в это время и оно ещё не занято. Как найти время, удобное сразу всем.
  • Источник занятости, откуда движок узнаёт, что уже занято: Education CRM (занятые уроки центра) или «только график» (без CRM). На скрине выше это выпадающий список «Источник занятости».
  • Горизонт показа: на сколько дней вперёд бот предлагает записи (по умолчанию 7, максимум 14). Как «бронь доступна на пару недель вперёд».

Зачем это нужно

Запись это то, ради чего клиент часто и пишет. Без бота: клиент ждёт ответа менеджера, менеджер сверяется с журналом. С ботом: клиент получает свободное время за секунды и записывается сам, 24/7.

Способ 1: Google Календарь (просто)

Подключаешь Google Календарь (через сервисный аккаунт: без паролей). Бот умеет: проверить свободные слоты, создать / перенести / отменить запись. Подходит, когда «один мастер, один календарь».

Способ 2: Движок слотов (для нескольких специалистов)

Для образовательных центров/студий/автошкол. Бот считает свободные окошки как пересечение:

  • график в Google Таблице (кто когда работает) ∩
  • ограничения (услуга, минимальный возраст, часы работы, обеды, отпуска, даты «не работает», ограничения дней вроде «пробные только вт/чт/сб», маркеры в ячейках) ∩
  • занятость (занятые уроки, из Education CRM проекта, либо «только график» без CRM)

→ и отдаёт клиенту готовый список свободных слотов. В настройках шаблона задаёшь: таблицу-график, услуги (с branch_id/subject_id из CRM), источник занятости, горизонт показа (по умолчанию 7, максимум 14 дней).

💡 Если у специалиста в графике непонятное ограничение, движок его не покажет и оставит пометку менеджеру, чтобы не записать клиента на того, кого нельзя. А условие, которое выполняет человек («по договорённости», «после согласования с мастером»), специалиста не прячет: бот покажет его время и честно предупредит, что запись подтвердит менеджер, но бронировать сам не станет.

График можно вести двумя способами

Сервер сам понимает, как устроен ваш лист, по заголовкам колонок:

  • Неделя: семь колонок пн вт ср чт пт сб вс, одна и та же неделя повторяется. Удобно, когда график стабильный.
  • Календарь: по колонке на каждую дату (22.06.2026, 23.06.2026, …). Удобно, когда часы плавают, а отпуска и подмены видно прямо в ячейке дня.

В календарном режиме держи заполненными 2-3 недели вперёд: дата без колонки означает «расписание не заведено», и бот в неё не запишет. Если весь запрошенный период оказался за последней заполненной колонкой, функция так и скажет, а не отдаст пустой список, который читается как «все заняты».

Экран «Проверка графика»

Главный ответ на вопрос «почему бот не предлагает этого мастера». Открываешь функцию → «Проверить график» и видишь, что сервер понял из таблицы: кого он видит, что вычитал из каждого комментария, кто скрыт и по какой причине, до какой даты заполнено расписание. Раньше это было видно только тому, кто лезет в базу руками, и специалисты пропадали из выдачи неделями.

Туда же не надо ходить каждый день: когда график мешает записи (лист переименовали, комментарий не разобрался, колонки с датами кончились), владельцу приходит уведомление, не чаще раза в сутки.

💡 При настройке жми «Найти лист автоматически»: сервер сам выберет лист с графиком и определит, как названы колонки, тебе останется подтвердить.

Пример (образовательный центр «Профи»)

Клиент пишет «хочу на пробный по математике завтра после обеда». Бот считает свободные окна преподавателя математики на завтра после 12:00 (учитывая занятые уроки из Education CRM) → предлагает «14:00 или 16:30» → клиент выбирает → бот записывает.

Когда какой способ / когда не нужно

  • Один специалист, простое расписание → Google Календарь.
  • Несколько специалистов, услуги с разными правилами → движок слотов.
  • У тебя нет записи как таковой (магазин, доставка) → эта функция не нужна.

Частые ошибки

  • Не расшарили календарь/таблицу на служебный аккаунт → бот не видит расписание (Урок 27).
  • Кривой график в таблице → бот предлагает неверные слоты. Проверь формат по подсказкам шаблона.
  • Не подключили Education CRM, а источник занятости выбран «edu_crm» → бот не видит занятые уроки. Переключи на «только график» или подключи CRM.

Вопросы новичка

  • У меня один мастер, что выбрать? Google Календарь: проще всего, бот видит занятость и ставит записи.
  • Несколько мастеров и разные услуги? Движок слотов: он учитывает график каждого, правила услуг и занятость, и не предложит занятое время.
  • Бот предлагает время, когда мастер не работает. Скорее всего кривой график в Google Таблице или календарь не расшарен на служебный аккаунт (Урок 27).
  • Мастер работает, а бот его не предлагает. Открой «Проверить график»: там написано, что сервер понял про этого специалиста и почему скрыл. Чаще всего дело в формулировке комментария или в том, что имя в графике не совпадает с именем в CRM.
  • Клиент записался, я об этом узнаю? Да, если подключишь уведомления владельцу, тебе придёт сообщение о каждой записи.
  • У меня магазин без записи, это нужно? Нет, пропускай. Функция для тех, у кого есть приём по времени.

Проверь себя

  • Один специалист или несколько: какой способ записи выбираешь в каждом случае?
  • Из чего движок слотов собирает «свободное окошко» (три условия)?
  • На сколько дней вперёд бот показывает записи по умолчанию и какой максимум?

Что дальше

Дальше, Урок 19: уведомления владельцу (чтобы знать о каждой записи).

Подробнее (техническая документация)