「設定が終わったので、テストしてみてください」と伝えた。オーナーが予約フォームから試し予約を入れた。数秒後、スマートフォンにLINEの通知が来た。
「来た!」という反応が返ってきた。
この「来た」という体験は、システムが完成したということより大きい。「自分のLINEに、自分が作ったフォームからの通知が来る」という体験は、口で説明するよりもずっとリアルにシステムの価値を伝える。
通知は3種類、宛先は2パターン
予約システムでは通知を3種類用意した。
予約確認はお客さんとオーナー(オーナー)の両方に送る。前日リマインドはお客さんのみ。キャンセル通知は将来の実装として後回しにした。
お客さんへの通知とオーナーへの通知は、同じLINE Messaging APIのpushMessageを使うが、内容が違う。お客さんには「予約できた安心」を、オーナーには「誰が・いつ・何のために来るか」を届ける。
1行ずつ考えた通知文
お客さんへの予約確認メッセージを書くとき、「ビジネスメールを書いてはいけない」と自分に言い聞かせた。
「この度はご予約いただき誠にありがとうございます」から始まるメッセージは、LINEの画面に浮かぶと浮いて見える。LINEはカジュアルな場所だ。
✅ 予約が確定しました!
📌 片づけレッスン
📅 2026/06/15(月) 10:00
👤 田中花子 様
ご質問はこちらのチャットでどうぞ。
当日お会いできることを楽しみにしています。
最初に「確定した」という事実。次に「何のサービスがいつあるか」。最後に「迷ったら連絡していい」という安心感。絵文字は文字列の中で視覚的なランドマークになる。
オーナー向けにはお客さんの連絡先も添える。
📩 新規予約が入りました!
📌 片づけレッスン
📅 2026/06/15(月) 10:00
👤 田中花子
📞 090-XXXX-XXXX
✉️ hanako@example.com
予約ID: abc123
📅 カレンダーに追加:
https://yoyaku.example.jp/gcal/abc123
カレンダー追加リンクはオーナー通知だけに含めた。これについては別の記事で詳しく書く。
前日リマインドをGASのタイムトリガーで実装
予約日の前日に「明日です」というリマインドを送る機能は、GASのタイムベーストリガーで実装した。
毎日午前9時に実行される関数が、翌日分の予約を全件取得してリマインドを送信する。
function sendReminders() {
const tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
tomorrow.setHours(0, 0, 0, 0);
const rows = SpreadsheetApp.openById(SHEET_ID)
.getSheetByName('slots').getDataRange().getValues();
rows.slice(1).forEach(r => {
if (r[4] !== 'booked') return;
const slotDate = new Date(r[2]);
slotDate.setHours(0, 0, 0, 0);
if (slotDate.getTime() !== tomorrow.getTime()) return;
const lineUserId = r[10];
if (!lineUserId) return;
pushMessage(lineUserId, `⏰ 明日の予約のご確認\n\n${r[2]} ${r[3]}\nのサービスです。\n\nご不明な点はこちらのチャットでどうぞ。`);
});
}
このトリガーはEC2が止まっていても動く。GASのサーバーはGoogleが管理しているからだ。「毎日動き続ける定期処理」をゼロコストで持てることが、GASの大きな強みの一つだ。
「自分のLINEを自分で友だち追加」という盲点
実装中に一つ気づいたことがある。LINE Messaging APIのpushMessageは、「LINE公式アカウントと友だちになっているユーザー」にしか送れない。
オーナーが自分自身のLINE公式アカウントを友だち追加しているかどうか、確認が必要だった。自分のアカウントを自分で友だち追加することは普通やらない。
案の定、友だち追加していなかった。QRコードを読み込んでもらい、友だち追加してもらった上でテストした。
技術的な問題ではなく、オペレーション上の確認事項だ。しかしこれを見落とすと「オーナーへの通知だけが来ない」という謎のバグとして現れる。設定時のチェックリストに入れておいた。
通知は「システムの気配」
予約システムを使い続けてもらうには、存在を感じさせ続けることが必要だ。
前日リマインドが届く。その瞬間、お客さんは「ああ、明日だ」と思う。オーナーは「明日△時に◯◯さんが来る」と思う。スプレッドシートを開かなくても、両者の頭の中でスケジュールが更新される。
通知は情報を届けるというより、「このシステムは今日も動いている」という証拠を届ける。機能の一つではなく、信頼関係を育てる手段だと思っている。
*次回は「LP設計——コーチング系サービスのトップページに何を置くか」*
*シンプルシステム株式会社 代表 伊藤勝彦*