SailLab
リソース一覧に戻る

予約システムは自作できる。問題は、作り終えたあとの上限です

8分で読める 森本 健 / SailLab 編集部
予約システムは自作できる。問題は、作り終えたあとの上限です

「予約システムは自作できますか」という質問への答えは、たいてい「できます、ただし技術が要ります」です。この答えは正しいのですが、判断には使えません。自作した予約システムがつまずくのは、作っている最中ではなく、作り終えて、うまく動き始めたあとだからです。

この記事では、自作の3つのルートを分けたうえで、それぞれが止まる場所を、提供元が公開している上限の数字で確認します。そのうえで、自作のほうが早い場合の見分け方と、既製のツールに寄せるときの最小構成までを扱います。

ひとりまたは少人数で予約を受けている方は、個人・小規模チーム向けのリソース集もあわせてご覧ください。

相談が「作れるか」で終わってしまう

予約システムを自作するために書かれたプログラムのコード画面

公開の質問サイトで「予約システムを1から自作できますか、どの言語が必要ですか」と聞くと、返ってくるのは言語の一覧です。その答えは、作り始める許可にはなっても、運用を続けられるかの答えにはなりません。実際に問題が出るのは、公開してから数か月後です。

判断の材料になるのは、次の3つだけです。どのルートで作るのか、そのルートには何件まで耐えられる上限があるのか、そして上限に触れたときに直せる人が自分以外にいるのか。以下ではこの順に見ていきます。

自作には3つのルートがあります

設計図と製図道具が並ぶ作業机

「自作」と一言で呼ばれているものは、実際には難易度も止まる場所も違う3つに分かれます。どのルートかを決めないまま比較すると、費用も工数も噛み合いません

ルート作るもの最初にかかる時間止まる場所
① フォーム+表計算+スクリプト申し込みの受け取りと自動返信数日実行回数とメール送信数の上限、同時申し込み
② サイト作成サービスの予約機能予約ページ数時間提供元が用意した機能の範囲。項目や決済を足せない
③ ゼロから開発予約に関わるすべて数週間以上セキュリティと保守が全部自分に残る

実際に選ばれることが多いのは①です。すでに表計算ソフトで予約を管理していて、そこにフォームからの自動入力と自動返信を足す形なので、始めるきっかけとしては自然です。この記事の以降の数字も、主に①を前提にしています。②と③は、②が「作らない自作」、③が「全部が自分に返ってくる自作」と考えると位置づけがはっきりします。

無料アカウントの上限は公開されています

データセンターに並ぶサーバーラック

①のルートで使うGoogle Apps Scriptには、公式に定められた上限があります。技術力とは無関係に、アカウントの種類だけで決まる数字です。

項目無料のGoogleアカウントGoogle Workspace
1回の実行時間6分6分
トリガーによる合計実行時間1日90分1日6時間
メールの送信先数1日100件1日1,500件

(出典: Google「Quotas for Google Services」Google Apps Script 公式ドキュメント、2026年8月時点、対象は Google Apps Script)

この数字が効いてくるのは、予約が増えたときです。たとえば1日20件の予約が入り、確認メールと前日リマインドを1通ずつ送ると40通。ここに変更・キャンセルの通知、届かなかったときの再送、自分宛ての通知を足すと、100件は現実的な射程に入ります。予約が増えるほど、コードを1行も変えていないのに動かなくなるという順番で問題が起きます。

上限に触れたときの回避策も、あまり残っていません。長い処理を5分ごとに区切ってトリガーを繋ぐ方法は実際に試されていますが、合計実行時間として合算されるため、根本的な回避にはなりません。設計で減らせるのは送信数と実行回数そのもので、上限の側は動かせません。

作り終えたあとに残る仕事

施錠された南京錠。自作システムの安全確保を表す

予約システムが預かるのは、氏名・電話番号・メールアドレス・来店する日時です。「誰が、いつ、どこにいるか」が並んだデータであり、漏れたときの影響は問い合わせフォームより重くなります。自分で公開する以上、その防御も自分の担当になります。

情報処理推進機構(IPA)の「安全なウェブサイトの作り方」は、ウェブサイトの開発者・運営者に向けて11種類の脆弱性と対策を挙げています。SQLインジェクション、セッション管理の不備、クロスサイト・スクリプティング、CSRF、アクセス制御や認可制御の欠落などが並びます(出典: 独立行政法人情報処理推進機構「安全なウェブサイトの作り方」改訂第7版、2021年3月31日更新、対象はウェブサイトの開発者・運営者)。

③のゼロから開発する場合、この一覧はそのまま自分の作業リストになります。①や②でも、予約の確認画面に他人の予約が見えてしまう種類の不具合——一覧の最後にある認可制御の欠落——は、URLの組み立て方しだいで簡単に起こります。作った本人しか点検する人がいない状態が、そのまま何年も続く点も見落とされがちです。

費用を横に並べてみる

電卓と収支表を並べた費用の試算

自作は「無料」と言われますが、実際に並べると3つの費用が出てきます。金額が出るのは1つだけで、残り2つは時間で払っています

  • 置き場所の代金:③のルートでは共用レンタルサーバーが要ります。エックスサーバーのスタンダードは月額693円(36ヶ月契約時のキャンペーン価格、通常990円、税込、2026年8月時点/出典: エックスサーバー「料金」)。①と②はこの費用がかかりません
  • 作る時間:①で数日、③なら数週間。自分の時給を掛けると金額になります
  • 直す時間:仕様変更やエラーへの対応が、予告なく発生します。ここだけは総額が読めません

