SANANEBLOG
GAS PR

【無料DL可】Googleフォームで予約システムの作成方法を解説!定員も管理可能

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

はじめに

SANANE

Googleフォーム・スプレッドシート・Googleカレンダーを使用して、定員の管理が可能な予約システムの導入方法について詳しく解説します!

当記事で解決できる悩み

Googleフォームで作成する予約システムの特徴は?

・Googleフォームで予約システムを作成するメリット・デメリットは?

・予約システムの導入・利用方法は?

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

SANANE

無料でDLできるスプレッドシートのリンクを掲載しておりますので、すぐに利用することが可能です!

予約システムの特徴

Googleフォームで予約

予約を行う際には、ユーザはGoogleフォームから予約を行います。

フォーム上で「氏名」「メールアドレス」等、必要な情報と「参加人数」「予約日時」を入力して予約を行います。

「予約日時」では以下のように、予約できる日時と残り人数が表示されます。

予約が完了するとメールを自動送信

ユーザの予約が完了すると、同時にユーザに予約完了のメールが届きます。

SANANE

メールの内容は自由にカスタマイズ可能です。

管理者側の画面

予約の管理者側はGoogleスプレッドシートで予約可能な日時を管理します。

管理者が記載する項目

日付

時間

定員

別システムからの予約人数

「予約管理シート」上で必要事項を記載したあと、「確定」ボタンを押すことで、Googleフォーム上に選択肢が自動で反映されるようになります。

青色で網掛けしているセルは、プログラムによって自動で入力される箇所となるため、直接編集することはできません。

Googleカレンダーに予定自動で作成

ユーザの予約が完了すると、自動的に登録した管理者のGoogleカレンダーに予定が登録されます

メリット・デメリット

SANANE

Googleフォームでの予約システムの作成にはメリットもありますが、その分デメリットも存在するため、把握しておく必要があります。

メリット

費用の削減

Googleフォーム含めたGooleサービスは無料で利用できるため、予約システムを構築する際の初期費用や維持費が大幅に削減できます

定員を管理できる

本システムでは、定員数を設定することで、定員に達するまで予約が可能となっております。

Googleカレンダーには、Googleが提供している「予約スケジュール機能」がありますが、「予約スケジュール」機能では予約枠に対して、一つの予約が入った時点で枠が埋まった扱いになってしまい、他の人は予約を入れることができなくなります。

そのため、「定員数に達するまで予約が可能」というような運用は「予約スケジュール機能」ではできません。

予約の容易さ

インターネットに接続されたどのデバイスからもフォームにアクセスできるため、予約手続きが非常に便利となります。

デメリット

フォーム内で細かい制御が不可能

Googleフォームでは質問の中で、細かいフィルタリングなどができません。

例えば、1つ目の質問で「日付」を選択したあと、次の質問でその日付で予約可能な時間帯のみを選択肢として表示させるといった制御ができません。

また、例として予約日時が「残り人数:5人」だった場合にも、ユーザは6人以上の予約を誤って送信できてしまいます。

本システムでは、残り人数よりも多い人数で予約があった際には予約を行わず、「メールにて予約内容に誤りがあり、再予約を促すメールを送信」することで対処しています。

拡張性

本システムはGAS(Google Apps Script)を使用しています。質問の追加やフォーム内のカスタマイズにはGASの知識が必要となります。

スプレッドシートのDL

SANANE

Googleフォームを自動で作成するスクリプトをGAS(Google Apps Script)で組み込んでいるため、スプレッドシートからGoogleフォームを簡単に作成できるようになっています。

導入方法

スプレッドシートをコピー

まず、利用にあたってはスプレッドシートのコピーが必要です。

スプレッドシートの上部バー[ファイル]>[コピーを作成]から[コピーを作成]をクリックしてコピーを作成してください。

初期設定

フォームの作成

上部バー[初期設定]より、[①フォームの作成]をクリックします。

[認証が必要です]というモーダルが表示されたら、以下の手順で認証を完了させてください。

  1. OKをクリック
  2. アカウントの選択でユーザを選択
  3. 画面下部の[詳細]をクリック
  4. 予約自動化処理(安全ではないページ)に移動
  5. [許可]をクリック

完了したら、もう一度上部バー[初期設定]より、[①フォームの作成]をクリックします。

少し待つとフォームの作成が完了したモーダルが表示されます。

カレンダーIDを入力

続いて、カスタムメニューの[初期設定]>[②カレンダーIDの入力]より、カレンダーIDを入力してください。入力したら[保存]をクリックします。

カレンダーIDはGoogleカレンダーより、[︙]から[設定と共有]をクリックします。

少し下にスクロールすると、カレンダーIDが記載された部分があります。これをコピーして貼り付けてください。

使用するGoogleカレンダーはスプレッドシートを利用しているユーザと同じユーザを想定しています。異なるユーザを使用する場合にはアクセス権が正しく設定されているかを確認してください。

フォームの編集

作成されたGoogleフォームに移動して、参加合計人数などの人数を編集してください。

「予約日時」という質問名は変更しないでください。

また追加で質問を追加する場合には内部のGASスクリプトも編集する必要があります。

SANANE

以上で初期設定は完了です。次は実際の利用方法を紹介します。

利用マニュアル

予約管理シート

「予約管理シート」では、予約が可能な時間帯や、定員数を管理することができます。

Googleフォームに反映させる選択肢

  • 日付: YYYY/MM/DD の形式
  • 時間: hh:mm の形式
  • 定員: 数字(人)
  • 別システムからの予約人数: 数字(人)

赤枠内の入力が完了したら、「確定」ボタンを押すことでGoogleフォームの選択肢に反映されるようになります。

SANANE

過去の日付になった場合は手動で行の削除などを行ってください。

メール管理シート

「メール管理シート」では、ユーザに送信するメールを管理することができます。

メール管理シートのシート名を変更しないでください。

以下のように、{}で囲んである内容を利用することで、フォームで入力した内容が反映されるようになります。

  • 氏名: {name}
  • 予約日時: {reservationDateTime}
  • 予約ID: {reservationId}
  • 参加人数: {totalParticipants}
  • 電話番号: {phoneNumber}
  • 受付日時: {timestamp}