Коротко: Привяжите кнопки «подтвердить», «перенести» и «отменить» к живому PMS, затем предлагайте отменённые слоты листу ожидания до начала приёма. Пустое кресло возвращается записью в календарь плюс заполнение листа ожидания — не частотой рассылки. Прогоните двухнедельную выборку на бесплатном тарифе: одно кресло, считайте возвращённые часы.
Владельцы клиник и интеграторы проверяют двусторонние напоминания через WhatsApp API на бесплатном тарифе и считают возвращённые часы кресла. Односторонние T-24h по-прежнему теряют забронированные часы врача.
Ресепшен уже часами обзванивает пациентов. Половина не берёт трубку. Остальные подтверждают — и всё равно не приходят, а слот остаётся «занят», так что лист ожидания его не видит. Первая ошибка — считать отправленное напоминание возвращённым часом врача. Час возвращается, когда календарь меняется и на кресло садится другой человек.
Сколько на самом деле стоит неявка
Галочка WhatsApp «доставлено» не снимает кресло со счёта. В календаре слот всё ещё занят.
Мы видели, как ресепшен принимает доставленный T-24h за возвращённый час — и в 10:00 смотрит на пустое кресло. Dantas (2018) оценивает среднюю неявку в здравоохранении примерно в 23%. Открытие сообщения зубному врачу зарплату не платит.
Суть цикла — возврат пустого кресла: запишите ответ пациента в живой календарь, затем заполните освободившийся слот до начала приёма. Одна ежедневная стоматологическая неявка в диапазоне $150--$350 по прайсу — это около $39k--$91k в год, если учесть накладные 1.4--1.8×. Строки по дерматологии и терапевтам в таблице показывают ту же схему при другой цене слота.
| Специальность | Диапазон пустого кресла | Что клиника теряет на практике |
|---|---|---|
| Стоматологический приём | $150--$350 по прайсу; истинная стоимость 1.4--1.8×; накладные $150--$300/час | Одна неявка в день ≈ $39k--$91k/год |
| Консультация дерматолога | $150--$200; неявки в литературе 7.8--31% | Процедурные слоты всё равно требуют позднего касания после первого подтверждения |
| Приём терапевта | 20 визитов в день по $150; неявки 7% | ≈ $55k/год на одного FTE при небольшой доле |
Исследование напоминаний в стоматологии 2013 года охватило 1.6 млн из 21.5 млн записей (email, SMS и голос) и сообщило об относительном снижении неявок примерно на 23%. Работа Cochrane «SMS против отсутствия напоминаний» дала отношение рисков 1.14 по явке. RCT по WhatsApp дают смешанную картину: бразильское исследование дошло до p=0.032; мексиканское и индийское — нет. Единица, которую вы возвращаете, — заблокированный час.
Почему односторонние напоминания всё равно теряют часы врача
Сначала часто пробуют односторонние T-24h с личного номера сотрудника. Вот как это ломается.
Проекты без записи в PMS продолжают обзванивать после WhatsApp: доска по-прежнему выглядит полной. Пациент говорит «да» по телефону или игнорирует сообщение — и всё равно не приходит. Слот остаётся занятым, лист ожидания его не берёт.
Нужна двусторонняя запись в PMS плюс лист ожидания, а не односторонние T-24h с телефона сотрудника. Личная переписка умирает, когда человек увольняется. Если пациент пишет «не смогу» в личный чат, в PMS ничего не меняется.
Когорта из 12 клиник в Индоре (автор — вендор; коммерческий интерес раскрыт; без рандомизации) проследила 12 врачей и более 8 400 записей с июня по декабрь 2024. Средняя неявка сдвинулась с 31% до 10% после напоминаний WhatsApp с интерактивным подтверждением и переносом. Считайте эти цифры коммерческим кейсом.
| Подход | Влияние на неявки | Время заполнения | Минуты персонала | Нужен бот |
|---|---|---|---|---|
| Односторонний T-24h | Игнор или отмена по телефону оставляют час заблокированным; утечка остаётся в зоне ~30% | Нет. Лист ожидания свободный слот не видит | Ресепшен всё равно звонит; многие «подтверждённые» всё равно не приходят | Нет |
| Двусторонний T-24h + T-2h + запись в PMS | Подтверждение / перенос / отмена попадают в PMS; противоречивый T-2h не уходит | Слот освобождается на доске. Его ещё никто не предложил | Звонки падают для тех, кто уже нажал «Подтвердить» | Нет. Три кнопки в логике ДА/НЕТ |
| Двусторонний + лист ожидания | Та же запись в PMS, затем на кресло может сесть замена | Заявление вендора: меньше 3 минут. Инженерный паттерн: каскад ДА/НЕТ на 15 минут. Нет независимого исследования на 2--4 врачах | Минимум простоя кресла, если каскад реально срабатывает | Нет |
Односторонние напоминания без пути ответа ещё и выглядят как массовая рассылка для серверных антиспам-фильтров WhatsApp. Интерактивное подтверждение и перенос дают переписке ответ. На только что подключённом номере наращивайте объём постепенно. Более 3 000 активных клиентов ежедневно используют Whapi.Cloud в продакшене; безопасный паттерн — живой разговор с путём ответа. Следуйте руководству Whapi.Cloud по защите аккаунта от блокировок, когда подключаете номер клиники.
Рабочий ритм: подтверждение записи, T-24h и T-2h
Подтверждение записи, T-24h и T-2h — обязательный минимум. У каждого касания одна задача. Пропускайте касание, чья задача уже выполнена.
Сообщение о записи фиксирует согласие и сохраняет путь ответа. У T-24h ещё есть часы, чтобы заполнить отмену. T-2h ловит тех, кто так и не нажал «Подтвердить». Если T-24h уже подтверждён — T-2h не отправляйте. Записи в тот же день пропускают T-24h. Первичные визиты и процедурные слоты оставляют оба таймера. Повторные приёмы, подтверждённые при записи, могут обойтись только T-2h.
Нативные напоминания PMS часто идут по email или SMS. WhatsApp садится сверху как webhook поверх того же календаря. Часы живут в вашей очереди задач. Перед каждой отправкой проверяйте статус.
Когда схема T-24h и T-2h ломается
Ритм ломается, когда T-2h уходит уже после того, как приём перенесли.
На практике команды без проверки статуса шлют T-2h на слот, который уже сдвинули в 09:15. Пациент перенёс утром. Задача T-2h встала вчера на 10:00. В 08:00 пинг всё равно уходит со старым временем. Отправляйте только пока статус ещё scheduled.
У WhatsApp нет нативного типа «приглашение в календарь», поэтому очередь владеет часами. Телефонное дерево делает неявку проще, чем перенос. Кнопки T-24h должны быть проще этого дерева, иначе люди игнорируют и то и другое — а гигиенист сидит без работы 60--90 минут после отмены в тот же день.
Двустороннее подтверждение без чат-бота для пациентов
Ответы ДА/НЕТ подтверждают или освобождают слот без чат-бота. Трёх кнопок достаточно. Чат-бот для пациентов — лишний продукт, который вам не нужен.
Мы не разбираем запуск чат-бота, замену PMS и официальный онбординг WhatsApp. Это руководство заканчивается на напоминании, ответе, записи в PMS и листе ожидания.
Отправляйте дату, время и название клиники. Никогда не отправляйте диагнозы и карты. Для продуктов WhatsApp нет пути BAA. Сквозное шифрование не равно программе HIPAA. PHI оставляйте в карте. В пинг — только логистику визита.
POST https://gate.whapi.cloud/messages/interactive с обязательными полями to (телефон или Chat ID), type (button), body (объект с text) и action (с buttons). У каждой кнопки type: quick_reply, title и id. WhatsApp допускает до трёх. Сопоставьте id с confirm:{appointmentId}, reschedule:{appointmentId} и cancel:{appointmentId}. Отображение кнопок зависит от обновлений клиента WhatsApp; сверьтесь с актуальными заметками о статусе кнопок, прежде чем считать, что каждый аппарат их покажет. Запасной путь — POST /messages/text с обязательными to и body (строка), затем разбор YES / NO / CANCEL во входящем webhook. Готовая форма запроса — в инструкции Whapi.Cloud отправка сообщения с кнопками.
Зафиксируйте согласие до первого исходящего. Подтверждение записи — правильный момент. Храните opt-in в карточке пациента. Не кладите его в тело сообщения.
// POST https://gate.whapi.cloud/messages/interactive
const res = await fetch('https://gate.whapi.cloud/messages/interactive', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WHAPI_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: patientChatId,
type: 'button',
body: { text: 'Tue 19 Aug, 10:00, North Clinic. Confirm, reschedule, or cancel.' },
action: {
buttons: [
{ type: 'quick_reply', title: 'Confirm', id: 'confirm:' + appointmentId },
{ type: 'quick_reply', title: 'Reschedule', id: 'reschedule:' + appointmentId },
{ type: 'quick_reply', title: 'Cancel', id: 'cancel:' + appointmentId }
]
}
})
});
// if you skip the status === scheduled guard before this POST, T-2h still fires after a 09:15 reschedule and the patient gets two times
| Тип визита | Подтверждение записи | T-24h | T-2h |
|---|---|---|---|
| Первичный пациент | Да, с согласием | Да | Да, если T-24h ещё не подтверждён |
| Повторный приём | Да | По желанию, если уже подтверждено | Да |
| Процедура | Да | Да | Да. Дорогой слот |
| В тот же день | Да | Пропустить | Да, если ещё есть время заполнить |
Какие напоминания нельзя отправлять
Не шлите напоминания, если запись подтверждена, отменена или пациент отказался от рассылки.
Не отправляйте T-2h после «Подтвердить» на T-24h. Не шлите ничего, если статус уже не scheduled. После opt-out останавливайте исходящие. Дедуплицируйте ключом идемпотентности из appointment_id плюс имени касания — чтобы повтор задачи не отправил пинг дважды.
Отменённая запись, которая всё равно получает T-2h, — так клиники учат пациентов игнорировать номер. Ставьте защиту на задачу перед отправкой. Затем снимайте очередь касаний, когда запись в PMS пришла.
Час возвращается, только когда слот заполнен
После записи отмены в PMS предложите слот листу ожидания. Напоминание, которое освободило час, всё равно оставляет его пустым, пока кто-то не сядет.
Отмена в тот же день оставляет гигиениста без работы. Без заполнения с листа ожидания кресло простаивает 60--90 минут. Материалы вендора обещают заполнение меньше чем за 3 минуты. Типичный инженерный паттерн — каскад ДА/НЕТ на 15 минут вниз по пулу листа. Независимого замера времени заполнения в клинике на 2--4 врачах нет, поэтому считайте эти цифры диапазонами вендора и инженерии.
Сначала запишите отмену или перенос в PMS. Затем выберите следующего пациента из листа, который подходит под слот (тип визита, врач, длительность). Отправьте ту же интерактивную форму: взять слот или отказаться. Если отказ — переходите к следующему имени, пока окно ещё открыто. Не предлагайте слот, который всё ещё помечен как занятый. Так получают двойную запись.
Считайте время заполнения. Доля неявок без времени заполнения — косметика: вы отменили «призрака» и всё равно заплатили врачу за простой.
Что должен отдавать планировщик и что WhatsApp пишет обратно
Отмена без записи в календарь оставляет час врача заблокированным. WhatsApp — путь ответа. PMS остаётся системой учёта.
Самый частый паттерн, который мы видим: ответ «отменить» так и не доходит до календаря. Для интегратора контракт такой: события на вход, запись статуса на выход, идемпотентные задачи. Смотрите HTTP-поверхность в документации Whapi.Cloud API, прежде чем изобретать второй календарь.
- PMS отдаёт
appointment.created,appointment.updatedиappointment.cancelledс id записи, телефоном пациента, временем старта, типом визита и текущим статусом. WhatsApp не заменяет HMS. - Очередь задач хранит ключ идемпотентности (
appointment_id+ имя касания) и запускает T-24h / T-2h только пока статусscheduled. - POST
/messages/interactive(или запасной POST/messages/text) с подключённого номера клиники. - PATCH
https://gate.whapi.cloud/settingsс массивомwebhooks. У каждого элемента нуженurl. Беритеeventsиз GET/settings/events, а не угадывайте имена. POST/settings/webhook_testс обязательнымиtype,urlиmodeдо первого боевого напоминания. - На входящем сообщении сопоставьте
idкнопки или текст YES/NO/CANCEL с подтверждением, переносом или отменой. Дубликаты того жеidигнорируйте. - Запишите это состояние обратно в PMS. Удалите или завершите очередь T-2h, когда пришло подтверждение.
- Если запись — отмена, запустите предложение листу ожидания до начала приёма. Если перенос — отдайте новый
appointment.createdи поставьте свежую пару касаний.
Если не хотите свой обработчик, нативные коннекторы Whapi.Cloud для Make и n8n подписываются на тот же входящий webhook и патчат PMS. Контракт не меняется. Повтор webhook без ключа идемпотентности — так пациенты с листа ожидания получают двойную запись.
Можно ли слать напоминания с номера клиники, который уже есть у пациентов?
Шлите напоминания с того WhatsApp-номера, который пациенты уже сохранили. Новый отправитель выглядит как незнакомец.
Личный телефон ресепшен — отвергнутый путь: тред умирает, когда сотрудник уходит, и ничего не пишется обратно. В официальном WhatsApp Business API отправитель WABA — это новый бизнес-номер с одобренными исходящими шаблонами. В Whapi.Cloud вы сканируете QR-код и подключаете номер клиники, который пациенты уже сохранили: шлюз использует web-session сокеты существующего аккаунта WhatsApp.
Бесплатного тарифа хватает, чтобы проверить скан и несколько интерактивных отправок. Этот номер уже есть в контактах. Держите приложение телефона и API на одной линии, чтобы ресепшен по-прежнему видел переписку.
Сколько на самом деле стоит поток напоминаний
Экономика пустого кресла перекрывает стоимость объёма напоминаний на любом слоте специальности.
Считайте сообщения, чтобы финансы не удивлялись. Оценивайте возвращённые часы на доске. Цифры ниже — иллюстрация.
| Записей в день | Касания | Сообщ. / 22 дня | Official utility (иллюстрация) | Фикс за номер |
|---|---|---|---|---|
| 10 | 2 | 440 | ≈ $1.76 | Подписка / номер / месяц |
| 30 | 2 | 1,320 | ≈ $5.28 | Подписка / номер / месяц |
| 30 | 3 | 1,980 | ≈ $7.92 | Подписка / номер / месяц |
В официальном WhatsApp Business API US utility тарифицируется за разговор (иллюстрация $0.004/сообщение). В Whapi.Cloud фиксированная ставка за подключённый номер в месяц означает, что объём напоминаний не добавляет строку за разговор.
Двухнедельный пилот, который может опровергнуть историю вендора про неявки
Двухнедельный пилот считает возвращённые часы кресла. Количество сообщений кейс не решает.
Диапазон вендора с 31% до 10% пришёл из шести месяцев и более 8 400 записей. Две недели на одном кресле эту кривую не воспроизведут. Две недели проверят связку: записались ли подтверждение, перенос и отмена — и предложили ли свободный слот вовремя? Сканируйте QR на номере клиники и прогоните цикл на небольшой выборке. Песочница бесплатна постоянно: 5 активных разговоров в месяц и 150 сообщений в день. Это проверка на одном кресле. Нагрузочный тест на 30 записей в день требует платного номера.
Оценивайте выборку по возвращённым часам кресла. Для каждой отменённой или перенесённой записи фиксируйте: дошла ли запись в PMS, ушло ли предложение с листа ожидания до исходного времени старта, сел ли кто-то. Сравнивайте долю неявок с предыдущими двумя неделями, но скачок на нескольких днях считайте шумом. Минуты звонков ресепшен — вторичная строка.
Владельцы клиник и интеграторы, которые проверяют этот кейс WhatsApp API на бесплатном тарифе, должны уйти либо с возвращёнными часами на небольшой выборке, либо с ясным провалом, если запись в PMS так и не дошла. Односторонний T-24h по-прежнему теряет час. Возврат пустого кресла — это кнопки, запись в календарь и заполнение листа ожидания. Если после отмен в WhatsApp доска всё ещё показывает занятых «призраков», не добавляйте касания — чините запись в PMS. Подключите номер клиники, отправьте три кнопки, запишите ответ в PMS и предложите освободившийся слот.









