課題
このプロダクトは、相互に関連する運用上の課題を解決する必要がありました。
小売、レストラン、サロンの各業態はそれぞれ異なるPOSの挙動を必要としますが、複数店舗を運営する事業者は、1つのプラットフォーム、1つのログイン、1組のレポートを求めています。また、物理店舗のフロントデスク端末は常時インターネット接続に依存できず、1つの拠点で複数のPOS端末が同時に稼働し、同じ進行中の注文を共有する必要がある場合も多くあります。
プラットフォーム & SaaS
マルチテナントPOSのケーススタディ:4つの業種にまたがる共有クラウドプラットフォーム、オフラインファーストデバイス、顧客向けディスプレイ。

プロジェクト概要
IMFlow360は、マルチテナント・マルチセクター対応のSaaS型POSプラットフォームです。Laravelクラウドアプリケーションが、Livewireベースの管理コンソールとデバイスAPIの背後で、テナントデータ、課金、在庫、会計を一元管理する一方、オフラインファーストのFlutter製POSが現場のオペレーションを担い、クラウドへバッチ同期を行います。プロダクトブリーフとFigmaデザインをもとにエンドツーエンドで仕様化された連動Flutter製顧客向けディスプレイアプリケーションは、ゲストに注文サマリーを表示し、会計時にチップとレビューの回答を取得します。1つの共有スキーマが、小売、レストラン、美容/サロン・スパ、予約制サービスという4つの業種に対応しており、業種ごとにコードを分岐させるのではなく、テナントごとに挙動を切り替える設計です。
課題
小売、レストラン、サロンの各業態はそれぞれ異なるPOSの挙動を必要としますが、複数店舗を運営する事業者は、1つのプラットフォーム、1つのログイン、1組のレポートを求めています。また、物理店舗のフロントデスク端末は常時インターネット接続に依存できず、1つの拠点で複数のPOS端末が同時に稼働し、同じ進行中の注文を共有する必要がある場合も多くあります。
技術的アプローチ
Laravelクラウドアプリケーションは、行単位のマルチテナンシーの背後で信頼できる唯一の情報源(source of truth)を保持し、すべてのレコードを事業者・拠点単位でスコープするとともに、コードベースを分けるのではなくbusiness_typeフィールドによってカタログ、注文、ワークフローの挙動を切り替えます。すべての予約は11段階のステータスライフサイクルを経て進行し、決済の順序は事業者ごとに設定可能で、決済・チップ・レビューの各ステップがすべて解決されて初めて注文がクローズ扱いとなり、クライアント生成のUUIDをキーとする単一のバッチエンドポイントを通じてクラウドと同期されます。オフラインファーストのFlutter製POSは、クラウドのブートストラップデータをローカルに複製し、すべてのトランザクションを同じアウトボックスにキューイングします。1つの拠点内の複数のPOS端末は、2秒間隔のハートビート、6秒のタイムアウト、注文単位の楽観的並行性制御による決定論的なホスト選出を通じてLAN上で協調動作し、進行中の注文がすべての端末で最新の状態に保たれ、ホストに障害が発生した場合も自動的にフェイルオーバーして継続します。連動するFlutter製顧客向けディスプレイアプリケーションは、型付きメッセージ契約に基づき、ローカルのWebSocket接続を通じてPOSと接続し、注文サマリーを反映するとともに、来店終了時にゲストのチップとレビューの入力を収集します。
マーケティングサイト — プラットフォームナビゲーション
サイトのメガメニューはPlatformとIndustriesを開いた状態で、Sell(Point of Sale、Payments、Commerce)、Schedule(Appointments、Team、Waitlists)、Operate(Inventory、Multi-Location、Integrations)、Understand(Customers & CRM、Analytics & Reporting、Marketing & Automation)を表示するほか、Beauty & Wellness、Retail & Food、Healthcare & Appointmentsの各業界、そしてIMBeautyGlowコンパニオンアプリへの案内も含まれます。

フロントデスクダッシュボード
POSのフロントデスク画面には、本日の予約キューがステータス別アクション(確認、チェックイン、施術開始、決済)とともに表示され、確認済み・施術中・決済待ちの予約件数もリアルタイムで確認できます。

顧客・決済詳細
予約を開くと、キュー画面を離れることなく、顧客のプロフィール、メモ、サービス一覧に加え、支払済みのデポジット、チップ、残高を示すライブ決済サマリーが表示されます。

複数ゲスト予約
1件の予約に複数のゲストを含めることができ、それぞれが自分のサービスと階層を選択でき、スタッフや座席の割り当て前にライブサマリーとしてまとめられます。

スタッフ・座席割り当て
対応可能なスタッフのプールから椅子へドラッグすることで、ゲストごとにスタッフを割り当てます。ドロップ前に各カードで対応可否と専門分野を確認できます。

