2025年9月04日·1分で読めます

小規模チェーンの複数拠点設定: 支店、スタッフ、顧客の扱い

小規模チェーン向けの複数拠点設定: 支店構造、スタッフの役割、共有顧客の扱いを設計し、各拠点が必要なデータだけを見られるようにする方法。

小規模チェーンの複数拠点設定: 支店、スタッフ、顧客の扱い

複数拠点設定でよく起きる問題

小規模チェーンの複数拠点設定は、最初は「みんなで同じシステムを使う」という単純な発想から始まることが多いです。問題は、各支店が同じ画面、同じ一覧、同じボタンを使うようになると生じますが、実際には責任範囲が異なることがほとんどです。

最もよくある失敗は可視性の混在です。拠点Aの受付スタッフが拠点Bの予約やメモ、請求書を見られてしまったり、あるマネージャーがローカルの問題を直そうとして、誤って全拠点に影響するグローバル設定を変更してしまったり。最初は便利に感じても、すぐにノイズとリスクになります。

「各拠点は見るべきものだけを見る」──シンプルに言えば、スタッフは自分の業務と拠点に関係する顧客、注文、スケジュール、在庫、レポートだけを見るべきです。もしある人が複数の拠点で働くなら両方見られるように。地域管理者は全部見られても構いませんが、それは意図的にそう設定した結果であるべきです。

何もしない(あるいは非公式ルールに頼る)と、次のような予測可能な問題が出てきます:

  • 一覧に他拠点のレコードが混ざり、スタッフが誤ったレコードを編集する。
  • 顧客情報、メモ、支払い状況が拠点を越えて漏れる。
  • フィルターが明確でないまま合計が混ざり、レポートが正しく見えない。
  • サポートが「なぜこれが見えるのか」「見つからない」といった問い合わせに時間を奪われる。

目的はすべてを閉じることではなく、何を共有し何を分離するかを意図的に決めることです。多くのチェーンは顧客データベースは共有したい(来店者をどこでも認識したい)が、ローカルのスケジュール、内部メモ、スタッフの業績は拠点ごとに分けたいと考えます。

ノーコードビルダーを使うなら、画面やワークフローを作る前にこれらのルールを決めてください。後から権限をパッチで修正する羽目になると手間が増えます。

最初に定義すべきコア要素

複数拠点の設計は、画面やフォーム、レポートを作る前にいくつかの基本を合意しておくと上手くいきます。これを省くと権限が混乱し、データの信頼性が落ちます。

まずは構成要素の名前付けから始めましょう。多くの小規模チェーンでは、支店(ロケーション)、ユーザー(スタッフアカウント)、ロール(職種)、顧客(共有ID)、トランザクション(注文、予約、チケット、返品)が必要になります。

次に、どのレコードがグローバルでどれが拠点所有かを決めます。グローバルなレコードは会社全体で共有されるもの(顧客プロファイル、商品カタログ、企業価格ルールなど)。拠点所有のレコードは特定の支店に属するもの(日次現金レポート、ローカルのシフト、支店固有の在庫数など)です。

権限は1次元ではなく2次元で考えます:

  • スコープ: どの拠点を見られるか。
  • アクション: 見えるレコードに対して何ができるか。

参照(見る)権限と編集(書き換える)権限は分けましょう。地域マネージャーは全拠点を閲覧できても、自分の拠点のスタッフ名簿だけ編集できる、というような設定が現実的です。受付スタッフは顧客プロファイルを参照できても、自分の拠点の予約しか作成・編集できない、などです。

最後にレポートの在り方を決めてください。多くのチームは日々の管理のための拠点別パフォーマンスと、オーナーや経理向けの拠点横断レポートの両方を必要とします。これを早めに合意しておくと、後でデータが混ざって分かりにくいレポートを作ることを防げます。

拠点を設計する際に陥らない方法

複数拠点の設計はまず「拠点(branch)はビジネス上何を意味するか」を決めることから始まります。あるチームでは実際に顧客が来る小売店舗を指し、別のチームでは診療所や倉庫、フランチャイズ単位など、分離が必要な単位を指すかもしれません。

明確な定義から始める

