Booking CRM Bot: CRM для записи в Telegram
Клиент записывается к специалисту через Telegram-бота, а владелец управляет клиентами, услугами, расписанием, статусами, статистикой и напоминаниями в закрытом кабинете. Вся CRM-логика и модель данных разработаны под этот процесс с нуля.
Контекст проекта
Факты, которые можно подтвердить по проекту и открытому репозиторию.
Тип проекта
CRM-система записи с Telegram-ботом для клиентов и отдельным кабинетом специалиста. Один запуск предназначен для одного специалиста и работает с собственной базой данных.
Что хранит CRM
Клиентов, записи, услуги, расписание, статусы, служебные заметки, настройки напоминаний и данные для статистики.
Состав разработки
Модель данных, клиентский сценарий, кабинет владельца, API, фоновые задачи, миграции базы, автоматические тесты и Docker-конфигурация.
Проблема, ограничения и роль в проекте
Почему понадобилось отдельное решение и какие рамки учитывались при разработке.
Исходная проблема
При записи через сообщения и звонки специалисту приходится вручную сверять расписание, переносить контакты и следить, чтобы одно время не было занято дважды.
Зачем понадобилась CRM
Клиенты, записи, услуги, расписание, статусы и история действий должны находиться в одной системе, а не быть распределены между чатами и таблицами.
Граница продукта
Это не маркетплейс и не общий каталог специалистов. Каждый экземпляр системы изолирован и настраивается под одного владельца и его Telegram-бота.
Подтверждённые ограничения
Платёжный модуль и отдельная веб-панель в репозитории не заявлены. Кабинет владельца работает в Telegram, а суммы используются для расчётов, но не подтверждают получение оплаты.
Как устроено решение
Основные компоненты и путь данных без привязки к закрытым доступам и секретам окружения.
Telegram-бот
Обслуживает два сценария: самостоятельную запись клиента и закрытый кабинет владельца с проверкой прав доступа.
FastAPI
Принимает защищённый Telegram webhook, предоставляет health-check и связывает внешние события с прикладными сервисами.
PostgreSQL
SQLAlchemy-модели и Alembic-миграции хранят клиентов, записи, услуги, расписание и связанные настройки.
Redis и worker
Используются для временного удержания слотов, фоновой доставки уведомлений и повторных попыток без дублирования сообщений.
Доменный слой
Отдельные сервисы отвечают за свободные интервалы, записи, каталог услуг, аналитику, расписание и уведомления.
Запуск и проверка
Docker-конфигурация собирает приложение и инфраструктуру, а тесты проверяют записи, слоты, кабинет владельца, уведомления и аналитику.
Ключевые функции
Функции перечислены по фактической реализации, а не как возможные будущие доработки.
Запись клиента
Клиент последовательно выбирает услугу, дату и свободное время, указывает телефон и подтверждает запись.
Управление записью
В боте доступны история, отмена, перенос, повторная запись, экспорт события в ICS и связь со специалистом.
Кабинет специалиста
Владелец просматривает записи на сегодня, завтра, неделю или выбранную дату и управляет их статусами.
Услуги и расписание
Можно менять цены, длительность и буферы услуг, рабочие часы, выходные, дополнительные дни и временные блокировки.
Защита от конфликтов
Система рассчитывает доступные интервалы, временно удерживает выбранный слот и защищает расписание от двойного бронирования.
Ручная запись
Специалист может добавить запись по телефону, а после подтверждения номера связать её с Telegram-профилем клиента.
Аналитика
Кабинет показывает записи и статусы за выбранный период, количество клиентов, ручные записи, расчётные суммы и популярные услуги.
Напоминания
Фоновая доставка отправляет уведомления и напоминания, повторяет неудачные попытки и предотвращает дубли.
Экспорт
Записи можно выгрузить в Excel, чтобы провести дополнительный анализ или сохранить рабочий отчёт.
Демонстрация и исходный код
В открытом репозитории опубликованы модели и миграции базы данных, движок расчёта слотов, обработчики бота, сервисы кабинета специалиста, уведомления, тесты и Docker-конфигурация.
Результат и измерения
Отделяю подтверждённый функциональный результат от показателей, которые не передавались после запуска.
До автоматизации
Запись через переписку и звонки требует ручного согласования времени, переноса контактов и отдельного контроля напоминаний.
После разработки
Клиентский путь и работа специалиста объединены в Telegram, а PostgreSQL становится единым источником данных по клиентам, услугам и записям.
Что можно измерить
Репозиторий подтверждает реализованные сценарии, структуру данных и тесты. Публичная статистика реального использования, конверсии или экономии времени не опубликована.
Что изменилось бы в следующей версии
Выводы по архитектуре, эксплуатации и дальнейшему развитию проекта.
Архитектурное решение
Отдельный запуск для каждого специалиста упрощает разграничение данных, настройку услуг, расписания и оформление конкретного бота.
Текущее ограничение
Система сфокусирована на записи и управлении клиентами в Telegram. Платежи и отдельный веб-интерфейс не входят в опубликованную реализацию.
Следующий этап
При подтверждённой необходимости архитектуру можно развить платёжным модулем, веб-кабинетом или новыми интеграциями, сохранив существующую доменную модель.
Что может понадобиться вместе с этой задачей
Дополнительные направления, которые часто используются вместе с этой услугой.
Разработка CRM-системы с нуля
Проектирование собственной CRM под клиентов, записи, роли, статусы, отчёты и рабочие правила бизнеса.
Разработка Telegram-ботов
Создание клиентских сценариев, кабинетов, уведомлений и автоматизации процессов внутри Telegram.
CRM и API-интеграции
Связь CRM с ботами, сайтом, внешними сервисами, таблицами и внутренними API.
Создать заказ
Свяжитесь удобным способом и коротко опишите задачу. Даже если пока нет точного ТЗ, можно начать с идеи и желаемого результата.
Нужна CRM для записи с Telegram-ботом?
Опишите услуги, расписание, роли и путь клиента. Я помогу определить первую рабочую версию CRM и спроектировать интеграцию с Telegram без лишних модулей.