VetClinic Bot
Open source Telegram бот для записи в клинику с интеграцией VetManager API
О продукте
Open source Telegram бот для клиник, у которых нет бюджета на собственную разработку, но уже есть VetManager как CRM.
Решение «из коробки»: владелец клиники клонирует репозиторий, прописывает API ключи в .env и через 10 минут получает работающего бота, который 24/7 принимает записи клиентов, синхронизируется с VetManager в обе стороны, рассылает напоминания и даёт менеджерам админ панель прямо в Telegram.
Без подписок, без вендор локов, весь код под MIT.
Задача
Малые клиники теряют клиентов вне рабочих часов: 70%+ обращений приходят, когда администратор уже не отвечает на звонки. Готовые SaaS для записи стоят 5 15 тыс. руб/мес, заказная разработка от 200 тыс. руб, а самописные боты ломают синхронизацию с VetManager и приводят к дублям записей. Этот проект закрывает все три проблемы: бесплатный open source, корректная двусторонняя интеграция с VetManager API, production ready качество (70 багов исправлено за 5 раундов аудита).
Цель: снизить порог входа в автоматизацию для частных ветклиник.
Функционал
Запись клиента на приём
- FSM сценарий: телефон, имя, питомец, услуга, врач, слот
- Авто распознавание повторных клиентов по Telegram ID и телефону
- Выбор врача: любой свободный, по специализации, конкретный
- Расчёт реальных свободных слотов из расписания VetManager (без кэша)
- Автосоздание клиента и питомца в VetManager при первой записи
- Защита от двойного клика «Подтвердить» (idempotency через FSM)
Управление записями (клиент)
- Просмотр всех своих записей одним списком
- Отмена с обязательным указанием причины
- Перенос на другое время с проверкой доступности
- Двусторонняя синхронизация с VetManager при любом изменении
- Ownership проверка, клиент не может управлять чужими записями
Панель менеджера и админа
- Записи на сегодня, на завтра, на любую дату
- Ручная запись клиента от его имени (полный сценарий)
- Поиск клиентов по телефону или имени с историей записей
- Расписание врачей на день
- Статистика: количество, отмены, неявки, новые клиенты, активность персонала
- Отметки «Состоялась» и «Не пришёл» по факту приёма
Супер админка и настройки
- Управление ролями (назначение админов и менеджеров)
- Включение и отключение врачей в боте
- Синхронизация справочников врачей и услуг с VetManager
- Настройка рабочих часов и текста приветствия
- Полные логи всех действий с фильтрами по типу и дате
- Список сотрудников с ролями
Уведомления, безопасность и качество
- Push напоминания клиентам за 24ч и 2ч до приёма (без дубликатов)
- Мгновенные уведомления персоналу о новых, отменённых, перенесённых записях
- HTML экранирование всего пользовательского ввода (защита parse_mode)
- Защита от SQL LIKE инъекций в поиске
- TTL кэш юзеров и WAL режим SQLite для производительности
- Автоматический retry на сетевых ошибках VetManager
- Graceful shutdown, FSM таймауты, логирование всех событий в stdout и БД
Стек
Примечание
Open source под MIT. Может скачать любая клиника, развернуть на своём VPS за 10 минут, дальше пользоваться бесплатно. Production ready: 70 багов исправлено за 5 раундов аудита, включая race conditions, HTML и SQL инъекции, distributed transaction inconsistency, Telegram API edge cases. В комплекте: README с инструкцией для systemd и Docker, полный CHANGELOG, .env.example, расширенное логирование всех событий в stdout и БД для аудита. Подходит для клиник от 1 до 5 врачей и до 1000 записей в месяц.