Загрузка
Продукт

VetClinic Bot

Open source Telegram бот для записи в клинику с интеграцией VetManager API

VetClinic Bot

О продукте

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 и БД

Стек

Python 3.11 aiogram 3.x aiohttp aiosqlite APScheduler python dotenv SQLite (WAL mode) VetManager REST API

Примечание

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 записей в месяц.