「無料で予約システムを作りたいけれど、ダブルブッキングで謝罪メールを送る休日を過ごしたくない」
コストを抑えて予約受付を自動化したい小規模事業者や社内イベントの幹事の方にとって、Googleフォームは最初に思い浮かぶ選択肢ではないでしょうか。しかし、いざ運用を始めてみると、手作業での定員管理や予約枠の更新に追われ、現場は悲鳴を上げているはずです。
本記事では、GoogleフォームとGAS(Google Apps Script)を組み合わせて、定員設定や自動返信を備えた予約システムを自作する方法を解説します。同時に、無料ツールゆえに抱える構造的な弱点と、それを乗り越えてコア業務に集中するための実践的なアプローチも提示します。
この記事を読むことで、Googleフォームで予約システムを構築する具体的な手順と、専用ツールへ移行すべきタイミングの判断基準がわかります。
作業を始める前に、以下の環境と前提知識を確認しておきましょう。
アンケート収集を主目的とするGoogleフォームには、そもそも「在庫」という概念がありません。そのため、特定の時間枠が満席になったら自動で受付を停止するには、スプレッドシートとGASを用いた拡張カスタマイズが不可欠となります。
ここからは、実際にPCを使って予約システムを構築する手順を見ていきましょう。
まずは、予約の受け皿となるフォームとデータベースを準備します。

次に、フォームの送信をトリガーにして動くプログラム(GAS)を設定します。スプレッドシートのメニューから「拡張機能」>「Apps Script」を開き、以下のロジックを実装します。
実務的には、以下の3つの処理を順番に行うスクリプトを記述します。
ここで最も重要なのが、LockService**(排他制御)の導入です。
function onFormSubmit(e) {
// 排他制御の開始(ダブルブッキング防止)
var lock = LockService.getScriptLock();
try {
lock.waitLock(10000); // 10秒間ロックを取得
// ここに在庫確認・選択肢更新・自動返信の処理を記述
} catch (e) {
Logger.log('同時アクセスによるエラー: ' + e);
} finally {
lock.releaseLock(); // ロックの解除
}
}

このスクリプトを保存し、トリガー設定画面から「フォーム送信時」に実行されるよう設定すれば、擬似的な予約システムの完成です。ただし、GASのコードはGoogle側の仕様変更により突然動作しなくなる可能性があるため、公開時の動作確認が必須だと考えます。
スマートフォンからの設定についてですが、結論から言うとスマホでの予約システム構築(特にGASの編集)は推奨できません。
現場感としては、移動中や外出先で予約の入り具合をスマホのアプリからサッと確認できる状態にしておくのが、最もストレスのない運用方法ではないでしょうか。
自作の予約システムを運用する中で、多くの現場が直面する代表的なトラブルとその対処法をまとめました。
「残り1枠のところに、2人の顧客がほぼ同時に申し込んでしまった」
これは、Googleフォーム予約において最も恐ろしいシナリオです。前述した LockService を実装していない場合、スクリプトが在庫を減らす処理を完了する前に別の申し込みが通過してしまい、定員オーバーが発生します。手作業で謝罪と日程再調整の連絡を行う疲労感は、チームの雰囲気や心理的安全性を著しく低下させます。厳密な先着順処理が求められるビジネス用途では、このリスクを常に抱えることになります。
無料のGoogleアカウント(Gmail)を使用している場合、GAS経由で送信できるメールは1日あたり100通までという制限があります。 イベントの告知直後など、短期間に予約が殺到した場合、自動返信メールが途中でストップしてしまうリスクがあります。大規模な受付を行う際は、Google Workspaceアカウントの利用を検討するか、後述する専用ツールの導入が必要です。
「作った担当者が退職してしまい、エラーが出ても誰も直せない」というのもよくある失敗パターンです。自作システムは初期費用が無料である反面、保守運用にかかる見えないコストが高くつく傾向にあります。
GoogleフォームとGASによる自作は、あくまで「擬似的な予約システム」です。事業の成長に伴い予約数が増えてきたら、手動運用や自作スクリプトの保守から脱却し、専用ツールへ移行することが、結果的に最もコストパフォーマンスが高くなります。
ここでは、2026年2月26日時点で検討すべき、Googleフォームの代替となる予約ツールを3つ紹介します。

実務的には、予約の受付からカレンダーへの登録、Web会議URLの発行、事前リマインドまでをすべて自動化することで、担当者の心理的負担は劇的に下がります。顧客と向き合い、本来のサービス提供というコア業務に集中できる環境を作ること。それこそが、ツール導入によって得られる人間中心の価値だと考えます。
GoogleフォームとGASを使えば、コストをかけずに定員管理付きの予約システムを自作することは可能です。しかし、ダブルブッキングのリスクやメンテナンスの属人化といった課題が常につきまといます。
まずは現在の予約件数と、トラブル対応にかかっている見えない工数をチームで棚卸ししてみてください。もし「休日に予約状況を気にしてしまう」状態であれば、それはシステム移行の明確なサインです。
より安全で確実な運用を目指すなら、まずは無料から試せる日程調整ツールの導入を検討し、自動化による業務改善の第一歩を踏み出してみてはいかがでしょうか。さらに詳しい業務効率化のヒントについては、ブログの関連記事もぜひ参考にしてください。
予約システムを導入すると収益、業務効率化に多くのメリットがあります。どの予約システムが良いか選択にお困りの方は、普段使っているGoogleカレンダーやOutlookなどのカレンダーサービスをベースにした予約管理システムの導入がおすすめです。


