Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Мы ели кактус, тратя сотни тысяч рублей на дорогущие коммуникации через WhatsApp Business с кучей ограничений. А потом пришел Павел и всех спас.

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Всем привет, меня зовут Артём Бандин, я сооснователь сети клиник Лёгкая стоматология.

В том году я захотел купить себе новые Найки — оказалось, что найти в РФ первые Эйрмаксы не так уж и просто. Потому решил заказать на Пойзоне через реселлера и попал в офигенское приложение прямо внутри Телеграма. Первый вопрос был «Ничоси. А что, так можно было?»

Понял, что мне нашим клиентам тоже такое нужно 🤩

Тогда же мы плотно сидели на официальном Вотсапе — это тот, который с галочкой и за сотни тысяч рублей, и с каждым счётом думали, как бы слезть с этих конфет.

Так сошлись все звёзды и мы решились вляпаться в эту захватывающую историю.

А чё Телеграмм, а не отдельное приложение?

А потому что приложение стоматологии никому не нужно 🤷🏻‍♂️

Хорошая знакомая — директор по маркетингу крупной сети клиник (Маша, хай!) — как-то мне сказала: «Самое сильное желание пациентов в наших клиниках — уйти отсюда поскорее и в идеале больше не приходить». И это правда — в чем кайф лечить зубы, да?

И ещё — приложения занимают память на мобиле и очень дорогое место на экране. Такую честь можно оказать банку или Инсте — но никак не клинике, в которую ты приходишь в лучшем случае раз в полгода (но нет) на гигиену. А ещё есть данные, что в целом по миру инсталлы падают от года к году. Так что заставить пользователя установить приложение — тот ещё челлендж.

А в Телеграме всё просто — чтобы открыть приложение, нужно просто зайти в диалог с ботом. Никаких иконок на рабочем столе. Диалог можно вообще закинуть в архив и вспоминать, только когда зуб разболится.

А ещё я верю в продуктовую гениальность Дурова. Поэтому очень вероятно, что когда-нибудь Телеграм станет как WeChat в Китае — многие наши приложения будут там. Только пусть интерфейс останется нормальным.

Как делали

Затея имела смысл только если этим кто-то будет пользоваться. Поэтому первым делом мы изучили, какие у нас тех. ограничения и насколько большие грабли они создадут для клиентов.

Вся информация о пациентах и приёмах у клиник лежит в МИС (медицинской информационной системе). У нас это 1С. Она хороша тем, что можно докручивать под себя, но некоторые вещи делать сложно и дорого. Например, ту же онлайн-запись, CRM и интеграции с мессенджерами.

Поэтому коммуникации мы ведем в Амо через официальный Вотсап и Телеграм Бот.

В Вотсапе можно писать первыми, но дорого. В Телеге — нельзя, но бесплатно.

Сверху всего этого — выстраданная интеграция между Амо и 1С, куча скриптов автоматических уведомлений: напоминалок о визитах, онлайн-заполнение документов, сбор фидбэка и т.д.

Очень хотелось собрать это добро вместе так, чтобы всё работало максимально бесшовно и для клиентов, и для команды. Чтобы захотел — написал в Вотсап, потом в Телеграм, а оно всё попало в Амо, а потом открыл там же приложение и сам выбрал время и записался.

Готовые решения все по-своему компромиссные – усложняют инфраструктуру, снижают надежность, повышают зависимость от сторонних вендоров. А это всё риски для бизнеса, потому что вероятности отказов каждой системы множатся друг на друга. Поэтому мы решили писать свою логику. Ну и какой разработчик не любит писать свою логику, правда?

Ещё был вариант сделать классический Телеграм-бот, но от этой потрясающей идеи бысто отказались. В боте сложно выстроить иерархию, поэтому запись на приём превращалась бы в ад.

Пусть надо попасть к врачу — на одной страничке будет не более 10 фамилий, поэтому листать придётся долго. А ещё даты, свободные слоты… В общем, это будет какая-то пошаговая стратегия — точно не интерфейс 2024 года.

Но сам Телеграм как платформа идеален — в том числе благодаря бесшовной авторизации. Никаких смсок, паролей — приложение авторизуется автоматически. Телеграм всё это берет на себя. А мы точно знаем, что пользователь тот, за кого себя выдает. Если, конечно, у него не угнали аккаунт.

Итак, мы собрали команду — дизайнер, фронт- и бэк-разработчик. У меня уже был опыт организации процессов разработки и инфраструктуры — скрам, деплой, вот это вот всё. Это сильно помогло построить слаженный процесс.

На работу ушло 3–4 месяца и 200–250 тысяч рублей — без учёта моих часов.

Если говорить про технологии, то бэкенд сделали на PHP, фронт на React. Для сборки и деплоя для скорости выбрали Vercel, ресурсы храним и ускоряем в S3 и CDN Яндекс.Облака. Но по-правде, с технической стороны это скорее сайт, чем приложение. Но кто будет читать статью про сайт, да?

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Как всё работает

Мы приняли непопулярное решение давать доступ в приложение не всем. А только тем, кто хоть раз записался через человека — по телефону, в мессенджере или ещё как-нибудь. Иначе был риск, что наше расписание станет неуправляемым.

Сделали главный экран:

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Тут можно посмотреть ближайшие записи, перенести или отменить приём, а ещё добавить мероприятие в календарь. Календарь — не глупый. Он выберет Эппл или Гугл в зависимости от девайса пользователя.

