会議室予約システムガイド─Yoyaku Clear(ヨヤクリ)

GASで会議室予約システムを自作する

目次
全て表示

Google Apps Script(GAS)を使えば、Googleフォームやスプレッドシートと連携しながら、会議室予約システムをWebアプリとして構築できます。本ページでは、GASによる会議室予約システムの作成方法を中心に、開発の流れや設定手順利用者側の操作イメージ運用時に注意すべきポイントまでを整理して解説します。

開発方法

GASを使った予約システムの予約入力にはGoogleフォームを利用し、フォーム送信によって予約申請を受け付けます。また、予約データの管理にはGoogleスプレッドシートを使い、予約内容を自動記録・一覧化。
予約画面はHTML/CSS/JavaScript(Bootstrapなど)で構築し、フォーム送信や空き状況の取得処理をGASで受け持つ構成。
これにより、ブラウザで動作するWebアプリとして予約システムを提供することができます。

開発手順

Googleスプレッドシート
およびGoogleフォーム
の準備

まず、予約情報を記録/管理するためのスプレッドシートを作成。会議室名、利用日、開始時刻/終了時刻、予約者名、連絡先など必要な列を定義します。

次に、利用者が予約を申請するためのGoogleフォームを作成します。フォーム項目に、会議室選択、利用日、開始/終了時刻、名前、メールアドレスなどを設定。これが予約申請のフロントエンドとなります。

GASプロジェクトの作成およびスクリプト記述

スプレッドシートの「拡張機能」→「AppsScript」から新しいGASプロジェクトを開始
次に、フォーム送信をトリガーとするスクリプトを記述し、以下の処理を実装します。

  1. フォームから送信された予約内容の受け取り
  2. 空き状況のチェック(既存のGoogleカレンダー予定と照合し、重複がないか確認)
  3. 問題なければ、予約情報をスプレッドシートに追記
  4. 同時に対象の会議室用Googleカレンダーに予定を登録
  5. 予約者および管理者にメールで通知(確認メール/通知メール)
フロントエンド(HTML+CSS+JavaScript)の構築

予約用フォームを独自HTML/CSSで作成(またはGoogleフォームをラップする形でも可)します。
フロントエンドからバックエンド(GAS)への呼び出しには“google.script.run”などを使うことで、予約可否チェックや空き時間取得などを動的に行う構成も可能です。

システム設定のカスタマイズ

会議室情報(名前、カレンダーID、公開URLなど)をスプレッドシート上に設定。これにより、複数会議室の管理が可能となります。
営業時間、予約可能時間帯、最短時間/時間単位などの設定を、スクリプト上の定数(グローバル変数)で管理可能にしておくことで、より柔軟な運用が実現します。

テスト・デプロイ

フォーム送信・重複予約防止・カレンダー連携・メール通知など、主要機能の動作確認。問題がなければ、GASの「デプロイ」機能でWebアプリとして公開
必要に応じてアクセス制限(Googleアカウント認証など)を設定します。

予約確認方法(予約管理方法)

1.スプレッドシートによる
予約管理

すべての予約がスプレッドシートに記録されるため、管理者は一覧の閲覧、フィルター/並び替えで検索が可能に。複数会議室、日時、利用者別などでの抽出も可能です。

2.Googleカレンダーによる
可視化

会議室ごとにGoogleカレンダーを設定し、そこに予約を登録することで、カレンダービューで空き状況や予約状況を直感的に把握できます。これは、空き時間の確認やダブルブッキング防止にも有効です。

3.メール通知による確認

予約時や、変更・キャンセルなどがあった際に、自動でメール通知を送る設定が可能。これにより、管理者および予約者それぞれが状況を把握することができます。

利用者の操作方法

1.予約ページにアクセス

Webブラウザで予約システムのURL(GASで公開したWebアプリ)にアクセス。

2.会議室を選択

