送迎運行管理システムを「GAS+Web」で作る(第1弾)— 当日電話受付の即時登録まで
コスト0円で始める業務改善の実例として以前ご紹介した
・GASで実現した送迎予約管理システムの実例
・送迎予約管理システムのWebアプリ化
のノウハウを踏まえ、現在は Google Apps Script(GAS)+Webアプリ で、より一般化した「送迎運行管理システム」を開発しています。
本記事は 開発レポート(第一弾) として、まずは「当日、電話で受けた内容を即時登録」するところまでの到達点をまとめたものです。
1. 目指す機能(ロードマップ)
当日電話受付の即時登録
受付画面で検索(名前/ふりがな/電話番号など)
「追加/キャンセル/便変更/乗り場変更」を即時反映
ドライバーへの即時共有
GAS側で「該当便の最新予約一覧」を再計算
ドライバー画面(タブレット)は 手動更新ボタン で最新化
ドライバーの既読・確認フロー
「確認しました」ボタン → 配車テーブルに OK済/OK時刻 を記録
管理ダッシュボードで確認状況を可視化
出発直前アラート
出発時刻 − X分(例:10分)時点で 未確認 の便を赤表示
「未確認リスト」に集約して注意喚起
最終乗車リストの自動整形
便ごとに「確定版 乗車リスト」を印刷
乗車地順、特記事項(介助の要否など)を自動付与
運行記録・検索・エクスポート
「誰が/どこから/どこへ/どの便で」を日次で保存
後日のクレーム対応/監査に備え、画面から検索・出力
2. 今回の到達点:① 当日電話受付の即時登録
受付オペレーションの最短化を目的に、次の体験を実装しました。
受付画面から 氏名/ひらがな/電話番号 で高速検索
検索結果からワンクリックで 追加・キャンセル・便変更・乗り場変更
更新は即座にバックエンドへ反映、ドライバー側は手動更新で追従
現在、顧客500件 のデータを登録した状態でテスト中
この規模でも 体感は“瞬時”の検索 を維持できています
3. データベース構成
※) テストデータは架空のものです






4. 体感速度を上げた鍵:起動時キャッシュ戦略
初期の試作(動画1)では、フロント→バックエンドへの都度リクエスト待ち が多発し、UIの待ち時間が目立ちました。
そこで、過去の案件で得た知見を適用し、「起動時に必要データをまとめて読み込み、キャッシュから配信」 する方式に変更(動画2)。
Before:操作のたびにスプレッドシートへアクセス → 待ちが蓄積
After:アプリ起動直後に必要データを一括ロード→キャッシュに格納
以降、画面側はキャッシュから即時読込(書き込み時のみバックエンドでスプレッドシートにアクセスするので時間がかかる)
この切り替えにより、Web側の待ち時間が体感でほぼゼロ になりました。GAS+スプレッドシート構成でも、設計を工夫すれば十分“サクサク”にできます。
5. 開発スタイルとツール構成
AI主導+人のレビュー
生成コードを都度確認 + 修正するペアプロ型
ツールは Claude Code と Codex CLI を併用、コピーは clasp
当初は Claude Code を中心に使用
課金制限で一定時間後に使えなくなる場面が増えたため、最近は Codex CLI も課金して併用
clasp push でGAS側にコピー&デプロイして、すぐ試す を徹底
改版履歴:15回/デプロイ:80回 と短サイクルで改善を繰り返す
ツールの切り替え理由:Claude Code は連続使用 2.5時間で利用上限に達するケースが多く、作業が止まるのを回避するため Codex CLI を補助線として活用
6. 動画(下記のリンクから動画が見れます)
都度通信により待ち時間が発生している様子がわかります
画面遷移や検索、登録反映が軽快に動作(待ちがほぼ解消)
※) 個人情報はテストデータで検証しています。
7. 次回以降の予定
ドライバーへのメール送信とOK返信の組み込み
8. まとめ
GAS+WEB でも、設計とキャッシュ戦略しだいで “待たせないUI” を実現可能
AI生成+人のレビュー+小刻みデプロイ
第一弾では 「当日電話受付の即時登録」 を実用レベルまで到達
次回は ドライバー共有と確認フロー を中心に仕上げます
