送迎運行管理システムを「GAS+Web」で作る(第2弾)ドライバーへのメール送信と「OK」返信連携まで
1. 前回までの確認
このシリーズでは、「送迎バス・送迎車の運行/予約管理システム」を
GAS(Google Apps Script)+Webアプリ+スプレッドシートで作っていく過程をまとめています。
前回の第1弾では、下記まで作成しました。
当日、電話で受けた内容をその場でWeb画面から登録し、
その情報をリアルタイムに「当日の便データ」に反映する
電話受付オペレーターが
名前・ふりがな・電話番号などで検索
「追加」の内容を登録
といった一連の作業を、紙や口頭ではなく「GAS+Web」で行えるようにした段階です。
2. 今回の到達点:メール送信と「OK」返信の仕組み
第2弾となる今回は、登録した内容を ドライバー側とつなぐ部分 を実装しました。
今回のゴールはこの2つです
受付画面でデータを登録したタイミングで、該当する車両に搭載しているタブレット宛てにメールを自動送信
ドライバーがメール本文の「OK」ボタンを押すと、スプレッドシートの「変更ログ」シートに『OK』と『返信時刻』が自動記録される
これにより、
電話受付 → システム登録 → ドライバーのタブレットに通知 → ドライバーがOK → ログに時刻付きで記録
という 一連の流れが自動化 されます。
3. 今回変更・追加したデータベース(シート)
ドライバーとの連携を行うため、スプレッドシート側の「マスタ類」を見直しました。
変更および追加したシートは次の3つです。
便マスタ(変更)
便ごとの基本情報を持つマスタ
「どの車両で運行するか」を紐づけるために「車両ID」 を持つように変更
車両マスタ(新規追加 : 各車両ごとの情報を管理)
車両ID(車両を紐づけ)
車両名(A号車、B号車 など)
タブレットメール(車載タブレットで受け取るメールアドレス)
ドライバーID(担当ドライバーを紐づけ)
ドライバーマスタ(新規追加 : ドライバーの基本情報を管理)
ドライバーID
氏名(例:佐藤 健太)
電話番号
メールアドレス
Excelやスプレッドシートでよくある、
「全部ひとつの表に詰め込まず、マスタを分けてIDでつなぐ」
という設計にしたことで、後から車両やドライバーを差し替えるのも簡単になります。
変更・追加したテーブルを下記に示します。
※) 下記データはテスト用に作成したもので実在するものではありません



