Telegram-бот для записи клиентов закрывает повторяемую часть процесса: показывает доступное время, принимает бронь, напоминает о визите и отдает данные сотруднику. Он уместен, когда одни и те же вопросы о слоте и переносе приходят в мессенджер, а отвечать сразу получается не всегда. Если запись редкая, правила каждый раз другие, а решение принимает только человек на звонке, бот скорее добавит слой, чем снимет нагрузку.
Ниже не каталог функций «на все случаи». Это рабочие сценарии, поток сообщений, пределы интеграций и лист расчета, который можно заполнить своими цифрами. Цены в конце: мои стартовые ориентиры, а не средняя по рынку и не обещание срока окупаемости.
Какие сценарии записи стоит автоматизировать
Берите сценарий, который встречается часто и заканчивается проверяемым фактом: слот занят, клиент подтвердил, перенос записан, уведомление ушло. Сложные исключения оставляйте администратору.
- Новая запись. Услуга, специалист или ресурс, дата, время, контакт, подтверждение клиенту и уведомление сотруднику.
- Напоминание. За сутки и за два часа, с кнопками «буду» и «перенести». Без ответа через заданное время слот можно пометить для ручной проверки.
- Перенос. Клиент видит свои ближайшие записи, выбирает новую дату в рамках правил, старый слот освобождается только после успешной записи нового.
- Отмена. Срок бесплатной отмены, причина по желанию, возврат слота, сообщение администратору.
- Лист ожидания. Если нужного окна нет, клиент оставляет услугу и удобные дни. При освобождении слота бот предлагает его ограниченное время.
- Сбой внешней системы. Бот не рисует «успех». Он пишет честный статус, сохраняет запрос в очередь и будит ответственного.
Первую версию лучше строить вокруг новой записи и напоминания. Перенос, лист ожидания и оплаты добавляйте, когда основной маршрут уже не теряет данные.
Поток сообщений: от входа до подтверждения
Клиент не должен угадывать, что нажать дальше. Каждый шаг либо собирает нужное поле, либо завершает действие, либо отдает разговор человеку.
Вход
/start или ссылка с меткой источника
-> короткое объяснение, что бот умеет
-> кнопки: Записаться | Мои записи | Связаться
Запись
1. Услуга
2. Специалист или ресурс (если есть выбор)
3. Дата из доступных
4. Время из свободных слотов
5. Имя и телефон (или подтверждение профиля)
6. Сводка: услуга, кто, когда, адрес/формат
7. Подтверждение клиентом
8. Создание записи во внешней системе или своей базе
9. Сообщение клиенту с booking_id
10. Уведомление администратору
Напоминание
за 24ч и за 2ч -> Буду | Перенести | Отменить
Ошибка слота/CRM
-> «Слот только что заняли / сервис недоступен»
-> предложить другие окна или очередь
-> алерт сотруднику
-> без фейкового «вы записаны»Повторное нажатие «Подтвердить» не должно создавать вторую запись. Сохраняйте идемпотентность по booking_attempt_id или по связке пользователь + слот + услуга в коротком окне времени. Если клиент пишет свободным текстом, первая версия может ответить кнопками и предложить оператора, а не пытаться угадать намерение любой ценой.
Где заканчиваются возможности интеграции
Бот не «подключается ко всему». Он работает в границах канала, API и ваших правил доступа. Эти пределы лучше назвать до сметы, а не после демо.
- Источник слотов. Календарь, CRM, таблица или собственная база. Если система не отдает свободные окна надежно, бот может только собирать заявку администратору, а не бронировать сам.
- Подтверждение записи. Успех только после ответа внешней системы или вашей транзакции. Экран «готово» без
booking_idсоздает ложные ожидания. - Двойные брони. Нужна проверка занятости в момент подтверждения, а не только в момент показа списка.
- Роли. Кто двигает расписание, кто видит телефоны, кто отменяет чужие записи. Бот без ролей быстро становится общим чатом с дырой в данных.
- Оплата. Отдельный провайдер, отдельные статусы и возвраты. Не смешивайте «запись создана» и «деньги получены», пока провайдер не подтвердил платеж.
- Персональные данные. Собирайте минимум для визита. Токены и ключи не живут в тексте сценария. Нужен срок хранения и способ удалить данные по запросу.
- Канал. Telegram-бот не заменяет сайт и не обязан переносить весь сайт в чат. Ссылка с сайта, карты или QR достаточна, если клиент уже в мессенджере.
Если расписание живет только в голове администратора, сначала зафиксируйте правила слотов. Иначе бот будет честно автоматизировать хаос.
Рабочий лист ROI
Это не прогноз и не результат клиента. Подставьте свои данные за обычный месяц. Если цифр нет, две недели считайте вручную: пропущенные звонки, no-show, записи вне рабочего времени, минуты на переписку о переносе.
Входные данные (за месяц)
A = средний чек или маржа с одного визита
B = no-show / забытые визиты сейчас, шт.
C = доля, которую реально возвращают напоминания (0..1)
D = записи, которые сейчас теряются вечером и в выходные, шт.
E = доля, которую бот может принять без сотрудника (0..1)
F = часов персонала на переписку о слотах
G = стоимость часа персонала
H = разработка бота (разовая)
I = сервер, сервисы, поддержка (в месяц)
Эффект в месяц (оценка)
сохраненные визиты = B * C * A
доп. визиты вне часов = D * E * A
экономия времени = F * G
месячный эффект = сохраненные + доп. + экономия - I
Окупаемость (мес.) = H / месячный эффект
(считайте только если эффект > 0 и цифры измеримы)
Пример цифр, не обещание:
A=3000, B=8, C=0.5, D=6, E=0.4, F=6, G=500, H=60000, I=2000
сохраненные=12000, доп.=7200, время=3000
эффект=12000+7200+3000-2000=20200
окупаемость≈3.0 мес.Для строгой оценки берите маржу, а не выручку. Не записывайте в эффект все открытия диалога. Считайте только визиты и заявки, которые можно связать с ботом и подтвержденной записью. Если C и E вы думаете «на глаз», сначала измерьте базовую неделю без бота.
Сколько стоит разработка
Моя нижняя цена на простой бот с записью, напоминаниями и уведомлением владельцу: от 30 тыс. ₽, ориентир срока от 3 до 5 дней. Бот с оплатой, CRM и админкой: от 60 тыс. ₽, ориентир от 1 до 2 недель. Это стартовые цены Георгия, не вилка рынка. Точную смету даю на следующий день после брифа: итог зависит от источника слотов, ролей, правил переноса и того, кто владеет данными.
Как проходит запуск
- Фиксируем услуги, длительности, ресурсы, правила отмены и источник правды по слотам.
- Рисуем основной путь, перенос, отмену, недоступность API и передачу человеку.
- Собираем тестовый контур без боевых оплат и массовых рассылок.
- Проверяем запись, двойной тап, занятый слот, напоминание и уведомление сотруднику.
- Запускаем на ограниченной аудитории, смотрим журнал, чиним обрывы.
- После запуска простой версии: 30 дней исправлений по согласованному контуру.
Частые вопросы
Клиенты будут пользоваться ботом или продолжат звонить?
Зависит от аудитории и от того, насколько ясно вы даете ссылку. Телефон можно оставить. Бот добавляет самостоятельную запись, а не запрещает привычный канал. Имеет смысл смотреть долю записей из бота через 2-4 недели, а не в первый день.
Что если клиент записался, а мастер заболел?
Администратор закрывает окна в расписании, бот сразу перестает их предлагать. Уже записанным можно отправить предложение переноса. Главное: источник слотов и рассылка должны смотреть в одно состояние, иначе клиент увидит «свободное» время, которого нет.
Нужен ли отдельный сайт или приложение?
Не обязательны. Клиенту нужен Telegram. Ссылку на бота ставят на сайт, в соцсети, на карточку организации или в QR в точке. Если человека все равно надо вести с рекламы на длинное объяснение услуги, сайт остается, а бот закрывает шаг записи.
Бот сам синхронизируется с любой CRM?
Нет. Нужны доступный API или устойчивый обходной маршрут, список полей, правила статусов и тест на ошибку. Если CRM только принимает ручной ввод, честнее сделать уведомление + таблицу/очередь и не обещать «полную синхронизацию».
Что если Telegram станет недоступен?
Зависит от архитектуры. Имеет смысл отделять данные и правила записи от интерфейса мессенджера. Новый канал все равно потребует своей интеграции и приемки. Резервный телефон и форма на сайте должны оставаться рабочими.
Как понять, что бот окупился?
Когда у вас есть базовая линия до запуска и после: no-show, записи вне часов, время персонала на слоты, доля подтвержденных визитов. Окупаемость из рекламного примера без своих A-I из листа выше считать нельзя.