错过的预约每年给服务行业带来数千美元的损失。提前一天发送一条简单的短信提醒可以将爽约率降低 30-50%。但为此设置 Twilio 感觉像是杀鸡用牛刀——而且费用会不断累积。
以下是如何使用您自己的手机作为短信网关,构建一个超级简单的预约提醒系统。
为什么不直接使用 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 | +12025551234 | 2026-03-10 | 3:00 PM | |
| Mike Chen | +12025555678 | 2026-03-10 | 4: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 点至 10 点
完成。每天早上,脚本都会检查第二天的预约并自动发送提醒。
选项 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 集成的预订工具:
- 触发器:“Google 日历中的新事件”(或 Calendly、Acuity 等)
- 操作:延迟至事件发生前 1 天
- 操作:Zapier 的 Webhooks → 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 小时发送 — 给患者重新安排时间的机会
- 包含具体时间 — “明天下午 3 点”比“明天”更好
- 请求确认 — “回复 YES 确认”可以提高互动率
- 保持简短 — 1 条短信(160 个字符)是理想选择
- 使用您的企业名称 — 患者会认出您的号码,因为那就是您的号码
免费开始 — 在 10 分钟内设置好提醒。
Comments (0)
Be the first to comment!