Пропущенные встречи обходятся сервисным компаниям в тысячи долларов ежегодно. Простое SMS-напоминание за день до встречи может сократить количество неявок на 30-50%. Но настройка Twilio для этой цели кажется избыточной — и затраты накапливаются.

Вот как создать предельно простую систему напоминаний о встречах, используя ваш собственный телефон в качестве SMS-шлюза.

Почему бы просто не использовать Twilio?

Для небольшой клиники или салона, отправляющих 200 напоминаний в месяц, расходы на Twilio составляют:

  • Сообщения: 200 × $0.0079 = $1.58
  • Надбавки оператора: 200 × $0.003 = $0.60
  • Номер телефона: $1.15/месяц
  • Регистрация 10DLC: $2/месяц + $15 единоразово
  • Время на настройку: 1-2 часа (SDK, верификация, регистрация)

Итого: ~$5.33/месяц + головная боль с настройкой. А если регистрация будет отклонена (что часто бывает у малого бизнеса), вы окажетесь в тупике.

С MySMSGate: 200 × $0.03 = $6.00/месяц. Без регистрации, без головной боли с настройкой, работает за 5 минут. Ваши пациенты видят ваш реальный номер телефона — а не случайный номер Twilio.

Вариант 1: Google Таблицы + Apps Script (без кода)

Самый простой подход — идеален, если вы уже ведете учет встреч в электронной таблице.

Настройте таблицу

Создайте Google Таблицу со следующими столбцами:

А: Имя пациентаБ: ТелефонВ: ДатаГ: ВремяД: Напомнено
Sarah Johnson+120255512342026-03-103:00 PM
Mike Chen+120255556782026-03-104:30 PM

Добавьте скрипт

Перейдите в Расширения → Apps Script, вставьте этот код:

function sendReminders() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var tomorrow = new Date();
  tomorrow.setDate(tomorrow.getDate() + 1);
  var tomorrowStr = Utilities.formatDate(tomorrow, "GMT", "yyyy-MM-dd");

  for (var i = 1; i < data.length; i++) {
    var name = data[i][0];
    var phone = data[i][1];
    var date = Utilities.formatDate(new Date(data[i][2]), "GMT", "yyyy-MM-dd");
    var time = data[i][3];
    var reminded = data[i][4];

    if (date === tomorrowStr && !reminded) {
      var message = "Hi " + name + ", reminder: your appointment is tomorrow at " + time + ". Reply YES to confirm or call to reschedule.";

      UrlFetchApp.fetch("https://mysmsgate.net/api/v1/send", {
        method: "post",
        headers: {
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json"
        },
        payload: JSON.stringify({to: phone, message: message})
      });

      sheet.getRange(i + 1, 5).setValue("Yes");
    }
  }
}

Запланируйте выполнение

В Apps Script перейдите в Triggers → Add Trigger:

  • Function: sendReminders
  • Event: Time-driven → Day timer → 9am–10am

Готово. Каждое утро скрипт проверяет записи на завтра и автоматически отправляет напоминания.

Вариант 2: Скрипт Python (для разработчиков)

Если у вас есть система бронирования с базой данных:

import requests
import sqlite3
from datetime import date, timedelta

API_KEY = "YOUR_API_KEY"
tomorrow = date.today() + timedelta(days=1)

db = sqlite3.connect("bookings.db")
appointments = db.execute(
    "SELECT name, phone, time FROM appointments WHERE date = ? AND reminded = 0",
    (tomorrow.isoformat(),)
).fetchall()

for name, phone, time in appointments:
    message = f"Hi {name}, reminder: your appointment is tomorrow at {time}. Reply YES to confirm."

    response = requests.post(
        "https://mysmsgate.net/api/v1/send",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"to": phone, "message": message}
    )

    if response.json().get("success"):
        db.execute("UPDATE appointments SET reminded = 1 WHERE phone = ? AND date = ?",
                   (phone, tomorrow.isoformat()))

db.commit()

Запустите с помощью cron: 0 9 * * * python3 /path/to/reminders.py

Вариант 3: Zapier / Make (без кода)

Если вы используете Calendly, Google Calendar или любой другой инструмент бронирования с интеграцией Zapier:

  1. Триггер: «Новое событие в Google Календаре» (или Calendly, Acuity и т.д.)
  2. Действие: Задержка до 1 дня до события
  3. Действие: Webhooks by Zapier → POST на https://mysmsgate.net/api/v1/send

Установите заголовки: Authorization: Bearer YOUR_API_KEY

Установите тело запроса: {"to": "{{phone}}", "message": "Hi {{name}}, reminder: your appointment is tomorrow at {{time}}."}

Советы по эффективным напоминаниям

  • Отправляйте за 24 часа — это дает пациентам время перенести встречу
  • Указывайте время — «завтра в 15:00» лучше, чем просто «завтра»
  • Запрашивайте подтверждение — «Ответьте ДА, чтобы подтвердить» повышает вовлеченность
  • Сохраняйте краткость — 1 SMS-сегмент (160 символов) идеален
  • Используйте название вашей компании — пациенты узнают ваш номер, потому что это ВАШ номер

Начните бесплатно — настройте напоминания менее чем за 10 минут.