«Понимаю» — платформа психологической поддержки в основном для сотрудников компаний по корпоративной программе, но пользуются ей и физлица, которые пришли за консультацией напрямую, а не по ДМС работодателя. Она подключает специалистов, ведёт запись на консультации и работает как отдельный продукт внутри HR-программы работодателя. Мы делаем её с 2020 года. За это время из простого «выбрать специалиста и записаться» вырос продукт с веб-кабинетом, мобильным приложением, отдельными инструментами для HR и операционной команды, библиотекой материалов и региональными платежами. Для Казахстана мы развиваем отдельный продукт — «Эмпатия».
Я Антон Фокин, CEO Qtim. Когда мы начинали, задача выглядела проще: помочь человеку выбрать специалиста, записаться и дойти до консультации. По мере развития вокруг этого сценария появилась инфраструктура: права доступа проверяются на входе, слот защищён от повторного бронирования, оплата идёт по нужному сценарию, а для каждой встречи отдельно готовится комната видеосвязи. Расскажу, почему одна консультация теперь проходит через несколько самостоятельных систем.
До нас заказчик работал со сторонним медицинским решением. Оно умело проводить консультации, и пользователей это в целом устраивало. Но как только заказчику требовался новый корпоративный сценарий, команда упиралась в ограничения чужой платформы — видеосвязь и личный кабинет жили по её правилам, и поменять это на своей стороне было нельзя.
Первая версия «Понимаю» решала одну задачу: сотрудник получает доступ по промокоду работодателя, выбирает специалиста, записывается на удобное время и проходит консультацию онлайн. Почти сразу стало понятно, что на этом развитие не остановится — мы сделали редизайн и выпустили мобильное приложение для клиентов, и с каждой новой точкой входа для пользователя система обрастала новыми связями внутри.
Запись перестала быть одним действием — она зависит от корпоративной программы, роли пользователя, расписания специалиста, оплаты, подтверждения и канала связи. После встречи консультацию нужно корректно завершить и сохранить в истории пользователя. Рядом появились тесты, полезные материалы, уведомления и инструменты для корпоративных заказчиков.
На экране запись выглядит как выбор специалиста и времени. На уровне системы это последовательность событий: несколько пользователей могут одновременно претендовать на один слот, оплата приходит не мгновенно, а консультацию иногда нужно подтвердить или отменить уже после брони.
Чтобы два человека не заняли одно и то же время, система блокирует слот в момент записи. Параллельный запрос уже не сможет забронировать этот интервал.
Такие случаи были – особенно в период, когда параллельно работали две платформы: наша и внешнее решение МЛС. Синхронизация расписания между ними занимала около десяти минут, и в это окно один слот иногда занимали дважды – например, кто-то успевал записаться на «Понимаю», а кто-то на МЛС до сверки записей. Дубли отслеживали вручную: администраторы и специалисты замечали пересечение и сами переносили запись.
У консультации появились промежуточные статусы ожидания и подтверждения, отдельные ссылки для подтверждения и отмены, автоотмена неподтверждённых записей и подробные финальные статусы.
Система фиксирует каждое событие на маршруте — это упрощает операционной команде разбор спорных ситуаций вокруг слотов, платежей и отмен. Клиент всей этой логики не видит: он получает свободное время и понятный статус, а не запись, которую уже занял кто-то другой.
По мере роста продукта одной пользовательской части и общей административной панели стало не хватать. Основную связку составляют шесть интерфейсов: веб-кабинет клиента, кабинет специалиста, мобильное приложение, HR-кабинет, операционная административная панель и отдельная панель для контента.
Веб-кабинет клиента объединяет специалистов, расписание, избранное, консультации, тесты, полезные материалы и настройки. Мобильное приложение продолжает тот же сценарий на смартфоне: клиент записывается, подключается к встрече, общается в чате, получает уведомления и возвращается к истории операций.Сегодня «Понимаю» и «Эмпатией» пользуются более 200 компаний и 25 тыс. человек в России и Казахстане. За доступный в аналитике период на двух платформах прошло 64 117 успешных консультаций, из них 6 327 — за последний полный месяц.
Для HR есть отдельный кабинет с инструментами корпоративной программы и сводными показателями вовлечённости. HR видит охват и вовлечённость сотрудников по программе, а также какие программы обслуживания доступны компании, сколько консультаций предусмотрено по каждому направлению и сколько уже проведено. На основе этих данных HR решает, стоит ли менять пакет — увеличивать или уменьшать лимит по конкретным направлениям.
Операционная административная панель покрывает компании, пользователей, специалистов, консультации, платежи, отчёты, уведомления и настройки. Рядом работает отдельная панель для контента — через неё команда готовит статьи, вебинары, подкасты, дайджесты, чек-листы, ответы на частые вопросы и страницы специализаций. Через панель прошло около 580 статей и порядка 40 вебинаров. Есть два подкаста – «Время остановиться» и «Рефакторинг»: новые выпуски выходят и сразу подтягиваются на платформу. Отдельно выходят ежемесячные дайджесты.
В первой статье о проекте видеосвязь была главным техническим вызовом: сервису нужно было встроить ВКС в продукт так, чтобы пользователь не уходил по отдельным ссылкам и не заводил ещё один аккаунт.
Начали мы с Voximplant. Позже ограничения и сбои внешнего решения стали влиять на консультации, а исправить их на своей стороне мы не могли. Следующим этапом стал Jitsi и прикладная логика вокруг него. Сейчас рабочий провайдер видеосвязи для России и Казахстана — LiveDigital: веб-кабинет и мобильное приложение подключают пользователя к сессии внутри своих интерфейсов, а бэкенд создаёт комнату и приглашение в контексте конкретной консультации.
Три провайдера за пять лет — не значит, что мы трижды переписывали продукт целиком. Платформа управляет записью, доступом, статусами и пользовательским маршрутом, а медиаслой развивается отдельно — поэтому смена провайдера ни разу не потребовала заново проектировать всю консультацию.
В раннем описании проекта Keycloak выглядел как единое хранилище данных клиентов. Его актуальная роль точнее: это централизованный слой идентификации и доступа — вход, регистрация, восстановление доступа, внешние провайдеры авторизации, базовые роли.
А вот что конкретному пользователю можно делать дальше, решает уже бэкенд «Понимаю»: он сопоставляет вошедшего человека с ролью, компанией и доступом к операции. Мы развели эти два слоя намеренно — систему входа можно развивать централизованно, не трогая бизнес-правила, а ограничения корпоративных программ менять, не касаясь механики авторизации. Вокруг этого разделения появились отдельные сборки для России и Казахстана, вход через почту и внешних провайдеров, одноразовые коды и подтверждение условий.
В первой публикации казахстанское направление называлось демоверсией «Понимаю» с другой платёжной системой. Теперь это отдельный продукт — «Эмпатия», со своими сборками и региональными интеграциями, хотя ключевые сценарии у обеих версий общие. Главным поводом стали юридические различия: хранение персональных данных, разные комплекты документов и разные юрлица в России и Казахстане. При этом пользовательская логика в «Понимаю» и «Эмпатии» осталась идентичной — разошлись не сценарии, а юридический контур вокруг них.
Платежи тоже перестали быть одной общей функцией. В России платёжные сценарии проходят через банк «Точка», для зарубежного и казахстанского направления используется FreedomPay. Бэкенд выбирает провайдера по продукту и региону, обрабатывает его уведомления и учитывает источник платежа при возврате. У каждого провайдера свои статусы и правила обработки операций, а для клиента различие сводится к подходящему способу оплаты.
Изначально центр продукта находился в консультации. Теперь «Понимаю» сопровождает человека и между встречами — в платформе появился самостоятельный раздел полезных материалов: статьи, вебинары, подкасты, дайджесты, чек-листы, ответы на частые вопросы и страницы специализаций.
Контент можно связывать с направлениями помощи, готовить через отдельную административную панель, проверять по ссылке предпросмотра и показывать нужной аудитории. Рядом с материалами работают тесты и навигация по темам. Кто-то сразу выбирает специалиста, кто-то начинает с теста или статьи, а после консультации возвращается к материалам по своей теме. Долю пользователей, которые приходят через материалы, а не напрямую через запись, отдельно не считают. По числу публикаций самый популярный формат — статьи.
У консультации много моментов, когда человек может выпасть из процесса: не заметить подтверждение, забыть время, пропустить изменение статуса или потерять ссылку на вход. Одного письма для такого сценария оказалось недостаточно.
В продукте работает многоканальный слой уведомлений: пуш-уведомления, электронная почта, СМС, Telegram, MAX и сообщения в веб-интерфейсе. Каналы используют общие шаблоны и сопровождают основные события — от создания записи до напоминания и завершения консультации. Отдельно развивается чат консультации и административные сообщения: коммуникационный слой связывает действия пользователя с состоянием записи, сообщение приходит тогда, когда в системе произошло конкретное событие. Точной цифры по пропущенным консультациям нет, но с ростом числа каналов уведомлений снижается нагрузка на техподдержку — клиенты реже обращаются с вопросами о статусе записи.
Для бизнеса это снижает число ситуаций, которые приходится разбирать через поддержку.
За время развития «Понимаю» вокруг одной видеоконсультации выросла связанная система: веб- и мобильный клиент, кабинеты для HR и операционной команды, отдельная система управления материалами, региональные платежи, централизованный вход, три поколения ВКС и многоканальные уведомления.
Пользовательский сценарий, с которого всё начиналось, не изменился ни на шаг. Человеку по-прежнему нужно выбрать специалиста, время и войти в консультацию. Проверки доступа, защита слота, выбор платёжного и видеопровайдера, статусы и напоминания решаются внутри платформы — до пользователя эта работа просто не доходит.
Для нас этот проект — пример того, как долго может развиваться корпоративный продукт: архитектура менялась вместе с новыми странами, ролями и способами поддержки, а базовый маршрут пользователя всё это время сохранял понятную форму.
Если вы развиваете корпоративную платформу со сложными ролями, платежами и интеграциями, обсудим архитектуру и следующий этап продукта. Подробнее — на странице разработки SaaS-сервисов и платформ.