たとえば①のルートで、初期に20時間、その後は月2時間の手当てが要るとします。自分の時間を時給3,000円と置くと、初期6万円、その後は月6,000円です。この数字と、既製ツールの月額を並べたときにどちらが安いかは、予約の件数ではなく、自分の時間をいくらと見るかで決まります

自作のほうが早い場合もあります

夜のデスクでノートパソコンとタブレットを使う作業風景

既製のツールがいつでも正解というわけではありません。次のどれかに当てはまるなら、自作のほうが近道です

  • 社内だけで使い、外部に公開しない:設備や打ち合わせ枠の押さえに使うなら、表計算とスクリプトで足ります
  • 既存の基幹システムと繋ぐ必要がある:在庫や会員データと連動させる要件は、既製ツールの設定では届きません
  • 作って直す人が業務として確保されている:担当が決まっていて、引き継ぎの手順もあるなら、上限も設計で回避できます

逆に、この3つのどれにも当てはまらないのに①を選ぼうとしている場合、動機はたいてい「月額を払いたくない」です。その場合は、自分の時間の単価をいちど計算してから決めると、判断が短くなります。

既製ツールに寄せるときの最小構成

既製ツールに寄せると決めた場合、最初から全部を移す必要はありません。まず移すのは、上限に触れる部分だけです。具体的には、空き枠の表示、予約の確定、確認とリマインドのメール。この3つが外に出れば、残りの集計は表計算のままでも困りません。

選ぶときに確認する点も、多くはありません。

  1. 件数の上限がないか:月間の予約件数に上限があるプランは、成長したときに乗り換えが必要になります
  2. カレンダーと双方向で同期するか:ツールの外で入れた予定が予約不可になるかどうかが、二重予約の分かれ目です
  3. 受付項目を自分で決められるか:ここが固定だと、結局メールでの追加確認が残ります
  4. 料金が件数に比例しないか:予約1件ごとの手数料は、件数が伸びるほど自作との差を詰めます

以下では、この4点を満たすツールの一例として、SailLab を取り上げます。

SailLab(セイルラボ)

SailLab の予約ページと受付項目の設定画面

SailLab は、空き枠の公開・受付・通知メールをまとめて引き受ける国産の予約システムです。自作で最初に上限に触れる部分が、そのまま置き換わります。

  • 予約件数に上限がありません:Free プランでも月間の予約件数は無制限です。1日100件の壁を気にせずに済みます
  • 確認・リマインドメールが標準です:送信の仕組みを自分で持たなくてよく、前日リマインドやフォローアップの送信タイミングも設定できます
  • Google と Outlook の双方向同期:ツールの外で入れた予定の時間は自動的に予約不可になります
  • 受付項目を自分で組み立てられます:11種類の項目を並べ替え、必須・任意や入力チェックも項目ごとに設定できます
  • 脆弱性対応が自分の仕事から外れます:通信の暗号化、権限の分離、監査ログは提供側が持ちます
プラン月額(年契約・税抜)この記事に関係する範囲
Free¥0予約ページ1件、予約件数無制限、Google / Outlook 連携、確認・リマインドメール
Light¥800予約ページ無制限、独自URL、SailLab 表記の非表示、メール文面の編集
Standard¥1,200メニュー形式の受付、事前決済、自動割り当て、予約データの分析

①のルートで作ろうとしていた範囲は、多くの場合 Free プランに収まります(2026年8月時点)。料金の詳細は料金プランをご確認ください。ひとりで受けている場合の使い方はフリーランス・個人事業主の活用例にまとめています。

なお、自社サイトの中に予約画面を埋め込む機能はありません。ページに直接組み込みたい要件が動かせないのであれば、②か③のルートを選ぶほうが要件に合います。手を動かす前に、そこだけは先に決めておくことをおすすめします。

判断を10分で終わらせる

ノートパソコンと電卓とカレンダーを並べて自作か既製かを判断する机

作るか借りるかの判断は、次の5つに答えると片が付きます。

  1. 1日に送る通知メールは、多い日で何通になりますか(100通に近いなら①は保ちません)
  2. 止まったとき、自分以外に直せる人はいますか(いないなら、止まった日は予約が受けられません)
  3. 予約データに氏名と電話番号が入りますか(入るなら、防御は自分の担当になります)
  4. 自分の1時間をいくらと見ますか(初期20時間を金額に換えてから比べます)
  5. 自社サイトの中に予約画面を置くことは、譲れない条件ですか(譲れないなら自作またはサイト作成サービス側です)

1問目と2問目が両方とも赤信号なら、作る前から結論は出ています。逆に5問目だけが引っかかるのであれば、②のルートが最短です。

すでにGoogleフォームで受けている場合の限界はGoogleフォームの予約システムに、表計算ソフトでの管理を続ける前提での作り方はエクセル予約表の作り方にまとめています。受付フォームの項目そのものを見直す場合は予約フォームの作り方もあわせてご覧ください。

SailLab の Free プランは、クレジットカードの登録なしでアカウント作成から試せます。

森本 健 / SailLab 編集部

SailLab 編集部で、Googleカレンダー・Googleフォーム・Excel・Teams など、手元のツールで予約や日程調整を回す方法とその限界について書いています。

シェア X / Twitter LinkedIn

予約受付を、SailLabで自動化する

カレンダー連携・自動リマインド・事前決済までを1つの予約ページに。無料プランは登録3分、クレジットカード登録は不要です。