Telegram / онлайн-запись / автоматизация

Как работает Telegram-бот для онлайн-записи клиентов

Как устроен Telegram-бот онлайн-записи: услуги, свободные слоты, сотрудники, перенос, напоминания, предоплата, календарь и стоимость.

Обновлено: 29.07.2026Автор: Ринат Садыков

Короткий ответ

Telegram-бот для записи показывает услуги и свободное время, временно резервирует выбранный слот, получает контакт, при необходимости принимает предоплату и подтверждает визит. После записи он отправляет напоминания и позволяет перенести или отменить визит без участия администратора. Критически важная часть находится на сервере: именно он должен атомарно резервировать время и исключать двойную запись.

Telegram-бот для записи показывает услуги и свободное время, временно резервирует выбранный слот, получает контакт, при необходимости принимает предоплату и подтверждает визит. После записи он отправляет напоминания и позволяет перенести или отменить визит без участия администратора. Критически важная часть находится на сервере: именно он должен атомарно резервировать время и исключать двойную запись.

Путь клиента от ссылки до подтверждения

Оптимальный сценарий:

  1. Клиент открывает бота с сайта, карты, рекламы или QR-кода.
  2. Выбирает услугу.
  3. Выбирает филиал и специалиста либо вариант «любой».
  4. Видит только реально свободные даты и время.
  5. Оставляет имя и телефон.
  6. Вносит предоплату, если она обязательна.
  7. Получает подтверждение, адрес и кнопку управления записью.
  8. До визита получает одно или два напоминания.

На каждом экране должна быть кнопка Назад. После выбора времени бот показывает итог: услуга, специалист, дата, длительность, цена, адрес и правила отмены.

Как хранить услуги, сотрудников и расписание

Для каждой услуги нужны:

  • название для клиента;
  • длительность;
  • цена или правило расчёта;
  • буфер до и после;
  • допустимые сотрудники;
  • филиалы;
  • необходимость предоплаты;
  • минимальное время до записи.

Сотруднику задаются рабочие интервалы, перерывы, отпуска и исключения. Расписание нельзя хранить только в тексте кнопок: свободные слоты вычисляются из актуальных данных при каждом запросе.

Пример: услуга длится 60 минут, после неё нужен буфер 15 минут. Если мастер занят в 14:00–15:00, следующий слот начинается не раньше 15:15.

Как исключить двойную запись

Проблема возникает, когда два клиента одновременно выбирают один слот. Надёжная схема:

  1. При выборе времени сервер создаёт временный резерв на 5–10 минут.
  2. Перед подтверждением повторно проверяет доступность.
  3. Запись создаётся в одной транзакции с блокировкой слота.
  4. Неоплаченный резерв автоматически освобождается.
  5. Повторный webhook оплаты не создаёт вторую запись.

Календарь в интерфейсе может обновляться с задержкой, поэтому последняя серверная проверка обязательна даже при небольшом потоке.

Выбор специалиста и филиала

Дайте три варианта:

  • выбрать конкретного специалиста;
  • выбрать любого доступного;
  • сначала выбрать удобное время.

Последний вариант полезен клиентам, для которых дата приоритетнее выбора мастера. Для нескольких филиалов сначала спрашивайте локацию, иначе пользователь увидит неудобный общий список.

Не показывайте внутренние графики и причины отсутствия сотрудника. Клиенту достаточно свободных слотов.

Перенос, отмена и лист ожидания

В подтверждении размещаются кнопки:

  • Перенести;
  • Отменить;
  • Добавить в календарь;
  • Связаться с администратором.

При переносе старый слот освобождается только после успешного резервирования нового. При отмене бот уточняет причину короткими кнопками — это помогает увидеть проблемы с ценой, временем и коммуникацией.

Лист ожидания работает так:

  1. Клиент выбирает диапазон дат и подходящих специалистов.
  2. Освободившийся слот предлагается подходящим участникам.
  3. Первый подтвердивший получает временный резерв.
  4. Остальным предложение закрывается.

Напоминания, которые снижают неявки

Практичная схема — за сутки и за 2–3 часа до визита. Точный интервал зависит от услуги: для консультации с подготовкой напоминание нужно раньше, для короткой процедуры достаточно одного.

Сообщение содержит:

  • дату и время;
  • адрес или ссылку на видеозвонок;
  • имя специалиста;
  • требования к подготовке;
  • кнопки переноса и отмены.

Не отправляйте ежедневные напоминания и рекламные сообщения без отдельного основания. Сервисное уведомление должно относиться к конкретной записи.

Предоплата и онлайн-касса

Telegram Bot Payments позволяет ботам выставлять счёт за физические товары и услуги через платёжных провайдеров. Telegram передаёт платёжные данные провайдеру и не хранит реквизиты карты. Фискализация, возвраты, договор с провайдером и соблюдение местных требований остаются ответственностью продавца.