Сначала запись сделали полностью на автомате: выбрал свободное время — приходи. Но случилась дурацкая ситуация: поздним вечером девушка записалась на раннее утро следующего дня. Это, конечно, никто не увидел — и она зря потратила время на дорогу в клинику.
Вот так вот записываться в бета-тестеры.

Тогда мы стали показывать, что запись на согласовании:

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Это значит, что запрос упал администраторам в Амо. Они проверяют, всё ли окей, и подтверждают запись. Статус в приложении меняется, а ещё приходит уведомление в мессенджер. И да, раньше это был бы Вотсап, а теперь — Телеграм 🤘

Записаться можно двумя способами. Первый — сразу выбрать врача. Тут есть раздел «Мои» — это те доктора, у которых пациент уже был.

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Второй вариант — выбрать услугу по кнопке «Записаться на приём».

А вообще, почему онлайн-запись в общей медицине — уже стандарт, а в стоматологии — вообще не торт? Потому что у стоматологов непонятные услуги. Пациент не знает, какая понадобится процедура и сколько времени она займёт. В общей медицине все консультации детерминированы по времени — либо 30, либо 60 минут. А у нас всё очень по-разному. Никто же не ведёт учёт, сколько у него каналов в каждом зубе и сколько нужно на их лечение.

Поэтому мы оставили только самые понятные услуги — профгигиену, отбеливание и консультации. По ним можно заранее знать длину слота записи. Остальное через консультации. Либо в процессе согласования администратор скорректирует длину записи.

После приёма в приложении появляется план лечения со схемой, где и чего:

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

А ещё можно поставить оценку — мы потом всё считаем и смотрим динамику по клиникам и врачам. Как-то так:

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Видите эту аватарку? С ней тоже был прикол.

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Одна из пациенток пожаловалась на баг — что она не блондинка 💁‍♀️ Но у нас lean-стартап, поэтому пока по одной мужской и женской аватарке. Когда-нибудь подгрузим фотку из профиля Телеграма. Или сделаем две женские аватарки.

Самый кайф, что в боте параллельно с приложением можно переписываться с админом. Все вопросы падают в Амо, вместе с остальными заявками. Получилось супер-удобно — в одном диалоге сразу и приложение, и переписка с клиникой, и автоматические уведомления. Я очень боялся, что это не сработает, и придется делать двух отдельных ботов, запутаем клиента и всю затею придется похоронить.

Это была одна из самых сложных технических вещей — объединить работу одного бота с двумя системами — бэком приложения и Амо. Ребята, вы 🔥

Запускаться было страшно, поэтому сделали предрелизный анонс — пустили клич в канале клиники и спросили, кто хочет потестить приложение. Откликнулось почти тридцать человек — они отгрузили нам море обратной связи и идей новых фичей.

На этапе тестов серьезных проблем не было — кроме той девушки, которая пришла в клинику в десять утра. Но они начались после 🤪

В воскресенье утром (почему не в понедельник) мы объявили, что приложение официально запущено — а уже вечером увидели, что всё сломалось. Бот отвечал дампами ошибок SQL-запросов. А люди постили их в комментариях в нашем канале. Я в тот момент плавал на сапе. И это вообще было не то, что хотелось бы видеть с веслом в руках.

Приложение без приложения: сделали webapp в Телеграме для стоматологии. Оно сломалось в первые сутки

Хороший урок: все релизы и анонсы с понедельника по четверг 😄

Что дальше

Приятно удивило, что нашу штуку очень тепло встретили: четверть пациентов в процессе лечения зарегались в приложении и перенесли коммуникации в Телегу.

А мы сразу собрали план по внедрению новых штук:

  • Выгружать снимки и документы — договоры, справки для вычетов и всё такое.
  • Программа лояльности.
  • Подробные карточки врачей
  • Рекомендации перед и после приёма.
  • И чтобы можно было задавать вопрос своему доктору.
Сам недавно убедился, как нужна эта фича. Я был у врача, а после мне понадобилось кое-что ещё уточнить — я позвонил в клинику, попросил врача связаться со мной. Сказали ждать в течение трёх дней. Я ответил на все звонки с незнакомых номеров. А позвонили в итоге во время Зума, когда ответить не смог… В общем, асинхронные коммуникации — one love.

Будет супер-ценно, если в комментариях поделитесь идеями, что ещё было бы круто добавить в приложении клиники. И что вообще думаете о приложениях в Телеге — есть у них будущее?

1818
44
12 комментариев

Даешь запрет WABA в РФ. Их тарифы - явное проявление экстремизма ) все в телеграм

5
Ответить

Очень крутой кейс по разработке и интеграции. Связка с Телеграмом – очень удобно!

2
Ответить

А как система поймёт что я записывался, если не знает мой номер телефона?

Ответить

При авторизации в боте, к которому привязан апп, телега попросит пошерить номер телефона.
Примерно так:

3
Ответить

Круто, расскажите, пожалуйста, а у кого вы заказали такой проект?

Ответить

Я не уверен, что при разработке на заказ получится достаточный результат при вменяемом бюджете — много издержек и потерь в цепочке коммуникаций между менеджерами и разработчиками. Поэтому собирали свою команду, сами выбирали стек, и вели проект.

3
Ответить