パーソナルジムのシフト管理、トレーナー2人目を雇った瞬間に破綻した話 —— 複数ブース×複数スタッフの調整地獄から抜け出すまで

「1人でやっているうちは、全部頭の中に入っていた。」
FIREFITNESSを開業して最初の1年半、自分1人でセッションをしていた頃は、予約管理で困ることはほとんどなかった。TimeRex(無料の日程調整ツール)で空き時間を公開して、予約が入ったら自分のカレンダーに反映される。シンプルで、それで十分だった。
問題は、トレーナーを1人雇った瞬間に始まった。
「人が増えた」だけで、管理の複雑さは3倍になる
2人目のトレーナーを迎えたとき、自分は楽になると思っていた。セッション数を分散できる。休みも取れる。売上も伸ばせる。
でも実際に起きたのは、こういうことだった。
ブースの競合が起きた。
FIREFITNESSは2ブース構成だが、ブースごとに使える器具が違う。あるメニューはAブースでしかできない。にもかかわらず、2人のトレーナーが同じ時間帯にAブースを使う予約を受けてしまった。
お客さんが来てから気づいて、片方のセッション内容を急遽変更した。お客さんに対して「器具が使えないので今日はメニューを変えます」と言い訳する。これが1回ではなく、最初の1ヶ月で3回起きた。
TimeRexでは、ブースの概念が存在しない。
TimeRexはあくまで「個人の空き時間」を管理するツールだ。トレーナーAの空き時間とトレーナーBの空き時間はそれぞれ管理できるが、「この時間帯にAブースを使っているから、もう1人はBブースしか使えない」という制約は表現できない。
つまり、予約を受けるたびに自分の頭の中で「この時間、もう片方のトレーナーはどこにいるか」を計算する必要がある。
「誰が何時にどこにいるか」が分からない恐怖
1人経営のときは、自分のスケジュールを見れば全てが分かった。
2人になった瞬間、確認すべきことが爆発的に増える。
- トレーナーAは今日何時から何時まで出勤するのか
- トレーナーBの今日のシフトは何時までか
- 14時のセッションはどちらのトレーナーが担当か
- そのトレーナーはどちらのブースを使うか
- 15時に別の予約が入ったとき、空いているブースはどこか
- トレーナーAが「来週の水曜、午前だけ出勤にしたい」と言った場合、既存の予約に影響はないか
これらを、LINEのやり取り+Googleカレンダー+TimeRex+自分の記憶で管理していた。
当然、抜け漏れが出る。
ある日、トレーナーBが「今日15時からの〇〇さんのセッション、自分ですよね?」と聞いてきた。自分は「え、それ自分の担当じゃなかったっけ?」と返した。確認したら、どちらの予定にも入っていなかった。お客さんだけが「予約したつもり」で来店した。
「担当不明」の予約が発生する。 これが2人体制の最大のリスクだった。
3人になったとき、本当に限界が来た
3人目のトレーナーが加わり、2ブースを3人で回すようになった。
ここで完全に管理の限界が来た。
3人×2ブース×営業時間12スロット。1日あたりの「ブース×時間帯」の組み合わせは24通り。そこに3人のシフトパターンが重なる。
特にきつかったのは、シフト変更のたびに予約の再調整が必要になることだ。
「木曜の午後、出勤できなくなりました」
この一言で、以下の作業が発生する。
- 木曜午後にそのトレーナーの予約が入っていないか確認
- 入っていた場合、別のトレーナーに振り替え可能か確認
- 振り替え先のトレーナーのブースが空いているか確認
- 振り替えできない場合、お客さんに日程変更の連絡
- お客さんから「じゃあ金曜の同じ時間は?」と聞かれ、金曜のシフトとブース空き状況を確認
これを全てLINEでやる。1件の対応に20〜30分かかることもあった。
シフトと予約が「別の世界」にある問題
振り返ると、根本的な問題は明確だった。
シフト管理と予約管理が完全に分離していた。
シフトはGoogleスプレッドシートに手書き。予約はTimeRexとLINE。この2つが連動していないから、「シフトが入っていない時間帯に予約が入る」「シフトを変更しても予約側に反映されない」という事故が起きる。
大手のフィットネスクラブなら、専用の勤怠管理システムがある。しかし月額5万〜10万円するような大規模システムは、トレーナー3人の小規模ジムには到底導入できない。
かといって、Googleカレンダーの「空き時間」機能だけでは、ブースの物理的な制約を表現できない。
「トレーナーの時間が空いている」と「ブースが空いている」は、別の問題だ。 この2つを同時に解決できるツールが、小規模ジム向けには存在しなかった。
自分で作るしかなかった
FITBOOKERに「シフト管理」機能を組み込んだのは、この原体験があったからだ。
設計の出発点はシンプルだった。
- トレーナーごとにシフト(出勤可能な時間帯)を登録する
- シフトが入っていない時間帯には、予約が入らない
- ブース(ロケーション)ごとに同時セッション数の上限を設定できる
- シフトを変更したら、その時間帯の予約に影響があるかが即座に分かる
つまり、シフトと予約を同じデータベースで管理するということ。
これだけで、あの「頭の中で全部計算していた作業」がなくなった。
「ブロックタイム」という概念
もう1つ、現場から生まれた機能がある。「ブロックタイム」だ。
トレーナーの出勤時間が10時〜19時でも、12時〜13時は昼休憩にしたい。あるいは、14時〜15時はミーティングで空けたい。
シフト全体を変更するのではなく、特定の時間帯だけ「予約不可」にする。これがブロックタイムだ。
TimeRexではこれを実現するために、わざわざ「ダミーの予約」を自分で入れて時間を潰していた。忘れて消し忘れると、本来空いている時間帯にお客さんが予約できなくなる。
ブロックタイムは地味な機能だが、現場のトレーナーが毎日使う機能だ。大手の予約システムにはない、小規模ジム特有のニーズだった。
シフトが「見える」と、会話が変わる
シフト管理をシステム化して一番変わったのは、スタッフとのコミュニケーションだった。
以前は「来週のシフト、どうする?」というやり取りがLINEで延々と続いていた。
「月曜は10時からで」 「火曜は午後だけで」 「水曜、ちょっと分からないのでまた連絡します」 「水曜、やっぱり休みで」
このやり取りを3人分、毎週やる。
今は、トレーナー自身がシフトを登録する。オーナーの自分は、管理画面で全員のシフトを一覧で見るだけ。特定の日に誰もシフトが入っていなければ、そこで初めて声をかける。
「連絡して確認する」から「見て判断する」に変わった。
これは些細なことに聞こえるかもしれないが、3人のトレーナーのシフト調整に費やしていた週2〜3時間のLINEやり取りがほぼゼロになったのは、経営者として体感が大きい。
シフト管理が稼働率に直結する理由
シフトと予約を一元管理することで、もう1つ見えるようになったことがある。
「稼働率」だ。
以前は、「今月のセッション数」は分かっても、「今月の空きスロット数」は分からなかった。何となく「今月は忙しかったな」「来月はちょっと余裕がありそう」という感覚で経営していた。
シフトが登録されていれば、「提供可能な総スロット数」が自動で計算できる。実際の予約数と比較すれば、稼働率が出る。
FIREFITNESSでは、この可視化で初めて「火曜日の午前中だけ極端に空いている」ことに気づいた。体感では忙しいと思っていた火曜日が、実は午前中は2ブースとも空いていた。
スタッフに「火曜午前のシフト、積極的に入れてほしい」と伝えたのは、数字を見たからだ。感覚だけなら「火曜は忙しいから大丈夫」で終わっていた。
小規模ジムのシフト管理で押さえるべき3つの原則
自分の失敗と試行錯誤から学んだ、小規模パーソナルジムのシフト管理の原則をまとめる。
原則1: シフトと予約は同じ場所で管理する
シフト管理ツールと予約管理ツールが別々なら、必ず「片方にしか反映されていない」事故が起きる。データの二重管理は、トレーナー3人以下でも破綻する。
原則2: 「場所」の制約を忘れない
「トレーナーが空いている=予約可能」ではない。ブースやスペースの物理的な制約を加味しないと、ダブルブッキングの原因になる。
原則3: トレーナー自身が登録できる仕組みにする
オーナーが全員分のシフトを代理登録していたら、それ自体がボトルネックになる。トレーナーがスマホからシフトを入力し、オーナーは一覧で確認するだけ。この権限分離ができるかどうかで、管理コストが大きく変わる。
自分の場合、これらの原則を実現するために予約管理SaaSを自分で作るという極端な手段を取った。全員がそうする必要はないが、少なくとも「シフトと予約がバラバラのツールで管理されている」状態は、トレーナーが2人以上いるなら今すぐ見直すべきだと思う。
予約管理ツールを選ぶとき、「シフト管理機能がどこまで含まれているか」はあまり語られない。でも現場レベルでは、ここが一番効いてくる。
トレーナーが増えたとき、ブースが増えたとき、シフト変更が入ったとき——そのたびに「頭の中で計算する」ことに限界を感じているなら、まずシフトと予約の管理を一箇所にまとめることから始めてみてほしい。
予約管理の悩みを fitbooker で解決しませんか?
パーソナルジム・フィットネスクラブ向けの予約管理SaaS。 月額¥9,800でトレーナー・顧客数無制限。7日間無料でお試しいただけます。