業務効率化
PR

【完全無料】Googleフォームで作る予約システムの作り方|空き状況カレンダー・自動メール・セルフキャンセル対応

sanane
記事内に商品プロモーションを含む場合があります

はじめに

SANANE
SANANE

Googleフォームで作る無料の予約システムをリニューアルしました!空き状況カレンダー・自動メール・セルフキャンセルまで揃った新バージョンの導入方法を、画像付きで1ステップずつ解説します。

Googleフォームの手軽さ・無料はそのままに、テンプレートをコピーして自分のGoogleアカウントに「デプロイ」するだけで、カレンダー形式の空き状況表示・予約完了メール・キャンセル対応・前日リマインドまで揃った予約システムが使えるようになりました。

こんな人にオススメ
  • 費用をかけずに予約システムを導入したい
  • 空き状況カレンダーや自動リマインド付きの本格的な仕組みにしたい
  • テンプレートをコピーして、最短で予約受付を始めたい

小規模ビジネスのオーナーやイベント主催者向けに、費用を抑えて効果的な予約管理を実現するためのシステムです。

必要なのはGoogleアカウントだけ。Googleフォーム・スプレッドシート・カレンダー・GAS(Google Apps Script)の組み合わせで動くため、月額費用は一切かかりません。有料の予約SaaSを契約する前に、まずはこちらをお試しください。

完成イメージ|お客様はこう予約する

先に完成形をお見せします。導入が終わると、お客様に渡すのは「空き状況ページ」のURLひとつだけになります。

空き状況ページでは、月カレンダーで空きのある日が色付きで表示されます。

予約の空き状況ページ。月カレンダーで空きのある日が色付き表示される

日付を選ぶとその日の枠と残り人数が表示され、「予約する」を押すと予約日時が選択済みのGoogleフォームが開きます。

フォームの内容は自由に追加が可能です。

予約日時が選択済みの状態で開くGoogleフォーム

お客様がフォームを送信すると、予約完了メールの送信・Googleカレンダーへの予定登録・前日リマインドの予約まですべて自動で行われます。メール内のリンクからお客様自身でキャンセルすることも可能です。

導入手順①|テンプレートをコピーする

まずは配布中のテンプレート(スプレッドシート)を自分のGoogleドライブにコピーします。以下のリンクからテンプレートを開いてください。

スプレッドシートの上部バー[ファイル]>[コピーを作成]をクリックします。

スプレッドシートのファイルメニューからコピーを作成を選択

確認ダイアログが表示されたら、そのまま[コピーを作成]をクリックしてください。

ドキュメントをコピーする確認ダイアログ。Apps Scriptファイルも一緒にコピーされる

ダイアログに「添付されている Apps Script ファイル」と表示されている通り、予約システムのプログラム(GAS)はコピーに同梱されています。自分でコードを書いたり貼り付けたりする必要はありません。

導入手順②|ウェブアプリとしてデプロイする

本ツールはWebアプリとして一度デプロイ(公開)すれば、以降の管理はすべてブラウザの管理画面で完結します。

デプロイは2つ作ります
  • 公開ページ:お客様用の空き状況ページ。誰でも(Googleログインなしで)開けるようにする
  • 管理画面:自分専用の管理ページ。自分のみアクセスできるようにする

「お客様には見せる、管理は自分だけ」を実現するために、アクセス権の異なる2つのデプロイを順番に作成します。

Apps Scriptエディタを開く

コピーしたスプレッドシートの上部バー[拡張機能]>[Apps Script]をクリックします。

拡張機能メニューからApps Scriptを開く

公開ページをデプロイする

Apps Scriptエディタが開いたら、右上の[デプロイ]>[新しいデプロイ]をクリックします。

Apps Scriptエディタのデプロイボタンから新しいデプロイを選択

[種類の選択](歯車アイコン)から[ウェブアプリ]を選択します。

デプロイの種類の選択でウェブアプリを選ぶ

設定項目は次の3つです。

  • 説明: 公開ページ(自分がわかる名前でOK)
  • 次のユーザーとして実行: 自分
  • アクセスできるユーザー: 全員
公開ページのデプロイ設定。実行ユーザーは自分、アクセスできるユーザーは全員

「アクセスできるユーザー: 全員」がポイントです。この設定によって、お客様がGoogleアカウントにログインしていなくても空き状況ページを開けるようになります。

初回承認|「未確認アプリ」の警告が出ても大丈夫

[デプロイ]を押すと、初回のみアクセスの承認を求められます。[アクセスを承認]をクリックし、自分のアカウントを選択してください。

データへのアクセスを許可するためアクセスを承認をクリック

すると、「Googleはこのアプリを確認していません」という警告画面が表示されます。ここが一番驚くポイントですが、慌てなくて大丈夫です。