1つの意味を選び、データモデルでそれを貫いてください。後から部門やサービスエリアが必要になったら、支店レコードを過負荷にするのではなく別の概念として追加します。

支店には名前が変わっても変わらない安定した識別子を付けてください。短いコード(例: "NYC-01")は、住所や名前をキーにするより扱いやすい場合が多いです。

日常業務で必要となる情報を保存します: 支店コードと表示名、住所、タイムゾーン(営業時間や予約に重要)、営業時間(必要なら祝日の例外も)、状態(稼働中、一時休業、アーカイブなど)。

次にスタッフと支店の関係を決めます。あるビジネスでは厳格に「一人=一拠点」の方針を取ることもありますし、スタッフを複数拠点で移動させることもあります。どちらでも可能ですが、業務割り当てやレコードのフィルタリングの方法が変わります。

実用的には、Staff-Branchの割り当てを別テーブルでモデル化しておくと、後で一対多をサポートしたいときに大幅な手直しをせずに済みます。

成長を特別扱いにしない

新しい拠点を特別ケースではなくデータとして扱ってください。簡単なテストは「拠点7を追加してもロジックを変えずに済むか?」です。理想は、新しい支店レコードを作ってタイムゾーンと営業時間を設定し、スタッフを割り当てるだけで済むこと。多くのルールを編集しているなら、モデルが過度に結びつきすぎています。

スタッフのアクセス: ロール、スコープ、できること

きれいな権限設計は1つの考え方に基づきます: 「できること(ロール)」と「見える範囲(スコープ)」を分ける。これを混同すると、親切のつもりで与えたアクセスがいつの間にか過剰共有に変わってしまいます。

多くの小規模チェーンはロールを単純に保てます: オーナー、地域マネージャー、支店マネージャー、スタッフ、サポート。各ロールに対してデフォルトの権限を定義し、細かく動かしすぎないことがポイントです。顧客、予約や注文、在庫、メモ、レポートなどの領域ごとに、参照・作成・編集がそれぞれ何を意味するかを決めます。そして、エクスポートや管理設定の変更など、デフォルトでは許可しないアクションを明確にしておきます。

混乱を防ぐチェックリスト:

  • レコードを閲覧できるか
  • 新しいレコードを作成できるか
  • 既存レコードを編集できるか
  • データをエクスポート/ダウンロードできるか
  • 管理操作(ユーザー管理、ルール変更、削除)ができるか

スコープはロックのもう一方です。ほとんどのチームは三つのスコープで十分です: 自分の拠点のみ、割り当てられた複数拠点、全拠点。支店マネージャーは自分の拠点で編集できるが他拠点は見られない、地域マネージャーは複数拠点を閲覧できるがスタッフやシフトの編集は制限される、といった具合です。

例外はあらかじめ計画しておきましょう。一時的なアクセスは自動で期限切れになる仕組みにし、人の記憶に頼らないでください。トレーニング用アカウントはダミーデータか制限されたサンドボックスを使い、外部契約者には最小限のスコープを与え、エクスポートはデフォルトで許可しないのが良い実務です。

共有顧客を作っても情報を漏らさない方法

承認と制限を自動化する
割引や返金などの承認フローをノーコードで設定できます。
ワークフローを作成

共有顧客データベースは複数拠点を運用する多くのチェーンにとって鍵ですが、同時に拠点間で情報が漏れる最短ルートにもなり得ます。どこまでを「1人の顧客、どの拠点でも同じ」とし、どの情報をローカルに留めるかを決めてください。

共有されるデータは通常、顧客プロファイル(名前、連絡先)、ロイヤルティステータス、通話不可やメール希望などの大まかな連絡手段の好みなどです。これらはどの支店でも顧客を認識して一貫した対応をするのに役立ちます。

拠点固有のデータは支店に紐づけて保存します: 来店履歴、購入履歴、予約、サービスメモ、ある拠点専用のタグ(例: "支店AでのVIP" や "来週フォロー要")。こうしてローカルに留めることで不要なノイズを減らし、スタッフが見るべきでない詳細を見られないようにできます。

見るルールを明確にする

最も単純な方針は: 全員が顧客を検索できるが、全てを見られるわけではない、です。