Схема:

  1. Бот резервирует слот.
  2. Отправляет счёт.
  3. Проверяет pre-checkout запрос.
  4. После события успешной оплаты подтверждает запись.
  5. Передаёт данные в кассу и CRM.
  6. При истечении времени освобождает резерв.

Цифровые товары и услуги внутри Telegram подпадают под отдельные правила оплаты в Telegram Stars. Для офлайн-услуги уточните категорию платежа и поддержку нужного провайдера до разработки.

Синхронизация с Google и Яндекс Календарём

Есть два варианта:

Календарь — главный источник расписания

Бот читает занятость календаря и создаёт событие после записи. Это подходит одному специалисту, если он уже аккуратно ведёт календарь. Нужны отдельные календари или правила для каждого сотрудника.

Система записи — главный источник

База бота хранит услуги, слоты и статусы, а календарь получает копию события. Это надёжнее для нескольких мастеров, филиалов, ресурсов и сложных ограничений.

В обоих случаях:

  • храните внешний ID события;
  • обрабатывайте удаление и перенос;
  • задайте единый часовой пояс;
  • учитывайте повторные webhook-события;
  • показывайте администратору ошибки синхронизации.

CRM и карточка клиента

В CRM передаются:

  • Telegram ID и username;
  • телефон;
  • услуга, филиал и специалист;
  • дата и статус записи;
  • сумма и статус оплаты;
  • источник и UTM;
  • история переносов и отмен;
  • согласие на коммуникацию.

По Telegram ID можно найти повторного клиента, но это не заменяет внутренний идентификатор CRM. Username пользователь может изменить или удалить.

Обычный бот, business-бот или Mini App

ФорматКогда подходит
Обычный бот с кнопкамиДо нескольких десятков услуг, линейный выбор
Business-бот в личном профилеЗаявки уже приходят в аккаунт мастера и нужно отвечать от его имени
Telegram Mini AppСложный календарь, фотографии специалистов, фильтры, корзина, несколько ресурсов

Mini App даёт интерфейс, близкий к сайту, но требует больше фронтенд-разработки и тестирования. Для одного мастера с пятью услугами обычные кнопки быстрее и понятнее.

Конструктор или собственная разработка

Конструктор подходит, когда:

  • одна локация;
  • простое расписание;
  • поддерживается ваша CRM;
  • можно принять правила платформы и ежемесячный тариф.

Собственный бот выбирают при нескольких филиалах, нестандартных ограничениях, собственной CRM, business-подключении, сложной оплате или необходимости владеть кодом.

Перед выбором проверьте экспорт данных, резервное копирование, ограничения API, стоимость сообщений и возможность забрать номер бота при миграции.

Сколько стоит бот онлайн-записи

Цена зависит от источника расписания и интеграций:

  • простой сценарный бот без сложного календаря — от 14 990 ₽;
  • AI-менеджер для ответов и первичной квалификации — 19 990 ₽;
  • синхронизация с отраслевой системой, платежами, кассой или Mini App рассчитывается после схемы.

В смете отдельно фиксируются хостинг, платёжный провайдер, касса, SMS, лицензия CRM и поддержка. Сам Telegram не берёт комиссию за платформу Bot Payments для физических товаров и услуг, но комиссию может брать платёжный провайдер.

Готовое ТЗ

1. Бизнес: отрасль, филиалы, часовые пояса.
2. Услуги: цена, длительность, буферы, подготовка.
3. Сотрудники: услуги, график, отпуска, кабинеты и ресурсы.
4. Правила: горизонт записи, минимальное время, отмена, опоздание.
5. Путь клиента: услуга → специалист → слот → контакт → оплата.
6. Резерв: срок удержания и поведение при неоплате.
7. Напоминания: интервалы, текст, перенос и отмена.
8. Интеграции: календарь, CRM, касса, платёжный провайдер.
9. Роли: администратор, мастер, руководитель.
10. Аналитика: источник, завершение записи, неявки, повторные визиты.
11. Ошибки: двойной клик, недоступное API, повторный webhook.
12. Данные: доступ, хранение, удаление и резервные копии.

Практический пример: салон с двумя мастерами

Исходные условия:

  • услуги: стрижка 60 минут и окрашивание 120 минут;
  • мастера: Анна и Мария;
  • Анна выполняет обе услуги, Мария — только стрижку;
  • между клиентами нужен буфер 15 минут;
  • окрашивание требует предоплату;
  • запись закрывается за 2 часа до начала.

Как вычисляется свободное время

Клиент выбирает окрашивание. Бот оставляет только Анну, берёт её рабочие интервалы, вычитает существующие записи, перерыв и отпуск. Для каждого варианта проверяет непрерывный интервал 135 минут: 120 минут услуги и 15 минут буфера.

Если клиент выбрал 14:00, сервер создаёт резерв до 14:10 текущего времени. После оплаты запись получает статус confirmed. Если подтверждения нет, резерв становится expired, а 14:00 снова появляется в выдаче.

Что получает клиент

Запись подтверждена

