【無料配布】3度目の正直!!GAS×Geminiで作った「予約管理アプリ」が完成しました!
「予約管理、未だに紙の台帳ですか?」
「確定申告の時期、売上集計に絶望していませんか?」
今回は、整体院を経営している僕が、Google Apps Script(GAS) と 生成AI(Gemini) を使って作った、オリジナルの「予約管理アプリ」についてお話しします。
実はこれ、過去2回も挫折してるんですよ。でも今回、3度目の正直でやっと完成しました。しかも、コードは無料で配布します。同じように悩んでいる個人事業主の方や、アナログ管理から脱却したいサロンオーナーさんに使ってもらえたら嬉しいです。
正直、自分が一番アナログだった
僕はこれまで、iPadの手書きノートアプリ(GoodNotes)に自作のテンプレートを表示して、手書きで予約を管理してたんですよね。
「え、お前普段『効率化』とか『AI活用』とか言ってるのに、足元超アナログじゃん」って話なんです。そうなんですよ。恥ずかしながら。
iPadに書くことすら正直面倒くさかったし、何より地獄だったのが確定申告の時期。銀行や税理士さんに提出する売上データの集計、毎年本当に絶望してました。「今月いくら売り上げたっけ…」って手書きのノートをひたすら遡る作業。もう二度とやりたくない。
過去2回の挫折と、3度目の成功
実は過去に2回、GASでのアプリ開発に挑戦して、両方とも途中で挫折してるんです。
「なんとかなるだろ」って始めるんですけど、途中でエラーの嵐に遭遇して、AIに聞いても全然解決しなくて、「もういいや…」ってなる。典型的な挫折パターンですよね(笑)。
でも今回、3度目の正直でついに完成しました。
成功できた理由は2つあって:
生成AI「Gemini」の進化:長文のコードを理解して、的確に修正してくれるようになったこと
偉大な先人のコード:kimuraさん(後で紹介します)が公開しているポータルサイトのコードをベースにさせてもらったこと
特に2つ目が本当に大きかった。ゼロからコードを書くのと、すでに動いているコードをカスタマイズするのとでは、難易度が全然違うんですよね。
「自分の整体院で本当に使いやすいものを作りたい」っていう執念で、スマホファーストなアプリを作り上げました。
アプリでできること
このアプリは、Googleスプレッドシートをデータベースとして使って、スマホのブラウザからアプリ感覚で操作できるWebアプリです。
スマホ完結の予約管理
日めくり・月めくりカレンダーで直感的に表示できて、スマホでの操作を前提にUI設計してます。施術中でもサッと確認できるのがめちゃくちゃ便利。
Googleカレンダー連携(ダブルブッキング防止)
これが地味に神機能で、自分のGoogleカレンダーに入っている「私用」や「ミーティング」の予定を読み込んで、アプリ上でその時間を「予約不可」としてブロック表示してくれます。
逆に、アプリで入れたお客様の予約はGoogleカレンダーには反映させない仕様にしました。こうしないとカレンダーがごちゃごちゃになっちゃうんですよね。
売上集計・分析が一発
これが僕が一番欲しかった機能。ワンクリックで「本日の売上」「今月の見込み売上」を表示できます。
スタッフごとの貢献額や客数も瞬時に把握できるし、データはスプレッドシートに蓄積されるから、税理士さんへの提出もスムーズ。もう手書きのノートを遡る地獄とはおさらばです。
顧客管理機能
新規顧客の登録と、リピーターさんの予測変換入力ができます。常連さんの名前をいちいち入力しなくていいのが楽。
導入手順(PCでの作業を推奨)
専門的な知識がなくても導入できるように手順をまとめました。配布されたコード(Note記事参照)を手元に用意して進めてください。
ステップ1:スプレッドシートの準備
Googleドライブで「新規」→「Googleスプレッドシート」を作成します(名前は適当でOK)
メニューの「拡張機能」から「Apps Script」をクリックして開きます
ステップ2:コードの貼り付け
Apps Scriptの画面が開いたら、配布ファイルの中身をコピペしていきます。
`コード.gs`:元々あるコードを削除して、配布された`コード.gs`の中身を全部貼り付け
`index.html`:「ファイル」の「+」ボタンから「HTML」を選んで、ファイル名を`index`にする。その後、配布された`index.html`の中身を全部貼り付け
`appsscript.json`:設定(歯車マーク)から「マニフェストファイルを表示」にチェックを入れると表示されます。ここも配布ファイルの内容で上書き
ステップ3:スプレッドシートIDの設定(ここ重要!)
作成したスプレッドシートのURLを見ます
`https://docs.google.com/spreadsheets/d/【ここの英数字の羅列】/edit...`
この【】の部分がIDです。これをコピーApps Scriptの`コード.gs`を開いて、上部にある `const SPREADSHEET_ID = "ここにIDを貼り付け";` の部分に、さっきのIDをペーストして保存
ステップ4:初期セットアップとデプロイ
上部の関数プルダウンから `setupSpreadsheet` を選択して、「実行」をクリック
「権限の確認」が出るので、自分のアカウントを選択。詳細設定から「安全ではないページに移動(許可)」して進める
→ これでスプレッドシート側に必要なシート(顧客リスト、売上レポート等)が自動生成されます右上の「デプロイ」→「新しいデプロイ」を選択
種類の選択で「ウェブアプリ」を選んで、アクセスできるユーザーを「自分のみ」または「全員(スタッフと共有する場合)」にしてデプロイ
発行されたURLをスマホに送れば完了!
日常業務での使い方
基本設定
まずはスプレッドシート側の「Settings」や「Menu」シートに、自分のお店のメニュー名、金額、スタッフ名などを入力しておきます。
予約の入れ方
アプリのカレンダーで、予約を入れたい時間をタップ
「新規予約」 画面が開きます
顧客名:名前を入力すると、登録済みの顧客リストから予測変換が出ます(新規ならそのまま入力)
時間:開始時間を入力すると、施術時間(例:50分など設定可)に合わせて終了時間が自動入力
メニュー・決済:メニューを選んで、「現金」「カード」「回数券」などの決済方法を選んで「保存」
これでカレンダーに予約バーが表示されます。慣れると10秒くらいで予約入力完了。
売上の確認
アプリ画面上の「売上見込」などのボタンを押すと、その日の売上、客数、今月のトータル売上などがポップアップで表示されます。これだけで「今月の調子どうかな」がすぐ分かる。
売上管理と分析
1日の終わりや月末に、アプリのメニューから 「売上集計シートを最新にする」 をタップしてください。
これだけで、スプレッドシートの「Sales_Report」シートにデータが同期されて、確定した売上情報がズラッと並びます。
このデータをそのまま税理士さんに渡してもいいし、Geminiに読み込ませて「来月の売上予測をして」って分析させることもできます。データが構造化されてるって本当に便利。
なぜ無料で配布するのか
僕自身がこの管理業務に悩んでたし、アナログな業界(整体・接骨院など)のDX化の遅れを痛感してたからです。
このコードはGeminiなどのAIに投げれば、「もっとこうしたい」っていうカスタマイズが結構簡単にできます。ぜひ、ご自身のお店に合わせて育てていってください!
僕もまだまだカスタマイズ中で、「ここ使いにくいな」って思ったら都度修正してます。完璧なものを作るというより、使いながら育てていく感じですね。
※11月30日アプデ追記
GAS予約管理アプリv3.6にバージョンアップしました!
完全に僕好みのカスタマイズとアレンジになってますが、参考までにこちらも配布します!スプシのテンプレートも!
不要な機能を削除するだけで使いやすくなります!
個人的にはスマホUIでカレンダー横スクロール機能が気に入ってます😊
Special Thanks:kimuraさんと「NexusHub」
最後に、このアプリ開発の最大の立役者を紹介させてください。
今回のアプリは、kimuraさん(https://x.com/kimura_0314?s=20)が開発・公開されているGAS製ポータルサイト「NexusHub」のコードと設計思想をベースにさせていただきました。
「NexusHub」は、Gmail、カレンダー、ToDoなどを統合した素晴らしいワークスペースポータルです。この完成された土台があったからこそ、AI(Gemini)も文脈をすぐに理解してくれて、短期間での開発が可能になりました。
さらに、今回の無料配布についてkimuraさんにご相談したところ、「全然配布していいんじゃないですか!」 と快く快諾のDMをいただきました。この場を借りて深く感謝申し上げます。
GASでの開発に興味がある方は、ぜひkimuraさんの「NexusHub」もチェックしてみてください。構造が美しくて、学びの宝庫です。
過去2回挫折した開発が、3度目でやっと形になった。生成AIの進化と、先人の知恵のおかげです。
皆さんのビジネスが、このアプリで少しでも楽になることを願っています。
でわでわ、次回の記事で!
いいなと思ったら応援しよう!
よろしければ応援やサポートお願いします🙇♂️
いただいたサポートは、これからの活動や検証に使わせていただきます!