プラットフォーム & SaaS

IMFlow360

マルチテナントPOSのケーススタディ:4つの業種にまたがる共有クラウドプラットフォーム、オフラインファーストデバイス、顧客向けディスプレイ。

見出しとライブダッシュボードのモックアップを備えたIMFlow360マーケティングサイトのホームページ・ヒーローエリア
マーケティングサイト — ホームページ

プロジェクト概要

実際の運用業務を軸に構築された、一体化したプラットフォーム。

IMFlow360は、マルチテナント・マルチセクター対応のSaaS型POSプラットフォームです。Laravelクラウドアプリケーションが、Livewireベースの管理コンソールとデバイスAPIの背後で、テナントデータ、課金、在庫、会計を一元管理する一方、オフラインファーストのFlutter製POSが現場のオペレーションを担い、クラウドへバッチ同期を行います。プロダクトブリーフとFigmaデザインをもとにエンドツーエンドで仕様化された連動Flutter製顧客向けディスプレイアプリケーションは、ゲストに注文サマリーを表示し、会計時にチップとレビューの回答を取得します。1つの共有スキーマが、小売、レストラン、美容/サロン・スパ、予約制サービスという4つの業種に対応しており、業種ごとにコードを分岐させるのではなく、テナントごとに挙動を切り替える設計です。

01

課題

このプロダクトは、相互に関連する運用上の課題を解決する必要がありました。

小売、レストラン、サロンの各業態はそれぞれ異なるPOSの挙動を必要としますが、複数店舗を運営する事業者は、1つのプラットフォーム、1つのログイン、1組のレポートを求めています。また、物理店舗のフロントデスク端末は常時インターネット接続に依存できず、1つの拠点で複数のPOS端末が同時に稼働し、同じ進行中の注文を共有する必要がある場合も多くあります。

02

技術的アプローチ

意図的な技術的アプローチがこのシステムを形作りました。

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コンパニオンアプリへの案内も含まれます。

PlatformとIndustriesを開いた状態のIMFlow360マーケティングサイトのメガメニューで、すべてのモジュールと業種を一覧表示

フロントデスクダッシュボード

プロダクトを詳しく見る。

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

予約キューと統計タイルを備えたIMFlow360のPOSフロントデスクダッシュボード

顧客・決済詳細

プロダクトを詳しく見る。

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

VIP顧客のプロフィール、サービス内容、決済サマリーを表示するIMFlow360の予約詳細パネル

複数ゲスト予約

プロダクトを詳しく見る。

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

サービスの階層選択とライブ予約サマリーを備えたIMFlow360の複数ゲスト予約ウィザード

スタッフ・座席割り当て

プロダクトを詳しく見る。

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

各ゲストと椅子にドラッグ&ドロップでスタッフカードを割り当てるIMFlow360のスタッフ割り当て画面

分割会計

プロダクトを詳しく見る。

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

全額決済、ゲスト別分割、カスタム分割のオプションを備えたIMFlow360の会計画面

ゲスト向けチップ画面

プロダクトを詳しく見る。

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

定額とカスタムのチップ金額をスタッフ間で分配するIMFlow360の顧客向けディスプレイのチップ画面

クラウド管理ダッシュボード

プロダクトを詳しく見る。

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

売上推移、サービス構成、要対応パネルを表示するIMFlow360のテナント管理概要ダッシュボード

プロダクトとインターフェース

構築したもの

  • マルチテナント クラウド管理プラットフォーム
  • オフラインファーストPOSアプリケーション(Windows、Mac、iPad、Android対応)
  • 顧客向けディスプレイアプリケーションのアーキテクチャ、メッセージ契約、ビルド仕様
  • 在庫・会計モジュール
  • SaaS課金・サブスクリプションレイヤー
  • スーパー管理者用オペレーターコンソール
  • オフラインバッチ同期エンジンとデバイスAPI
  • 28ページ構成のマーケティングサイト デザインシステム(ホームページ、プラットフォームページ、7業種向けの業界別ページ)— 承認レビュー中

プラットフォームの幅広さ

