ジム会員管理アプリの作り方:プラン、請求、クラス予約、チェックイン
ジム会員管理アプリでは、人が入会して毎月支払い、クラスを予約し、チェックインできます。スタッフは、誰が有効な会員か、誰が支払い済みか、誰が来館したかを確認できます。作るには、会員アカウント、決済事業者のサブスクリプションに結びついた会員プラン、定員とキャンセル待ちのあるクラス時間割、入口でのチェック方法、そしてスタッフ用のダッシュボードが必要です。AIアプリビルダーで中核部分はすぐに作れます。難しいのは、お金に関するルール(休会、支払い失敗、解約、日割り計算)と、入口での入場が会員の実際の支払い状況と一致するようにすることです。
まず会員制度を決める
ジムやスタジオによって、かなり違いがあります。次の点を書き出しましょう。
- プランの種類。 月額の使い放題、ピークを外した時間帯の利用、回数券(10回分)、都度の利用、年額の前払い、家族向けや学生向けのプラン。
- 契約条件。 毎月自動更新か、最低契約期間があるか、解約の通知期間。契約と解約に関する現地の消費者ルールを確認してください。
- 各プランに含まれるもの。 フリースペースのみ、クラスのみ、両方、特定の店舗のみ。
- 休会。 旅行やけがのために一時停止できるか。期間はどのくらいか、手数料はあるか。
- 入会金(ある場合)。
- クラス。 固定の時間割、クラスごとの定員、キャンセル待ち、直前キャンセルと無断欠席のルール。
定額の回数券を扱うヨガやボクシングのスタジオと、入退館が可能な24時間ジムでは、必要なアプリがまったく違います。自分のジムに合わせて作りましょう。
アプリに必要なもの
データ
| テーブル | 主なフィールド |
|---|---|
| 会員 | 名前、メール、電話番号、緊急連絡先、同意書の署名日時、QR トークン、状態 |
| プラン | 名前、料金、請求期間、含まれるクラス(無制限か回数)、利用可能時間、有効かどうか |
| 会員資格 | 会員、プラン、状態(有効、休会中、支払い遅延、解約)、開始日、終了日または更新日、決済事業者のサブスクリプション ID |
| クラスの種類と回 | 名前、担当コーチ、部屋、開始時刻、所要時間、定員 |
| 予約 | 回、会員、状態(予約済み、キャンセル待ち、キャンセル、出席、無断欠席)、作成日時 |
| チェックイン | 会員、時刻、場所、方法 |
| 支払い | 会員、金額、状態、日付、決済事業者の参照番号(事業者から同期) |
会員資格の状態は決済事業者と同期させてください。 支払いが成功したかどうかを決めるのは決済事業者です。アプリは、事業者から通知を受けたときに自分の状態を更新します。
ページ
- 公開ページ: プランと料金、週間の時間割、入会の流れ(プランを選ぶ、アカウントを作る、同意書に署名する、支払う)。
- 会員エリア: 自分の会員資格、今後の予約、クラスの予約やキャンセル、チェックイン用の QR コード、支払い履歴、休会や解約のリクエスト。
- 受付: チェックインのスキャナー、会員の検索、今日のクラスと出席者リスト。
- スタッフ管理画面: 会員、プラン、時間割、支払い失敗、有効な会員数、出席率、クラスの定員充足率のレポート。
権限
会員は自分のデータだけを見られます。コーチは担当クラスの出席者リストを見られます。受付はチェックインと会員の検索ができます。マネージャーは、プラン、返金、レポートを扱えます。入会フォームで集めた健康状態やけがの情報は機微な情報です。必要なものだけを集め、閲覧できる人を制限してください。
難しい部分
定期請求
請求機能は自作せず、決済事業者のサブスクリプション機能を使いましょう。会員は事業者のホスト型ページでカード情報を入力し、事業者が一定期間ごとに請求し、支払いの再試行を行い、Webhook でアプリにイベント(支払い成功、支払い失敗、サブスクリプションの解約)を送ります。アプリはそれに応じて会員資格の状態を変更します。Stripe でサブスクリプションを追加する方法で仕組みを解説しており、決済の追加方法には基礎が書かれています。
支払いが失敗したときのルールを決めておきましょう。数日の猶予期間を設け、その後「支払い遅延」として、支払いが解決されるまで入館できないようにするのが一般的です。
休会、プラン変更、解約
休会では、通常、一定期間の請求とアクセスを止めます。月の途中でプランを変えると、日割り計算(期間の一部分だけを請求すること)が問題になります。多くの決済事業者は日割り計算を代わりに行えます。通知期間つきの解約では、将来の日付まで会員資格が有効のままになります。各ルールを書き出して、テストしましょう。
定員とキャンセル待ち
予約アプリと同じ二重予約の問題があります。予約を保存するときにサーバーで定員を確認し、ページの読み込み時だけで確認しないでください。キャンセルが出たら、キャンセル待ちの先頭の人にその枠を提示します。直前キャンセルの期限を決め、無断欠席でクラスの回数券を失うかどうかも決めておきましょう。
チェックインと入口の扉
会員エリアの QR コードを、スタッフがいる受付でスキャンする方法は、スタッフのいるジムにうまく合います。一方、スタッフがいない施設や24時間営業では、通常、扉の機器が必要になり、その機器は専用のシステムで制御されます。カスタムアプリで制御できるのは、機器が API を提供している場合に限られます。これは、自作するか買うかを決める大きな要因になることがよくあります。
同意書
多くのジムでは、新規会員に賠償責任の同意書や健康に関する質問票への署名を求めます。誰がどのバージョンにいつ同意したかを保存しましょう。同意書の文言は法的な文書です。AI ではなく、専門家から入手してください。
うまくいく最初のプロンプト
Ironside という、一店舗だけのストレングスジム向けの会員管理アプリを作ってください。プランは、Monthly Unlimited(月額 $60)、Off-Peak(月額 $40、平日 9:00〜16:00)、10-Class Pack($120、一回払い)です。公開ページには、プラン、週間のクラス時間割、入会の流れを置いてください。入会の流れでは、プランを選び、アカウントを作り、同意書に同意し、Stripe で支払います(月額プランはサブスクリプション)。会員エリアには、会員資格の状態、チェックイン用の QR コード、定員とキャンセル待ちつきのクラス予約、休会をリクエストするボタンを用意してください。受付のスタッフは、QR コードを確認し、会員資格が有効か(Off-Peak の場合は時間帯内か)を表示し、チェックインを記録するスキャナーページにログインします。マネージャーは、会員、支払い失敗、出席状況、クラスの定員充足率を見られるようにしてください。会員の状態は Stripe の Webhook から更新します。すべてデータベースに保存します。シンプルで大胆なデザインにし、会員はスマートフォン、受付はタブレットで使いやすくしてください。
構築のステップ
- プラン、時間割、会員アカウント。
- クラス予約。 サーバー側で定員を確認し、キャンセル待ちを付けます。
- 決済。 テストモードで、まず都度払いの回数券を、次にサブスクリプションと Webhook を作ります。
- 会員資格の状態のルール。 有効、支払い遅延、休会、解約と、それぞれで許される内容。
- チェックインのスキャナー。 これらのルールを強制するものにします。
- スタッフとマネージャーの画面。 役割ごとに分けます。
- 同意書の確認。 バージョンと日時を記録します。
- お金に関わる経路をテストする。 支払い失敗、カード情報の更新、休会、プラン変更、通知期間つきの解約、返金。
- 既存の会員を慎重に取り込む。 既存のカード契約は通常、アプリではなく決済事業者の移行手続きで移す必要があります。
よくある失敗
- アプリ独自の「支払い済み」フラグを信じる。 決済事業者のイベントを基準にしてください。
- クラスの定員をブラウザだけで確認する。
- 支払い失敗時に猶予期間がない。 カードの期限が昨日切れただけで、入口で会員が断られてしまいます。
- カード情報を保存する。 カード情報は決済事業者に預けましょう。
- 不要な詳しい健康情報を集め、すべてのスタッフに見せる。
- 扉の入場を約束する前に、自分のハードウェアをアプリで制御できるか確認していない。
ジム管理ソフトのほうが良い場合
専用のジム・スタジオ管理ソフトは、請求、休会、クラス予約、チェックイン、入口の機器との連携、ブランド付きの会員アプリ、レポートをすでに備えています。ほとんどのジム、特に入退館機器がある店舗や複数の店舗を持つジムには、そちらのほうが適しています。必要な機能で比較し、解約時にどうなるか(会員と決済のサブスクリプションをエクスポートできるか)も確認しましょう。
自分で作るのが向いているのは、ルールがシンプルな小さなスタジオで、ソフトの費用が見合わない場合、自分の運営モデルに合わないとき(コーチング、プログラム、クラスを組み合わせた形など)、またはジム向けのソフトを事業として作るときです。施設ではなく、クライアントを個別に指導している場合は、パーソナルトレーニングの事業の始め方を、有料のオンラインコンテンツについては会員制サイトの作り方をご覧ください。
Mythex での構築
Mythex では、ジムアプリをチャットで説明し、スマートフォンとタブレットの両方のサイズでライブプレビューにより確認できます。会員とその予約を保存する必要が出たら、エージェントが専用の Postgres データベースを追加します(または /database と入力します)。Mythex には、アプリ向けの組み込みのサインインや決済はありません。自分の Stripe アカウントとキーを接続し、プロジェクトのシークレットとして保存します(Stripe のレシピ)。会員のログインは、自分で選んだ認証の方法で追加します。Stripe の Webhook には公開 URL が必要なので、エンドツーエンドでテストする前にアプリを公開してください。Pro プランなら、Mythex がこのアプリを Android と iPhone のアプリとして包み、Google Play の内部テストと TestFlight に送ることもできます。
デザインの出発点としては、ヨガスタジオのウェブサイト テンプレートが、コーチのプロフィールと雑誌風のレイアウトを備えています。
よくある質問
ジム会員管理アプリに必要なものは何ですか?
会員アカウント、定期請求のある会員プラン、定員制限つきでメンバーが予約できるクラスのスケジュール、入口でのチェックイン、そして会員・支払い・出席状況をスタッフが見られる画面です。休会、回数券、同意書も通常は後から必要になります。
ジムはどのように定期的な支払いを受け付けるべきですか?
決済事業者のサブスクリプション機能(Stripe Billing など)を使います。会員がカード情報を保存し、事業者が一定期間ごとに請求し、失敗した支払いを再試行し、アプリに通知します。カード番号を自分のシステムで保存することは決してしないでください。
会員はどのようにチェックインしますか?
よくあるのは、会員アカウントの QR コードを表示し、入口でスタッフやタブレットが読み取る方法です。アプリは会員資格が有効かを確認し、来館を記録します。
ジム管理ソフトを作るべきか、買うべきか?
ほとんどのジムには、既存のジム管理ソフトのほうが適しています。請求、入退館の機器、アプリをまとめて扱えるからです。自作が意味を持つのは、特殊な運営モデルがある場合、必要な機能が単純な小さなスタジオの場合、またはほかのジムに売る製品として作る場合です。