受付スタッフはプロファイルの詳細や連絡方法の設定、その拠点の来店履歴だけを見られる。マネージャーは拠点横断の合計(生涯支出など)を見られるが、他拠点の詳細メモは見られない。HQやサポート役はエスカレーション時にフル履歴を閲覧できるが、それは必要時のみ。マーケティングはオプトイン状況やセグメントにアクセスするが、個人的なサービスノートは見られない、という分け方です。

こうすることで共有顧客データベースは便利さを保ちつつ、共有の日記帳にならないようにできます。

機密フィールドは設計段階で保護する

機密データ(プライベートメモ、文書、苦情、医療や法的な詳細)は一般メモと分け、より厳しい権限で保護してください。文書を保存する場合は、誰がアップロードできるか、誰が閲覧できるか、閲覧が同じ拠点に限定されるかを明確にします。

例: 顧客が支店1でヘアカットを受け、支店2で製品を購入したとします。支店2のスタッフはロイヤルティ階層や「香りにアレルギーがある」という設定は見られても、支店1の詳細な苦情メモは見られない、という扱いです。

シンプルなデータ分離パターン

重要な決定は、データをタグで分けるか、物理的に分けるかです。多くの小規模チェーンは1つのデータベースで明確なルールを運用することで十分です。

パターン1: 1つのデータベース、すべてのレコードにBranchIDを持たせる

これが一般的な選択です。注文、予約、在庫数、スタッフの操作履歴は同じテーブルに入れ、各行にBranchID(またはLocationID)を含めます。共有顧客、拠点横断レポート、複数拠点で働くスタッフのサポートに向いています。

パターン2: 拠点ごとに別データベース

これは「安全そう」に見えるかもしれませんが、日常コストが増えます。移行は何度も発生し、レポート作成が難しく、共有顧客は同期の問題になります。

実用的なルール:

  • 共有顧客、共有レポーティング、柔軟なスタッフ対応が必要なら1つのデータベースにBranchIDを使う。
  • 法規制や契約で分離が必須なら拠点ごとのデータベースを使う。

どのパターンでも、拠点フィルタリングは自動化してください。各画面やレポートがフィルタを覚えていることに頼らないでください。ロケーションをユーザーセッションの一部として扱い、一箇所で強制することで、すべての一覧や操作がデフォルトでスコープされるようにします。

また、グローバル項目とローカル上書きの計画を立ててください。定義はグローバルに保持し(カタログ項目、サービステンプレート、価格ルール)、必要に応じて拠点ごとのオーバーライドフィールド(拠点別価格、在庫閾値、営業時間)を追加すると、カタログ全体を拠点ごとにコピーする手間を避けられます。

監査トレイルは早めに追加してください。"誰がどこでこれを変えたか" に答えられる必要があります。最低限、ユーザーID、拠点ID、タイムスタンプ、アクション(作成、更新、削除)、そして機密フィールドについては変更前後の値を記録しましょう。

ステップバイステップ: 支店、権限、可視ルールの設定

拠点スコープの画面を作る
スタッフ画面を常に現在の拠点にデフォルト表示させ、ミスを減らします。
アプリを作る

目的は明快です: 人々は仕事をするのに必要なものだけを見て、それ以外は見ない。到達しやすい方法は、何が拠点に属し何が共有か、スタッフが画面をどう移動するかを決めることです。

実用的な設定手順

まずはデータベースやアプリビルダーに触る前に紙や簡単なスプレッドシートで整理しましょう。

  1. 保持するすべてのデータ項目を一覧にし(予約、注文、在庫、スタッフメモ、顧客プロファイルなど)、各項目をグローバル(共有)か拠点所有かにマークする。
  2. ロールを平易な言葉で定義する(例: 受付、技術スタッフ、店舗マネージャー、本社)。各ロールに対して拠点スコープを決める: 単一拠点、割り当て拠点、全拠点。
  3. 共有顧客に関するルールを定める: どの情報が拠点間で見えるか、どれがローカルに留まるか。共有フィールドを誰が編集できるかを決める。
  4. スタッフ向けとマネージャー向けで異なる画面とレポートを設計する。スタッフビューはデフォルトで「自分の拠点」にする。マネージャーはフィルターや比較を使えるように。
  5. 異なる拠点のサンプルアカウントでテストする。実作業(予約作成、返金、顧客更新、レポート表示)を試し、システムがブロックすべき操作を確実にブロックするか確認する。