Услуга: окрашивание
Специалист: Анна
Дата: 12 августа, 14:00
Длительность: около 2 часов
Адрес: ул. Примерная, 10
Предоплата: 1 000 ₽

[Добавить в календарь]
[Перенести]
[Отменить]
[Как добраться]

Что получает администратор

Новая запись №521
Клиент: Елена, +7 ...
Услуга: окрашивание
Мастер: Анна
Время: 12.08, 14:00–16:00
Буфер до: 16:15
Оплата: подтверждена
Источник: QR-код в салоне

Минимальная модель данных

ОбъектОсновные поля
Услуганазвание, длительность, цена, буфер, предоплата
Сотрудникимя, филиал, услуги, рабочие интервалы
Исключениеотпуск, перерыв, больничный, ручная блокировка
Клиентвнутренний ID, Telegram ID, телефон, согласия
Резервуслуга, сотрудник, начало, окончание, срок действия
Записьклиент, слот, статус, источник, внешний ID
Платёжсумма, провайдер, статус, уникальный ключ
Напоминаниевремя отправки, канал, статус, ошибка

Время храните в UTC, а клиенту показывайте в часовом поясе филиала. Для филиалов в разных регионах часовой пояс является обязательным полем.

Статусы записи

hold → awaiting_payment → confirmed → completed
  ↘ expired          confirmed → cancelled
                      confirmed → no_show

Каждый переход проверяет допустимость. Например, оплата истёкшего резерва не должна автоматически занять уже проданный слот: такой случай отправляется администратору для возврата или ручного размещения.

Набор тестов перед открытием записи

  1. Два клиента одновременно выбирают один слот.
  2. Платёж приходит после истечения резерва.
  3. Провайдер дважды присылает уведомление об одной оплате.
  4. Сотрудник блокирует время, пока клиент находится на экране оплаты.
  5. Услуга заканчивается после закрытия филиала.
  6. Буфер пересекается со следующей записью.
  7. Клиент переносит запись с предоплатой.
  8. Администратор отменяет запись вручную.
  9. Календарь временно недоступен.
  10. Сотрудник работает в двух филиалах.
  11. Часы переводятся на летнее или зимнее время в используемом регионе.
  12. Клиент нажимает кнопку подтверждения несколько раз.
  13. Напоминание не доставлено.
  14. Пользователь удалил или заблокировал бота.
  15. Отчёт за день совпадает с календарём и CRM.

Особенно важны первые три сценария: ошибки в них приводят к двойной записи или неверной оплате.

План запуска за четыре этапа

Этап 1. Расписание без оплаты

Один филиал, ограниченный набор услуг, подтверждение администратором. Цель — проверить слоты, переносы и качество уведомлений.

Этап 2. Автоматическое подтверждение

Добавляются атомарное резервирование, статусы и синхронизация календаря. Администратор обрабатывает только исключения.

Этап 3. Предоплата

Подключаются тестовый режим провайдера, повторные webhook-события, возвраты и касса. После полного теста включаются реальные платежи.

Этап 4. Удержание

Добавляются лист ожидания, повторная запись и аналитика неявок. Рекламные сообщения включаются только при наличии подходящего согласия.

Что измерять

МетрикаЧто показывает
Переход → начало записиКачество точки входа
Начало → подтверждениеУдобство сценария
Выбор слота → оплатаПроблемы цены или платежа
Отмена и переносКачество расписания и напоминаний
НеявкаЭффект предоплаты и уведомлений
Повторная записьУдержание клиента
Доля ручной помощиКакие ветки нужно улучшить

Частые вопросы

Можно ли записываться без установки отдельного приложения?

Да. Клиент использует уже установленный Telegram. Первый запуск обычного бота требует открыть ссылку и нажать Старт.

Может ли бот сам видеть свободное время?

Да, если подключён к календарю или системе записи. Свободные слоты вычисляются сервером с учётом длительности, буферов и занятости.

Как бот предотвращает двойную запись?

Он временно резервирует выбранный слот и окончательно создаёт запись атомарной операцией после повторной проверки или оплаты.

Можно ли принимать предоплату?

Да. Telegram поддерживает счета ботов; нужен подходящий платёжный провайдер и корректная настройка кассы и возвратов.

Когда нужен Mini App?

Когда обычных кнопок недостаточно: много услуг и сотрудников, сложный календарь, фотографии, фильтры или корзина.

Заказать схему бота записи

Для точной оценки пришлите список услуг, график сотрудников, действующий календарь или CRM и правила отмены. ROI SEO подготовит рабочий сценарий, перечень интеграций и фиксированный состав первой версии.

Источники

Клиентский сервис

Как построить Telegram-бота для всей переписки

Когда к записи добавляются поддержка, CRM, свободные вопросы, оператор и расчёт окупаемости.

Открыть руководство

Разбор задачи

Получите конкретную схему и оценку

Опишите исходную ситуацию, желаемый результат и используемые сервисы. В ответ вы получите рекомендуемый сценарий, состав первой версии, срок и стоимость.

Обсудить задачу