分割会計
会計画面では全額決済、ゲスト別均等分割、カスタム分割に対応しており、税金、追加オプション、デポジットはあらかじめ各ゲストの支払金額に反映されています。

ゲスト向けチップ画面
連動する顧客向けディスプレイでは、ゲストが定額またはカスタムのチップを選択すると、対応したスタッフ間で分配されます。これは、予約がクローズされるまでに完了が必要なゲスト応答ステップの1つです。

クラウド管理ダッシュボード
クラウド管理画面では、前年対比の売上推移、売上別のサービス構成、本日のスケジュールに加え、未確認の予約・在庫不足・支払期限超過の請求を放置した場合のコストに応じて優先順位付けする要対応パネルを確認できます。

プロダクトとインターフェース
プラットフォームの幅広さ
根拠
アプローチを見る
IMFlow360は、マルチテナント・マルチセクター対応のSaaS型POSプラットフォームです。Laravelクラウドアプリケーションが、Livewireベースの管理コンソールとデバイスAPIの背後で、テナントデータ、課金、在庫、会計を一元管理する一方、オフラインファーストのFlutter製POSが現場のオペレーションを担い、クラウドへバッチ同期を行います。プロダクトブリーフとFigmaデザインをもとにエンドツーエンドで仕様化された連動Flutter製顧客向けディスプレイアプリケーションは、ゲストに注文サマリーを表示し、会計時にチップとレビューの回答を取得します。1つの共有スキーマが、小売、レストラン、美容/サロン・スパ、予約制サービスという4つの業種に対応しており、業種ごとにコードを分岐させるのではなく、テナントごとに挙動を切り替える設計です。
この取り組みには マルチテナント クラウド管理プラットフォーム, オフラインファーストPOSアプリケーション(Windows、Mac、iPad、Android対応), 顧客向けディスプレイアプリケーションのアーキテクチャ、メッセージ契約、ビルド仕様, 在庫・会計モジュール, SaaS課金・サブスクリプションレイヤー, スーパー管理者用オペレーターコンソール, オフラインバッチ同期エンジンとデバイスAPI, 28ページ構成のマーケティングサイト デザインシステム(ホームページ、プラットフォームページ、7業種向けの業界別ページ)— 承認レビュー中 が含まれます。
Muhammad Muzammil Qureshi は 最高技術責任者(CTO) として、本事例で説明されている技術方針、アーキテクチャ、デリバリー、運用体制全般に責任を持ちました。
IMFlow360は Laravel 11 · Livewire 3 · Flutter · GetX · Laravel Sanctum · MySQL を使用しています。
はい。IMBeautyGlowは美容・ウェルネス事業者向けの顧客向けエコシステムで、IMFlow360と連携しています。これは本ポートフォリオの別項でも紹介している同じプラットフォームで、同じ事業データを参照・反映し合っています。
POSは1つのFlutterコードベースでWindows、Mac、iPad、Androidに対応しているため、事業者はフロントデスクにすでにあるハードウェアにそのまま導入できます。
各事業者はテーマ設定で1つのブランドカラーを選択し、すべての画面はCSSのcolor-mix()を通じてそのアクセントカラーを導出します。マーケティングサイトでは、その値をIMFlow360独自のティール色に固定しているだけなので、マーケティング用のスクリーンショットとテナントのスクリーンショットは、色違いの同じビルドということになります。
マーケティングサイトは、ホームページ、プラットフォームページ、美容・ウェルネス関連7業種向けの専用ページからなる28ページ構成のシステムとして設計されており、共通のヘッダー、タイポグラフィ、コンポーネントセットの上に構築されています。現在は実装に先立ち承認レビューの段階にあります。
1つのサイドバーから、Overview、Appointments、Sales & POS、Inventory、Purchase、Projects、HR & Payroll、Finance、CRM、Reportsの10モジュールにアクセスでき、管理コンソールを離れることなくテナントの業務全体を把握できます。
1つのメガメニューに4つのカテゴリがあります:Sell(Point of Sale、Payments、Commerce)、Schedule(Appointments、Team、Waitlists)、Operate(Inventory、Multi-Location、Integrations)、Understand(Customers & CRM、Analytics & Reporting、Marketing & Automation)。
12業界がBeauty & Wellness、Retail & Food、Healthcare & Appointmentsの3グループに分類されています — Beauty Salons、Hair Salons、Barbers & Grooming、Spas & Wellness、Nail Salons、Bridal & Makeup Studios、Aesthetic Businesses、Retail Stores、Grocery Stores、Restaurants、Dental、Appointment Businessesの12業界のうち、7業界(Hair Salons、Barbers & Grooming、Spas & Wellness、Nail Salons、Bridal & Makeup Studios、Aesthetic Businesses、Appointment Businesses)には、28ページのデザインパック内に専用のフルページが用意されています。
Let's build what's next
Whether you are starting from an idea, replacing an existing platform, or scaling a system, let's talk.
Better Technology.
Brighter Possibilities.