見出し画像

送迎運行管理システムを「GAS+Web」で作る(第2弾)ドライバーへのメール送信と「OK」返信連携まで


1. 前回までの確認

このシリーズでは、「送迎バス・送迎車の運行/予約管理システム」を
GAS(Google Apps Script)+Webアプリスプレッドシートで作っていく過程をまとめています。

前回の第1弾では、下記まで作成しました。

当日、電話で受けた内容をその場でWeb画面から登録し、
その情報をリアルタイムに「当日の便データ」に反映する

電話受付オペレーターが

  • 名前・ふりがな・電話番号などで検索

  • 「追加」の内容を登録

といった一連の作業を、紙や口頭ではなく「GAS+Web」で行えるようにした段階です。


2. 今回の到達点:メール送信と「OK」返信の仕組み

第2弾となる今回は、登録した内容を ドライバー側とつなぐ部分 を実装しました。

今回のゴールはこの2つです

  • 受付画面でデータを登録したタイミングで、該当する車両に搭載しているタブレット宛てにメールを自動送信

  • ドライバーがメール本文の「OK」ボタンを押すと、スプレッドシートの「変更ログ」シートに『OK』と『返信時刻』が自動記録される

これにより、

電話受付 → システム登録 → ドライバーのタブレットに通知 → ドライバーがOK → ログに時刻付きで記録

という 一連の流れが自動化 されます。


3. 今回変更・追加したデータベース(シート)

ドライバーとの連携を行うため、スプレッドシート側の「マスタ類」を見直しました。
変更および追加したシートは次の3つです。

  • 便マスタ(変更)

    1.  便ごとの基本情報を持つマスタ

    2. 「どの車両で運行するか」を紐づけるために「車両ID」 を持つように変更

  • 車両マスタ(新規追加 : 各車両ごとの情報を管理)

    1. 車両ID(車両を紐づけ)

    2. 車両名(A号車、B号車 など)

    3. タブレットメール(車載タブレットで受け取るメールアドレス)

    4. ドライバーID(担当ドライバーを紐づけ)

  • ドライバーマスタ(新規追加 : ドライバーの基本情報を管理)

    1. ドライバーID

    2. 氏名(例:佐藤 健太)

    3. 電話番号

    4. メールアドレス

Excelやスプレッドシートでよくある、

「全部ひとつの表に詰め込まず、マスタを分けてIDでつなぐ」

という設計にしたことで、後から車両やドライバーを差し替えるのも簡単になります。

変更・追加したテーブルを下記に示します。
※) 下記データはテスト用に作成したもので実在するものではありません

図 1 便マスタ(変更)
図 2 車両マスタ(追加)
図 3 ドライバーマスタ(追加)

4. データ連携の考え方

今回のポイントは、マスタ同士の 「つながり」 です。
シート間は次のように関連付けています。

  • 「便マスタ:車両ID」→ 「車両マスタ:車両ID & タブレットメール」

  • 「車両マスタ:ドライバーID」→ 「ドライバーマスタ:氏名・電話番号」

つまり、

  1. 受付画面で「便」を選んで変更内容を登録

  2. その「便」がどの車両IDかを 便マスタ から取得

  3. 車両IDをもとに、車両マスタ からタブレット用「メールアドレス」を取得

  4. 車両マスタに紐づいたドライバーIDから、ドライバーマスタ で「氏名・電話番号」も取得

という流れです。

この設計により、次のことが可能になります。

  • 入力した「便」に紐づく車両のタブレットへ、ピンポイントでメールを送れる

  • 同時に、ログ用には「車両名」「ドライバー名」「メールアドレス」なども保存できる

「誰に」「どの車に」「どの便の変更を」伝えたのかが、
人の記憶に頼らずに、すべてデータで追える ようになります。


5. メール送信 ➡︎ OK返信 ➡︎ログ反映の流れ

では、実際の動きをもう少し具体的に書いてみます。

① 電話受付で変更内容を登録

  • 受付オペレーターがWeb画面で「便」と内容を登録

  • 登録後、GAS側で「該当便の車両ID → 車両マスタ → タブレットメール」を特定

② 車載タブレット宛てにメールを自動送信

  • 車両マスタに登録されている「タブレットメール」宛てに

    1. 自動的にメールを送信します

  • メール本文には、

    1. 変更内容の概要

    2. 対象便・対象乗客の情報

    3. 「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」返信 → 変更ログ反映までの流れを一通り確認できる内容です。

  (動画デモのリンク)

図4 送信されたメール
図 5 「OK返信」の記録



8. 次回の予定

今回は「追加」のケースを中心に紹介しましたが、
実際の現場では、

  • キャンセル

  • 便変更

  • 乗り場変更

など、さまざまなパターンの変更 が発生します。

次回は、

「追加」以外の機能(キャンセル・便変更・乗り場変更)を
どのように同じ仕組みの中に組み込んでいるか

について、画面イメージやシート構成も交えながら紹介していく予定です。


9. まとめ

第2弾のポイントをあらためて整理すると、次の3つです。

  • 車両&ドライバー情報のマスタ化・表示

    • 便マスタ/車両マスタ/ドライバーマスタを分けて設計し、IDでつなぐことで柔軟な運用が可能に

  • メール送信の実装(GAS+スプレッドシート連携)

    • 受付画面での登録をトリガーに、該当車両のタブレットメールへ自動で通知

  • 「OK」返信の実装とログへの自動記録

    • ドライバーがメール内の「OK」ボタンを押すだけで、変更ログシートに「OK、返信時刻」が残る

紙や口頭、個人の記憶に頼っていた部分を、
できるだけ 「データ」と「仕組み」 に置き換えていく。

その一歩として、今回は「ドライバーへの連絡」と「OK確認」の部分を
GAS+Webアプリで形にした、という位置づけになります。

次回はさらに一歩進めて、
より現場に近い「キャンセル・便変更・乗り場変更」の運用に踏み込んでいきます。

いいなと思ったら応援しよう!