テストを省略しないでください。多くの権限問題は実際にそのロールでログインして日常業務を素早く行おうとしたときに初めて見つかります。

よくある間違いとその回避法

すべての拠点向けのWebとモバイル
1つのノーコードプロジェクトからウェブとネイティブアプリを作成できます。
プロジェクト開始

複数拠点の問題の多くは大きな失敗ではなく、小さなデフォルト設定が静かにデータを漏らしたり、人が仕事をするのを妨げたりすることです。すべての画面、レポート、エクスポートに拠点ルールが必要だと想定してください。

レポートとエクスポートは見落とされがちです。画面上では拠点でフィルタしているのに、エクスポートで「全顧客」や「先月の売上」を出すと他拠点のデータが混ざってしまうことがあります。エクスポートは別機能としてフィルタとテストを用意しましょう。スタッフがアプリ上で見られないレコードをエクスポートできてはいけません。

もう一つの問題は、マネージャー役割がいつの間にか管理者になってしまうことです。画面単位で権限をまとめると起きやすいので、リスクごとにアクションを分けてください。マネージャーは返金やシフト編集、顧客メモは必要でも、ユーザー作成や権限変更、支店設定はできないように分離します。

共有顧客はすべてを一つのフィールドに入れてしまうと混乱します。拠点専用のメモ(例: "ここではいつも割引を求める")をグローバルノートに入れると過剰共有になります。共有顧客の事実と拠点特有の来店履歴は別々に保存してください。

監査トレイルがないと責任の所在が不明になり、手戻りが増えます。異なる拠点が同じ顧客を更新するときに「誰がいつ何を変えたか」が分かる必要があります。簡単な created_by、updated_by、タイムスタンプでも大いに助かります。

最後に、複数拠点を行き来するスタッフを想定してください。スタッフを単に別の拠点に"移動"するのではなく、マルチ拠点アクセスを与える設計にしておかないとスケジュールや可視性が壊れます。

早めに導入しておく実務的な修正:

  • 各データタイプについてルールを書く: グローバル(共有)か拠点専用か。
  • アクションでロールを定義し、そこに拠点スコープ(単一拠点か複数か)を追加する。
  • すべての一覧、レポート、エクスポートに拠点フィルターを組み込む。
  • 支店メモと共有顧客データを分けて保存する。
  • 顧客と注文の変更には編集履歴(ユーザー+時間)を記録する。

本番前の簡単チェックリスト

すべての拠点にアクセスを開放する前に、テストアカウントで1日の業務をシミュレーションしてください。各拠点に少なくとも1名の従業員アカウントと、地域マネージャー役のアカウントを作り、通常業務をこなします: 予約、注文作成、顧客更新、レポート実行。

次のチェックリストで混乱を招く問題を見つけてください:

  • 支店従業員としてログインし、自分の拠点の注文・予約・タスクのみが見えているか確認する。検索やフィルター、最近の項目に他拠点が出ていないこと。
  • 複数拠点を監督するマネージャーとしてログインし、複数拠点の閲覧はできるが、編集は割り当てられた拠点だけに制限されていること。
  • 異なる拠点から同じ顧客プロファイルを開いて、名前や連絡先がどこでも一致し、更新が重複を生まないこと。
  • 管理やレポートビューでアクティブ拠点を切り替え、合計値が切り替わるかを比較する。いくつかの日をスポットチェックして、拠点切替で数字が変わり、全拠点ビューの合計が個別合計の和になることを確認する。
  • スタッフアカウントを無効化して、アクセスが即時に取り消されること(アプリアクセスおよび管理やAPI経路の両方)。

さらに1つの実例をテスト: 顧客が支店Aで購入し、その後支店Cに電話をかけてサポートを求めた場合。支店Cのスタッフは共有顧客プロファイルを見られるが、支店Aの内部メモや制限された記録は見られないことを確認します。

