Nieobecności na wizytach kosztują firmy usługowe tysiące dolarów rocznie. Proste przypomnienie SMS wysłane dzień wcześniej może zmniejszyć liczbę nieobecności o 30-50%. Ale konfigurowanie do tego Twilio wydaje się przesadą — a koszty się kumulują.

Oto jak stworzyć niezwykle prosty system przypomnień o wizytach, używając własnego telefonu jako bramki SMS.

Dlaczego nie użyć po prostu Twilio?

Dla małej kliniki lub salonu wysyłającego 200 przypomnień miesięcznie, koszty Twilio to:

  • Wiadomości: 200 × $0.0079 = $1.58
  • Opłaty dodatkowe operatora: 200 × $0.003 = $0.60
  • Numer telefonu: $1.15/miesiąc
  • Rejestracja 10DLC: $2/miesiąc + $15 jednorazowo
  • Czas konfiguracji: 1-2 godziny (SDK, weryfikacja, rejestracja)

Całkowity koszt: ~5.33 $/miesiąc + ból głowy związany z konfiguracją. A jeśli rejestracja zostanie odrzucona (co jest częste w przypadku małych firm), utkniesz.

Z MySMSGate: 200 × $0.03 = $6.00/miesiąc. Bez rejestracji, bez bólu głowy związanego z konfiguracją, działa w 5 minut. Twoi pacjenci widzą Twój prawdziwy numer telefonu — a nie losowy numer Twilio.

Opcja 1: Arkusze Google + Apps Script (bez kodowania)

Najprostsze podejście — idealne, jeśli już śledzisz wizyty w arkuszu kalkulacyjnym.

Skonfiguruj swój arkusz

Stwórz Arkusz Google z kolumnami:

A: Imię pacjentaB: TelefonC: DataD: GodzinaE: Przypomniano
Sarah Johnson+120255512342026-03-103:00 PM
Mike Chen+120255556782026-03-104:30 PM

Dodaj skrypt

Przejdź do Rozszerzenia → Apps Script, wklej ten kod:

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");
    }
  }
}

Zaplanuj to

W Apps Script przejdź do Wyzwalacze → Dodaj wyzwalacz:

  • Funkcja: sendReminders
  • Zdarzenie: Oparte na czasie → Zegar dzienny → 9:00–10:00

Gotowe. Każdego ranka skrypt sprawdza wizyty na jutro i automatycznie wysyła przypomnienia.

Opcja 2: Skrypt Python (dla programistów)

Jeśli masz system rezerwacji z bazą danych:

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()

Uruchom z cronem: 0 9 * * * python3 /path/to/reminders.py

Opcja 3: Zapier / Make (bez kodowania)

Jeśli używasz Calendly, Kalendarza Google lub innego narzędzia do rezerwacji z integracją Zapier:

  1. Wyzwalacz: „Nowe wydarzenie w Kalendarzu Google” (lub Calendly, Acuity itp.)
  2. Akcja: Opóźnienie do 1 dnia przed wydarzeniem
  3. Akcja: Webhooki przez Zapier → POST do https://mysmsgate.net/api/v1/send

Ustaw nagłówki: Authorization: Bearer YOUR_API_KEY

Ustaw treść: {"to": "{{phone}}", "message": "Cześć {{name}}, przypomnienie: Twoja wizyta jest jutro o {{time}}."}

Wskazówki dotyczące skutecznych przypomnień

  • Wyślij 24 godziny wcześniej — daje pacjentom czas na przełożenie wizyty
  • Podaj godzinę — „jutro o 15:00” jest lepsze niż „jutro”
  • Poproś o potwierdzenie — „Odpowiedz TAK, aby potwierdzić” zwiększa zaangażowanie
  • Zachowaj krótkość — idealny jest 1 segment SMS (160 znaków)
  • Użyj nazwy swojej firmy — pacjenci rozpoznają Twój numer, ponieważ TO JEST Twój numer

Rozpocznij za darmo — skonfiguruj przypomnienia w mniej niż 10 minut.