Разработка сайта ветеринарной клиники на 1С-Битрикс
Ветеринарная клиника — специфический медицинский бизнес, где пациент не может описать симптомы, а клиент (владелец) нервничает вдвойне. Сайт должен решать три задачи: быстро записать на приём, дать доступ к истории лечения питомца и позиционировать клинику как экспертную площадку через контент. Ключевая инженерная особенность — онлайн-запись, в которой участвуют три сущности: врач, специализация и вид животного.
Каталог услуг
Инфоблок «Услуги» организован двухуровневыми разделами. Первый уровень — вид животного (собаки, кошки, грызуны, птицы, рептилии, экзотические животные). Второй уровень — категория услуг (терапия, хирургия, вакцинация, стоматология, офтальмология, дерматология, лабораторная диагностика, УЗИ/рентген).
Свойства элемента:
-
PRICE_FROM— цена «от» (числовое, для вывода в список) -
DURATION_MINUTES— длительность приёма (для расчёта слотов записи) -
REQUIRES_SPECIALIST— привязка к специализации врача (HL-справочник) -
ANIMAL_TYPES— множественная привязка к видам животных -
PREPARATION— текст подготовки к процедуре (не кормить 12 часов, не мыть и т.д.) -
CONTRAINDICATIONS— противопоказания
Детальная страница услуги включает описание, показания, подготовку, список врачей, выполняющих эту процедуру, и кнопку «Записаться» с предзаполненной услугой.
Профили врачей
Инфоблок «Врачи» — важнейший для конверсии. Владельцы животных выбирают не клинику, а конкретного ветеринара, особенно для узких специализаций (офтальмолог-ветеринар, ратолог, герпетолог).
Свойства профиля:
| Свойство | Тип | Пример |
|---|---|---|
SPECIALIZATIONS |
Привязка к HL (множ.) | Терапевт, хирург, офтальмолог |
ANIMAL_TYPES |
Привязка к HL (множ.) | Собаки, кошки, экзоты |
EXPERIENCE_YEARS |
Число | 12 |
EDUCATION |
Текст | МГАВМ и Б им. Скрябина, 2012 |
CERTIFICATES |
Файл (множ.) | PDF/JPG сертификатов |
PHOTO |
Файл | Фото в формате |
SCHEDULE_USER_ID |
Число | ID пользователя Битрикса (для привязки к расписанию) |
CONSULTATION_TYPES |
Список (множ.) | Очная, онлайн, выезд на дом |
На детальной странице врача — кнопка «Записаться к этому врачу» с предзаполненной привязкой.
Онлайн-запись: трёхмерная матрица «врач × специализация × вид животного»
Стандартные модули бронирования Битрикса рассчитаны на простую схему: выбрал услугу → выбрал время → записался. В ветеринарии всё сложнее. Не каждый хирург оперирует рептилий, не каждый терапевт работает с птицами. Система записи должна учитывать пересечение трёх параметров.
Highload-блок расписания (hl_vet_schedule):
| Поле | Тип | Назначение |
|---|---|---|
UF_DOCTOR_ID |
Число | ID врача из инфоблока |
UF_DATE |
Дата | Рабочий день |
UF_TIME_FROM |
Строка | Начало смены (09:00) |
UF_TIME_TO |
Строка | Конец смены (18:00) |
UF_SLOT_DURATION |
Число | Длительность слота в минутах (30) |
UF_CLINIC_BRANCH |
Число | Филиал клиники |
Highload-блок записей (hl_vet_appointments):
| Поле | Тип | Назначение |
|---|---|---|
UF_DOCTOR_ID |
Число | Врач |
UF_DATE |
Дата | Дата приёма |
UF_TIME |
Строка | Время начала |
UF_DURATION |
Число | Длительность (минуты) |
UF_SERVICE_ID |
Число | Услуга |
UF_ANIMAL_TYPE |
Число | Вид животного |
UF_PET_NAME |
Строка | Кличка питомца |
UF_PET_BREED |
Строка | Порода |
UF_PET_AGE |
Строка | Возраст |
UF_PET_WEIGHT |
Число | Вес (кг) |
UF_OWNER_USER_ID |
Число | ID владельца |
UF_OWNER_PHONE |
Строка | Телефон (для незарегистрированных) |
UF_STATUS |
Список | scheduled / confirmed / completed / cancelled / no_show |
UF_COMMENT |
Текст | Комментарий владельца |
Алгоритм формирования доступных слотов:
- Пользователь выбирает вид животного (например, «попугай»).
- Система фильтрует врачей: оставляет только тех, у кого в свойстве
ANIMAL_TYPESесть «птицы». - Пользователь выбирает категорию услуги (например, «терапия»).
- Система дополнительно фильтрует: оставляет врачей со специализацией «терапевт» или «ратолог-орнитолог».
- Для оставшихся врачей загружается расписание из
hl_vet_scheduleна выбранную дату. - Из расписания вычитаются уже занятые слоты из
hl_vet_appointments. - Учитывается длительность услуги: если приём занимает 60 минут, а свободен только 30-минутный слот — он не показывается.
- Результат — список доступных врачей с временными слотами. Пользователь выбирает врача и время, заполняет данные о питомце, подтверждает.
Фронтенд-реализация: пошаговый мастер (wizard) на четыре шага — вид животного → услуга → врач и дата → подтверждение. Каждый шаг — AJAX-запрос к контроллеру, обновление доступных вариантов без перезагрузки страницы.
Подтверждение и напоминания:
После записи — SMS через интеграцию с SMS-шлюзом (SMS.ru, SMSC). Напоминание за 24 часа и за 2 часа до приёма. Агент CVetReminderAgent обрабатывает очередь напоминаний раз в 10 минут.
Экстренная запись:
Отдельный блок на сайте — «Срочная помощь». Круглосуточный телефон крупным шрифтом, кнопка вызова (tel:), онлайн-чат через JivoSite или Carrot quest. Для мобильных — fixed-блок внизу экрана, который не скроллится.
Личный кабинет владельца: карточка пациента
Авторизованный пользователь видит в личном кабинете список своих питомцев. Каждый питомец — элемент Highload-блока hl_pets:
-
UF_OWNER_ID— владелец -
UF_NAME— кличка -
UF_SPECIES— вид (собака, кошка...) -
UF_BREED— порода -
UF_BIRTH_DATE— дата рождения -
UF_WEIGHT— вес -
UF_PHOTO— фото -
UF_CHIP_NUMBER— номер микрочипа -
UF_STERILIZED— стерилизовано (да/нет)
По каждому питомцу — история визитов, прививок, анализов. Данные поступают из ветеринарной МИС (медицинской информационной системы): Ветменеджер, Enote, Veterinary Practice Management. Интеграция через REST API или выгрузку CSV.
Highload-блок hl_pet_medical:
| Поле | Тип | Назначение |
|---|---|---|
UF_PET_ID |
Число | Питомец |
UF_DATE |
Дата | Дата записи |
UF_TYPE |
Список | vaccination / analysis / visit / surgery |
UF_DESCRIPTION |
Текст | Описание (вакцина, тип анализа, диагноз) |
UF_DOCTOR_ID |
Число | Врач |
UF_RESULT_FILE |
Файл | PDF с результатами анализов |
UF_NEXT_DATE |
Дата | Дата следующей процедуры (ревакцинация) |
Напоминания о ревакцинации — автоматические. Агент CVetVaccinationReminder ежедневно проверяет поле UF_NEXT_DATE, за 14 дней и за 3 дня отправляет SMS/email владельцу.
SEO-контент: статьи по уходу за животными
Раздел «Полезные статьи» — инфоблок со стандартными компонентами news.list / news.detail. Категории: уход, питание, здоровье, воспитание, породы. Привязка к видам животных через свойство-теги.
Каждая статья оптимизирована под информационные запросы: «как подстричь когти кошке», «прививки для щенка график», «чем кормить шиншиллу». Title и Description формируются через SEO-свойства инфоблока. Микроразметка schema.org/Article с полем author, ссылающимся на профиль врача — повышает E-E-A-T.
Этапы реализации
| Этап | Работы | Срок |
|---|---|---|
| Проектирование | Структура данных, UX записи, интеграционные контракты с МИС | 2 недели |
| Каталог и профили | Услуги, врачи, филиалы, адаптивная вёрстка | 2–3 недели |
| Система записи | Wizard записи, расписание, слоты, SMS-уведомления | 3–4 недели |
| Личный кабинет | Питомцы, медкарта, напоминания о вакцинации | 3 недели |
| Интеграция с МИС | Подключение к Ветменеджер/Enote, синхронизация историй | 2–3 недели |
| Контент и SEO | Статьи, микроразметка, оптимизация | 1–2 недели |
| Тестирование и запуск | Сквозное тестирование записи, нагрузка, обучение | 1–2 недели |