事例: 1人の顧客、3拠点

役割と範囲ルールを設定する
早い段階で役割と拠点の範囲を定義して、意図しない情報共有を防ぎます。
AppMasterを試す

ダウンタウン、リバーサイド、モールの3拠点を持つ小さな美容室チェーンを想像してください。顧客リストは共有してどの支店でも予約できるようにしつつ、各支店は自店のスケジュール、スタッフ、日常メモを保持します。

ダウンタウンの受付のMayaはシステムを開きます。彼女が見られるのはダウンタウンのカレンダー、ダウンタウンのスタッフ、今日の予約だけです。顧客検索は全拠点でできるが、表示されるのは基本プロファイル(名前、電話番号、アレルギー、ロイヤルティ状況)だけで、リバーサイドのスケジュールやスタッフ業績、非公開メモは見えません。

オーナーのAlexは全拠点のカレンダーや拠点別の収益レポートを見られ、スタッフロールを管理できます。大きな割引の承認など例外も承認できます。

Jordanは普段はダウンタウンを利用しますが、今週はモールで急遽カットを受けました。モールでのチェックイン時、スタッフはJordanのコアプロファイルとサービス履歴(いつ何を誰が実施したか)を見ます。施術後、モールは新しいサービス履歴を追加し、ダウンタウンでも後で参照できるので同じ質問を繰り返さず適切なフォローができます。

精算時の難しい場面もあります。Jordanが待ち時間が長かったとして30%割引を求めたとします。モールの受付は割引リクエストを入力できるが、適用できるのは最大10%まで。超過分はAlexの承認が必要です。Alexが承認するとレシートが更新され、監査ログに誰が要求し誰が承認したかが残ります。

機密メモは別扱いです。スタイリストが「顧客は医療上の問題があって頭皮トリートメントは注意が必要」といったプライベートなメモを追加した場合、それを見られるのはスタイリストとオーナーのみ。受付スタッフには「特別な対応が必要」といった安全なフラグだけが見えるようにします。

うまく機能する理由はルールが少なく明確だからです: スケジュールやスタッフは拠点スコープ、顧客の基本情報は共有、機密メモは制限、割引には承認限度を設定する。

次のステップ: ルールを文書化し、アクセスをテストしてから構築する

複数拠点設定を整然と保つには、「誰が何を見られるか」の決定を機能のように書き出してテストすることが重要です。日常ケース(予約、顧客プロファイル、支払い、返金、メモ、レポート)をカバーする短い文を10〜15個程度作ってください。例:

  • スタッフは自分の拠点の顧客と注文を見られる。
  • 顧客の連絡先は全拠点で見えるが、メモは拠点専用にする。
  • マネージャーは拠点レポートを見られるが、全拠点合計を見られるのはオーナーのみ。
  • 返金はマネージャー承認が必要で、同じ支店内で処理する。
  • 価格表やグローバル設定を編集できるのは本社のみ。

画面やレポートで常に拠点スコープをデフォルトにする箇所を決めてください。画面が全拠点を表示できる場合は、それを明示的なフィルターにしてデフォルトにしないこと。良いテストは: レジ担当が何も意図せずに他拠点の日次収益レポートを開けてしまうか?もし開けてしまうならデフォルトを厳しくしてください。

管理者権限ではなく実際の役割でテストしてください。キャッシャー、マネージャー、本社の3つのテストユーザーを作り、次の現実的なフローを試します: 顧客が支店Aに電話し、次週支店Bを訪れ、支店Cで返金を求める。各担当者が必要なものだけ見られるか確認します。

権限のずれを防ぐために毎月のチェックを予定してください: 新しいロール、異動、新拠点、レポートアクセスの増加を見逃さないためです。

もしカスタムの内部ツールを作るなら、AppMaster (appmaster.io) は支店、ロール、業務ルールを一箇所でモデル化し、要件変化に合わせてクリーンなコードを再生成できるため、権限ルールを拡大に耐えられる形で保つのに役立ちます。

始めやすい
何かを作成する 素晴らしい

無料プランで AppMaster を試してみてください。
準備が整ったら、適切なサブスクリプションを選択できます。

始める