
Сайт стоматологической клиники «Анидент» (https://anident.ru/) сопровождаю несколько лет. Раньше пациенты не могли увидеть свободное время врачей онлайн — на сайте была только простая форма, которую обрабатывал колл-центр. В итоге люди уходили на сторонние агрегаторы, чтобы узнать расписание и записаться.
Задача: интегрировать данные из внешней системы MedFlex прямо на сайт, чтобы пациент мог выбрать врача, удобную дату и время — и сразу записаться, минуя звонки.
Было
На сайте — только форма обратной связи. Пациент не видел свободных окон, уходил на сторонние сервисы, а администраторы тратили полдня на перезвоны и согласования.
Стало
Доработал сайт в рамках техподдержки и добавил виджет расписания, который:
- подгружает актуальные слоты из трёх филиалов клиники через API;
- показывает их в зависимости от страницы: карточка врача, список специалистов или общее расписание филиала;
- даёт выбрать день и время, после чего открывается модальное окно с уже заполненной формой записи.
Теперь пациенту не нужно никуда уходить — всё происходит прямо на сайте, а администраторы избавились от лишних звонков.

В карточке врача пациент видит все доступные дни и свободное время — выбирает удобный слот за один клик.
Как часто бывает, визуально маленький виджет таит в себе кучу подводных камней. На его разработку ушло в три раза больше времени, чем закладывал изначально. Можно было сделать быстрее, но не хотелось халтурить — много сил ушло на вылизывание функционала.
С чем пришлось повозиться
- Разные аккаунты MedFlex — у каждого филиала клиники свой токен. Сделал прокси-скрипт на PHP, который сам определяет нужный филиал и подставляет токен.
- Двойное расписание — один и тот же врач может вести приём в двух отделениях. На фронтенде объединяю слоты по ID врача, чтобы не было каши.
- Баланс скорости и свежести данных — справочники (филиалы, специальности, врачи) кешируются на сервере на 24 часа, чтобы не дёргать API при каждом просмотре, но данные оставались актуальными.
- Интерфейс — отдельно адаптировал виджет для мобильных и десктопов: выбор даты и врача без съезжающих элементов и лишних движений.

Стек
- Backend: PHP (WordPress), Contact Form 7, собственные прокси-скрипты, файловое кеширование, защита данных через nonce-токен.
- Frontend: нативный JavaScript (ES6), кастомные шаблоны, Fancybox для модалок, адаптивная вёрстка.
- API: интеграция с MedFlex через токены.
Что дальше
Собрать баги по свежим логам, ускорить загрузку тяжёлых справочников и перенести решение на второй сайт клиники. А через пару месяцев замерить реальную цифру по росту онлайн-записей.