会議室ごとに設定されたカレンダー情報に基づき、プルダウンなどで、予約したい会議室を選びます。

3.利用日および開始/終了時間を入力/選択

利用希望日と開始時刻、終了時刻を指定。システム側で空き時間チェックが入り、重複がなければ選択肢として表示。既に予約が入っている時間は選べないようにした方がトラブルを防止できます。

4.名前・メールアドレス・連絡先など必要情報を入力

予約者名、連絡先、メールアドレスなど、フォームで必要な情報を入力します。

5.予約申請を送信

送信ボタンを押すと、バックエンドで空き確認→カレンダー登録→スプレッドシート記録
→通知メール送信
、という流れで予約が確定します。

6.確認メールの受信

予約者には確認メールが届き、予約内容(日時、会議室、申請者情報など)が記載されます。管理者にも通知が届き、予約状況の把握が容易になります。

このように、利用者にとってはWebフォームに入力するだけで予約でき、特別なソフトウェアは不要です。

まとめ:コストや工数の削減は
可能だが、高度な要件設定は困難

Googleアカウントがあれば、GAS/Googleフォーム/スプレッドシート/カレンダーを組み合わせて、外部サービスに依存せず予約システムを構築できます。このように、GASを用いることで比較的少ないコスト・構成・環境で、実用的な予約管理システムを構築できる点が大きな強みです。

一方、複雑な承認フロー、細かいアクセス制御、多人数同時アクセス、外部ユーザーの予約受け入れなど、要件が高度になると実装・管理が面倒に。そのため、利便性やセキュリティの面から、専用ベンダーツールの活用もひとつの方法といえます。

導入要件に合った
会議室予約システムおすすめ3選

Selection
【要件別】
会議室予約システム
おすすめ3選
BRoomHubs
自社開発システム
からの 引継ぎ

複雑な自社ルールを引き継ぎたい

既存環境からスムーズに移行したい

BRoomHubsブルームハブス
icon
※画像引用元:BRoomHubs公式サイト
(https://broomhubs.com/)
おすすめ理由
  • 長年蓄積された独自ルールや設定を前提に、現行フローの背景や制約まで整理して移行を支援。設定調整や個別カスタマイズにより自社ルールを無理に変えず引き継げ、定着しやすい。
  • 柔軟なカスタマイズ性により、備品・社用車・座席などのリソースも一元管理。用途ごとに分かれていた管理を集約し、複数システムを行き来しない運用体制を実現する。
予約ルームズ
グループウェア
との 連携

Google等のカレンダーと一体運用

予約方法を変えずに利用したい

SmartRoomsスマートルームズ
icon
※画像引用元:SmartRooms公式サイト
(https://www.uchida.co.jp/it/products/smartrooms/)
おすすめ理由
  • Microsoft 365やGoogle Workspace、サイボウズ Garoonなど主要グループウェアと連携。クラウド・オンプレいずれにも対応し、既存環境を大きく変えずに導入可能。
  • グループウェアの予定表と直接連携し、個人の予定登録と会議室予約を同時に実行。日程調整と部屋確保を分けて行う手間を省き、効率化や会議場所の伝達ミスを防止。
ROOMLEAD
シンプル・単体運用

会議室だけ予約できればいい

シンプルに始めたい

ROOMLEADルームリード
icon
※画像引用元:ROOMLEAD公式サイト
(https://www.utnet.co.jp/roomlead/meeting_room/)
おすすめ理由
  • 空き状況確認・チェックイン・延長など、会議室予約のコア機能に特化。アプリや専用端末不要なブラウザ型で、初期コストを抑えながら、IT部門の手を借りずにすぐに使い始められる。
  • 利用者数に関係なく会議室数に応じた料金体系で、段階導入でもコストを抑えやすい。規模や部署が増えてもコストが膨らまず、段階的な導入や試験導入にも向いている。
要件別

会議室予約システムの
おすすめ