Googleはこのアプリを確認していませんという警告画面

この警告は「Googleの審査(一般公開アプリ向けの確認プロセス)を受けていないアプリ」に必ず表示されるものです。いま許可しようとしているのは、先ほど自分のドライブにコピーした自分のスクリプトであり、動作するのも自分のアカウント上だけです。第三者にデータが渡るものではありません。

[詳細]をクリックして展開し、[予約自動化処理(安全ではないページ)に移動]をクリックします。

詳細を展開して予約自動化処理(安全ではないページ)に移動をクリック

続いて権限の確認画面が表示されます。チェックをすべてオンにして[続行(許可)]をクリックしてください。

予約システムが要求する権限の一覧。スプレッドシート・カレンダー・フォーム・メール送信・自動実行

要求される権限は5つで、それぞれ予約システムの機能に対応しています。

要求される権限とその用途
  • スプレッドシート:予約台帳(受付枠・予約データ)の読み書き
  • カレンダー:予約時の予定の自動登録・キャンセル時の自動削除
  • フォーム:予約フォームの自動作成・選択肢の更新
  • メール送信:予約完了・リマインド・キャンセルメールの自動送信
  • 不在時の実行(トリガー):フォーム送信時の処理や前日リマインドの自動実行

Googleアカウントの言語設定によっては、この一連の画面が英語(「Google hasn’t verified this app」→「Advanced」→「Go to 予約自動化処理 (unsafe)」)で表示されることがありますが、流れは同じです。

公開ページのURLを控える

承認が完了するとデプロイが実行され、公開ページのURLが発行されます。コピーアイコンからコピーして控えておきましょう。これがお客様に渡すURLです。

デプロイ完了後に発行された公開ページのURL

デプロイ直後に公開URLへアクセスすると404エラー(ファイルが存在しません)になることがあります。「全員」向けの公開は反映まで少しタイムラグがあるため、数十秒〜数分ほど待ってから再アクセスしてください(筆者環境でも1〜2分で表示されるようになりました)。

管理画面をデプロイする(2つ目)

続けてもう一度[デプロイ]>[新しいデプロイ]>[ウェブアプリ]を開き、今度は管理画面用の設定でデプロイします。

  • 説明: 管理画面
  • 次のユーザーとして実行: 自分
  • アクセスできるユーザー: 自分のみ
管理画面のデプロイ設定。アクセスできるユーザーは自分のみ

2つ目のURLが発行されます。このURLの末尾に「?page=admin」を付けたものが管理画面のURLです。ブックマークしておきましょう。

管理画面用デプロイのURL発行画面

管理者が自分ひとりであれば「自分のみ」が最も簡単かつ安全です。誤って管理URLが漏れても、本人以外はアクセスできません。

導入手順③|管理画面で初期設定する

管理画面のURL(…/exec?page=admin)を開くと、初期設定のチェックリストが表示されます。上から順に完了させると予約の受付を開始できます

管理画面の初期設定チェックリスト

予約フォームをワンクリックで作成

「1. 予約フォーム」の[フォームを作成]ボタンをクリックするだけで、必須の質問(氏名・メールアドレス・参加人数・予約日時)と送信トリガー・前日リマインドが自動で設定されたGoogleフォームが作成されます。

フォーム作成完了後のチェックリスト。回答用URLが表示される
SANANE
SANANE

旧版では「フォーム作成」→「質問の対応付け」を手動で行う必要がありましたが、新版ではワンクリックで完了します!

Googleカレンダーと連携する

「2. Googleカレンダー連携」に予約を書き込むカレンダーのIDを入力して[保存]します。自分のメインカレンダーを使う場合は、Gmailアドレスがそのままカレンダー IDです。

カレンダーIDを入力して連携済みになった状態

予約専用のカレンダーを使いたい場合は、Googleカレンダーで新しいカレンダーを作成し、[設定と共有]>[カレンダーの統合]にある「カレンダーID」(xxxx@group.calendar.google.com 形式)を入力してください。

「3. フォームの質問の認識」と「4. 公開ページのURL」は自動で完了します。

公開ページのURLが自動検出済みになった初期設定パネル

導入手順④|受付枠を作る

最後に予約の受付枠を作ります。左メニューの[枠の管理]を開くと、「繰り返し枠の一括生成」で曜日×期間×定員をまとめて登録できます。除外日(休業日など)の指定も可能です。

繰り返し枠の一括生成フォーム。曜日・時間・定員・期間を指定

生成後は枠の一覧から、公開/非公開の切り替え・定員変更・削除がボタンひとつで行えます。

一括生成された受付枠の一覧。公開切替・定員変更・削除ボタン付き
SANANE
SANANE

