Пропущені зустрічі коштують сервісним компаніям тисячі доларів на рік. Просте 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 Таблицю з такими стовпцями:

A: Ім'я пацієнтаB: ТелефонC: ДатаD: ЧасE: Нагадано
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 перейдіть до Тригери → Додати тригер:

  • Функція: sendReminders
  • Подія: Залежить від часу → Таймер дня → 9:00–10:00

Готово. Щоранку скрипт перевіряє зустрічі на завтра та автоматично надсилає нагадування.

Варіант 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. Дія: Вебхуки від Zapier → POST на https://mysmsgate.net/api/v1/send

Встановіть заголовки: Authorization: Bearer YOUR_API_KEY

Встановіть тіло запиту: {"to": "{{phone}}", "message": "Привіт {{name}}, нагадування: ваша зустріч завтра о {{time}}."}

Поради для ефективних нагадувань

  • Надсилайте за 24 години до зустрічі — це дає пацієнтам час перенести її.
  • Вказуйте час — "завтра о 15:00" краще, ніж просто "завтра".
  • Просіть підтвердження — "Відповісти ТАК для підтвердження" підвищує залученість.
  • Будьте лаконічними — 1 SMS-сегмент (160 символів) ідеально.
  • Використовуйте назву вашої компанії — пацієнти впізнають ваш номер, тому що це ВАШ номер.

Почніть безкоштовно — налаштуйте нагадування менш ніж за 10 хвилин.