コアケイパビリティ

  • 小売、飲食、美容/サロン/スパ、予約サービスなど、業種別の多業種対応
  • サービス完了と注文全体の完了(支払い → チップ → レビュー)を切り分けた、11段階のステータスから成る予約ライフサイクル
  • クライアント側で生成されたUUIDをキーとする、ローカルデータストアとアウトボックス方式のクラウド同期を備えたオフラインファーストのPOS
  • マルチ端末LANクラスタリング — 決定論的なホスト選出、2秒間隔のハートビート、注文単位の楽観的並行性制御、自動フェイルオーバー
  • 複数デバイスにまたがるスタッフのPINログインとロールベースの権限管理
  • POS側でホストされるWebSocketサーバーが、型付けされたメッセージ仕様でペア接続された顧客向けディスプレイを駆動
  • 在庫品目、カテゴリー、会計の勘定科目表
  • StripeおよびRazorpayによる決済処理
  • SaaSの請求、サブスクリプション、モジュール単位の機能制御
  • 概要、予約、販売・POS、在庫、購買、プロジェクト、人事・給与、財務、CRM、レポートの各専用モジュールを備えたテナント管理コンソール

根拠

検証済みの範囲と成果

  1. 3つの連携アプリケーション:マルチテナントクラウドプラットフォーム、オフラインファーストPOS、顧客向けディスプレイシステム
  2. 業種によって挙動が切り替わる1つの共有データモデルが、約146テーブルからなる単一のスキーマから、小売、レストラン、美容/サロン・スパ、予約制サービスという4つの業種に対応
  3. クライアント生成の識別子を通じて、すべての現場デバイスのトランザクションをクラウドと突き合わせる、1つのオフラインバッチ同期エンドポイント
  4. POS↔CDS間の型付きメッセージ契約(画面状態メッセージ5種、ゲスト応答メッセージ2種)— CDSの機能コードが存在する前段階で、エンドツーエンドで策定

アプローチを見る

関連サービスと技術記事

質問と回答

IMFlow360に関するよくある質問

More questions? Feel free to reach out.

関連プロジェクトについて相談する →
IMFlow360とは何ですか?

IMFlow360は、マルチテナント・マルチセクター対応のSaaS型POSプラットフォームです。Laravelクラウドアプリケーションが、Livewireベースの管理コンソールとデバイスAPIの背後で、テナントデータ、課金、在庫、会計を一元管理する一方、オフラインファーストのFlutter製POSが現場のオペレーションを担い、クラウドへバッチ同期を行います。プロダクトブリーフとFigmaデザインをもとにエンドツーエンドで仕様化された連動Flutter製顧客向けディスプレイアプリケーションは、ゲストに注文サマリーを表示し、会計時にチップとレビューの回答を取得します。1つの共有スキーマが、小売、レストラン、美容/サロン・スパ、予約制サービスという4つの業種に対応しており、業種ごとにコードを分岐させるのではなく、テナントごとに挙動を切り替える設計です。

IMFlow360では何を構築しましたか?

この取り組みには マルチテナント クラウド管理プラットフォーム, オフラインファーストPOSアプリケーション(Windows、Mac、iPad、Android対応), 顧客向けディスプレイアプリケーションのアーキテクチャ、メッセージ契約、ビルド仕様, 在庫・会計モジュール, SaaS課金・サブスクリプションレイヤー, スーパー管理者用オペレーターコンソール, オフラインバッチ同期エンジンとデバイスAPI, 28ページ構成のマーケティングサイト デザインシステム(ホームページ、プラットフォームページ、7業種向けの業界別ページ)— 承認レビュー中 が含まれます。

IMFlow360における Muhammad Muzammil Qureshi の役割は何ですか?

Muhammad Muzammil Qureshi は 最高技術責任者(CTO) として、本事例で説明されている技術方針、アーキテクチャ、デリバリー、運用体制全般に責任を持ちました。

IMFlow360を支える技術は何ですか?

IMFlow360は Laravel 11 · Livewire 3 · Flutter · GetX · Laravel Sanctum · MySQL を使用しています。

IMFlow360には顧客向けのコンパニオンアプリはありますか?

はい。IMBeautyGlowは美容・ウェルネス事業者向けの顧客向けエコシステムで、IMFlow360と連携しています。これは本ポートフォリオの別項でも紹介している同じプラットフォームで、同じ事業データを参照・反映し合っています。

POSアプリケーションはどのデバイスで動作しますか?

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

Have a complex system that needs to be built right?

Whether you are starting from an idea, replacing an existing platform, or scaling a system, let's talk.

Better Technology.
Brighter Possibilities.