旧版は枠を1件ずつ手入力していたので、大幅にラクになりました。ここまでで導入は完了、予約受付を開始できます!

お客様の予約体験

お客様側の流れを一通り見てみましょう。空き状況ページで日付を選ぶと、その日の枠が残り人数バッジ付きで表示されます。

日付を選択すると当日の枠一覧が残り人数付きで表示される

「予約する」から開くフォームで氏名・メールアドレス・参加人数を入力して送信すると、完了画面が表示されます。

予約フォームの送信完了画面

すぐに予約完了メールが届きます。予約ID・日時・人数に加え、キャンセル用のリンクが記載されています。

キャンセルリンク付きの予約完了メール

同時に、管理者のGoogleカレンダーには予定が自動登録されます。

Googleカレンダーに自動登録された予約の予定

お客様自身でキャンセルできる

メール内のキャンセルリンクを開くと、予約内容の確認画面が表示されます。

セルフキャンセルの確認画面。予約ID・名前・日時・人数を表示

[この予約をキャンセルする]を押すとキャンセルが完了し、枠は自動で空きに戻り、カレンダーの予定も削除されます。電話やメールでのキャンセル対応は不要です。

キャンセル完了画面

二重予約の防止機能も組み込まれています。同時アクセスへの排他制御に加えて送信時に在庫を再判定するため、定員を超える予約は確定されません。空き状況ページにも「満席となった場合は、フォーム送信後に満席のご案内メールが届くことがあります」と案内が表示されます。

管理者の運用画面

日々の運用は管理画面で完結します。ダッシュボードでは本日・今週の予約と受付中の枠、今後14日の枠の埋まり具合をひと目で確認できます。

管理画面のダッシュボード。本日の予約・今週の予約・受付中の枠を表示

[予約の管理]では、状態(確定のみ/キャンセル済み/不成立/すべて)・期間・氏名や予約IDで検索でき、管理者側からのキャンセルやCSV出力も行えます。

予約の管理画面。検索・一覧・キャンセル・CSV出力

[設定]では、お客様に届く4種類のメール(予約完了・リマインド・キャンセル完了・満席案内)の件名と本文を編集できます。

メールテンプレートの編集画面。差し込みタグに対応

メール本文では以下の差し込みタグが使えます。フォームで入力された内容が自動で反映されます。

  • 氏名: {name}
  • 予約ID: {reservationId}
  • 予約日時: {reservationDateTime}
  • 参加人数: {totalParticipants}
  • 受付日時: {timestamp}
  • キャンセルURL: {cancelUrl}

日々の細かい操作方法は、管理画面内の[使い方]タブにマニュアルとしてまとまっています。導入後に操作で迷ったときはまずこちらを確認してください。

管理画面内の使い方タブ。運用マニュアルを同梱

追加カスタマイズについて

本システムはGAS(Google Apps Script)で動作しています。質問の大幅な追加やフォームの作り込みなど、コードに手を入れるカスタマイズにはGASの知識が必要になる場合があります。

カスタマイズをご希望の際はココナラにて承っております。内容によっては無償でも対応させていただきますので、まずはお気軽に質問からご相談ください。

GASによる自動化ツール作成します ツールの作成・カスタマイズ承ります

ココナラの新規登録はコチラから

まとめ・テンプレート配布リンク

導入手順のおさらいです。

  1. テンプレートを[ファイル]>[コピーを作成]でコピー
  2. [拡張機能]>[Apps Script]から公開ページ(アクセス: 全員)管理画面(アクセス: 自分のみ)の2つをデプロイ(初回は未確認アプリの警告を承認)
  3. 管理画面(…/exec?page=admin)でフォーム作成とカレンダー連携
  4. 受付枠を一括生成して、公開ページのURLをお客様に案内

テンプレートは以下のリンクから無料でご利用いただけます。

SANANE
SANANE

「完全無料・Googleアカウントだけ」で始められる予約システムです。ぜひお試しください!

GAS を体系的に学びたい方へ

この予約システムのような自動化ツールの仕組みを基礎から順番に動画で学びたい方には Udemy の講座がおすすめです。新IDEにも対応した基礎レクチャーに加え、実務での活用例も学べます(セール期間中は大幅割引になることが多いです)。

あわせて読みたい関連記事はこちらです。

あわせて読みたい
【5分で利用可】Googleフォームの回答内容をGoogleカレンダーに反映するGASツールの紹介!
【5分で利用可】Googleフォームの回答内容をGoogleカレンダーに反映するGASツールの紹介!
あわせて読みたい
Googleフォームの回答者に自動でお礼メールを送信する方法【GAS】
Googleフォームの回答者に自動でお礼メールを送信する方法【GAS】
記事URLをコピーしました