4. データ連携の考え方
今回のポイントは、マスタ同士の 「つながり」 です。
シート間は次のように関連付けています。
「便マスタ:車両ID」→ 「車両マスタ:車両ID & タブレットメール」
「車両マスタ:ドライバーID」→ 「ドライバーマスタ:氏名・電話番号」
つまり、
受付画面で「便」を選んで変更内容を登録
その「便」がどの車両IDかを 便マスタ から取得
車両IDをもとに、車両マスタ からタブレット用「メールアドレス」を取得
車両マスタに紐づいたドライバーIDから、ドライバーマスタ で「氏名・電話番号」も取得
という流れです。
この設計により、次のことが可能になります。
入力した「便」に紐づく車両のタブレットへ、ピンポイントでメールを送れる
同時に、ログ用には「車両名」「ドライバー名」「メールアドレス」なども保存できる
「誰に」「どの車に」「どの便の変更を」伝えたのかが、
人の記憶に頼らずに、すべてデータで追える ようになります。
5. メール送信 ➡︎ OK返信 ➡︎ログ反映の流れ
では、実際の動きをもう少し具体的に書いてみます。
① 電話受付で変更内容を登録
受付オペレーターがWeb画面で「便」と内容を登録
登録後、GAS側で「該当便の車両ID → 車両マスタ → タブレットメール」を特定
② 車載タブレット宛てにメールを自動送信
車両マスタに登録されている「タブレットメール」宛てに
自動的にメールを送信します
メール本文には、
変更内容の概要
対象便・対象乗客の情報
「OK」ボタン(実際にはリンク)が含まれています
③ ドライバーがメールの「OK」ボタンを押す
ドライバーはタブレットのメールを開き、内容を確認
問題なければ、本文中の「OK」ボタンをタップ
この「OK」ボタンは、裏側では
GASのWebアプリ(またはdoGet/doPost)へのリンクになっており、
パラメータとして「送信ID」などを渡すようにしています。
④ シート「変更ログ」への書き込み
ドライバーが「OK」ボタンを押すと、GASが起動し、スプレッドシートの 「変更ログ」シート に、以下の情報(OK返信時に記録)を書き込みます。
(そのほかの項目はメール送信時に記録済です)
車両名 例:A号車(T)
ドライバー名 例:佐藤 健太
Email 例:tubyoto394@ichigo.me
送信ID 例:SEND-R_1114-001-20251113010749284
返信 例:OK (OK返信時に記録)
返信時刻 例:2025/11/13 9:10:12 (OK返信時に記録)
もともと「変更ログ」シート自体は以前から用意してありましたが、
今回の第2弾で、
ドライバーの「OK」操作が、そのままログとして自動記録される
ところまで一気につながりました。
現場目線で言えば、
「ちゃんと伝わったか?」
「いつ確認してくれたか?」
「誰がOKしたのか?」
が、後から見てもすべてわかる 状態になった、ということです。
6. テストデータ生成ツール & メールサービス
本番のアドレスや本当の利用者を使って試す前に、
テストしやすい環境をつくるため、今回は次のサービスを利用しています。
個人情報テストデータ生成ツール
https://testdata.userlocal.jp/
架空の氏名・住所・電話番号などを一括生成できるサービスです。
スプレッドシート用のダミーデータを作るのにとても便利です。
捨てメアド(多機能フリーメール)
https://m.kuku.lu/ja.php
登録不要で使えるフリーメールサービス
メールアドレスをいくつでも同時に保有できる
有効期限なし
今回のように、
車両ごとにタブレット用メールアドレスを複数用意したい
でも本番のアドレスはまだ決まっていない
といった場面で、「とりあえずテスト用メール」を用意するのにとても役立ちます。
7. 動画デモについて
実際の動きは、記事だけだとイメージしづらい部分もあると思うので、
今回の内容は 動画でも簡単なデモ を用意しています。
動画1(動画と画像で確認できます)
電話受付 → 追加登録 → ドライバーにメール → 「OK」返信 → 変更ログ反映までの流れを一通り確認できる内容です。


8. 次回の予定
今回は「追加」のケースを中心に紹介しましたが、
実際の現場では、
キャンセル
便変更
乗り場変更
など、さまざまなパターンの変更 が発生します。
次回は、
「追加」以外の機能(キャンセル・便変更・乗り場変更)を
どのように同じ仕組みの中に組み込んでいるか
について、画面イメージやシート構成も交えながら紹介していく予定です。
9. まとめ
第2弾のポイントをあらためて整理すると、次の3つです。
車両&ドライバー情報のマスタ化・表示
便マスタ/車両マスタ/ドライバーマスタを分けて設計し、IDでつなぐことで柔軟な運用が可能に
メール送信の実装(GAS+スプレッドシート連携)
受付画面での登録をトリガーに、該当車両のタブレットメールへ自動で通知
「OK」返信の実装とログへの自動記録
ドライバーがメール内の「OK」ボタンを押すだけで、変更ログシートに「OK、返信時刻」が残る
紙や口頭、個人の記憶に頼っていた部分を、
できるだけ 「データ」と「仕組み」 に置き換えていく。
その一歩として、今回は「ドライバーへの連絡」と「OK確認」の部分を
GAS+Webアプリで形にした、という位置づけになります。
次回はさらに一歩進めて、
より現場に近い「キャンセル・便変更・乗り場変更」の運用に踏み込んでいきます。
