Platforms & SaaS

IMFlow360

Multi-tenant POS case study: a shared cloud platform, offline-first devices and customer displays across four business sectors.

IMFlow360 marketing website homepage hero with headline and a live dashboard mockup
Marketing site — homepage

Project overview

A connected platform built around real operating work.

IMFlow360 is a multi-tenant, multi-sector SaaS point-of-sale platform. A Laravel cloud application centralizes tenant data, billing, inventory, and accounting behind a Livewire administration console and a device API, while an offline-first Flutter POS runs the operational floor and syncs to the cloud in batches. A paired Flutter customer-display application, specified end-to-end from a product brief and Figma design, shows guests their order summary and captures tip and review responses at checkout. One shared schema serves four business types — retail, restaurant, beauty/salon/spa, and appointment-based services — with behavior switched per tenant rather than forked per industry.

01

The challenge

The product had to solve connected operational problems.

Retail, restaurant, and salon businesses each need different point-of-sale behavior, but a multi-location operator wants one platform, one login, and one set of reports. Front-desk devices in a physical location also cannot depend on a live internet connection, and a branch often runs several POS terminals at once that need to share the same in-progress orders.

02

Technical approach

A deliberate technical approach shaped the system.

A Laravel cloud application holds the source of truth behind row-based multi-tenancy, scoping every record by business and branch and differentiating catalog, order, and workflow behavior by a business_type field rather than by separate codebases. Every appointment moves through an eleven-status lifecycle that keeps payment order configurable per business and treats an order as closed only once payment, a tip step, and a review step have each been resolved — synced to the cloud through a single batch endpoint keyed on client-generated UUIDs. An offline-first Flutter POS mirrors the cloud's bootstrap data locally and queues every transaction in that same outbox. Multiple POS terminals in one branch coordinate over the LAN through a deterministic host election — a two-second heartbeat, a six-second timeout, and whole-order optimistic concurrency — so an in-progress order stays current on every terminal and survives a host failing over automatically. A paired Flutter customer-display application connects to the POS over a local WebSocket link, driven by a typed message contract, to mirror order summaries and collect guest tip and review input at the end of a visit.

Marketing site — platform navigation

A closer look at the product.

The site's mega-menu, open on Platform and Industries: Sell (Point of Sale, Payments, Commerce), Schedule (Appointments, Team, Waitlists), Operate (Inventory, Multi-Location, Integrations), and Understand (Customers & CRM, Analytics & Reporting, Marketing & Automation) — plus the Beauty & Wellness, Retail & Food, and Healthcare & Appointments industries, and the IMBeautyGlow companion-app callout.

IMFlow360 marketing site mega-menu open on Platform and Industries, listing every module and vertical

Front-desk dashboard

A closer look at the product.

The POS front-desk view: today's appointment queue with per-status actions (Confirm, Check In, Start Service, Take Payment) and live counts for confirmed, in-service, and payment-pending appointments.

IMFlow360 POS front-desk dashboard with appointment queue and stat tiles

Client & payment detail

A closer look at the product.

Opening an appointment surfaces the client's profile, notes, and service list alongside a live payment summary — deposit paid, tip, and balance due — without leaving the queue.

IMFlow360 appointment details panel showing a VIP client profile, services, and payment summary

Multi-guest booking

A closer look at the product.

A single booking can hold several guests, each with their own service and tier selection, building toward a live summary before staff and seating are assigned.

IMFlow360 multi-guest booking wizard with service tier selection and a live booking summary

Staff & chair assignment

A closer look at the product.

Staff are assigned per guest by dragging from the available-staff pool onto a chair, with availability and specialty shown on each card before the drop.

IMFlow360 staff assignment screen with drag-and-drop staff cards assigned to each guest and chair

Split checkout

A closer look at the product.

Checkout supports a full payment, an even split by guest, or a custom split, with tax, add-ons, and deposit already netted into each guest's amount due.

IMFlow360 checkout screen with full payment, split by guest, and custom split options

Guest-facing tip screen

A closer look at the product.

On the paired customer display, the guest picks a preset or custom tip and it is divided across the staff who served them — one of the guest-response steps the appointment waits on before it can close.

IMFlow360 customer-display tip screen with preset and custom tip amounts split across staff

Cloud admin dashboard

A closer look at the product.

The cloud administration side: revenue trend against the prior year, service mix by revenue, today's schedule, and a needs-attention panel ranking unconfirmed bookings, low stock, and overdue bills by cost of ignoring them.

IMFlow360 tenant admin overview dashboard with revenue trend, service mix, and a needs-attention panel

Products and interfaces

What we built

  • Multi-tenant cloud administration platform
  • Offline-first point-of-sale application (Windows, Mac, iPad, and Android)
  • Customer-display application architecture, message contract, and build specification
  • Inventory and accounting modules
  • SaaS billing and subscription layer
  • Superadmin operator console
  • Offline batch-sync engine and device API
  • 28-page marketing website design system — homepage, platform pages, and industry pages for seven verticals — in approval review

Platform breadth

Core capabilities

  • Multi-sector behavior by business type — retail, restaurant, beauty/salon/spa, and appointment services
  • Eleven-status appointment lifecycle separating service completion from full order completion (payment → tip step → review step)
  • Offline-first POS with local data store and outbox-based cloud sync, keyed on client-generated UUIDs
  • Multi-terminal LAN clustering — deterministic host election, 2-second heartbeat, whole-order optimistic concurrency, automatic failover
  • Staff PIN login and role-based permissions across devices
  • POS-hosted WebSocket server driving a typed message contract to a paired customer display
  • Inventory items, categories, and accounting chart of accounts
  • Stripe and Razorpay payment processing
  • SaaS billing, subscriptions, and module-based feature gating
  • Tenant admin console with dedicated modules for Overview, Appointments, Sales & POS, Inventory, Purchase, Projects, HR & Payroll, Finance, CRM, and Reports

Evidence

Verified scope and outcomes

  1. Three connected applications: a multi-tenant cloud platform, an offline-first POS, and a customer-display system
  2. One shared data model, differentiated by business type, serving four sectors — retail, restaurant, beauty/salon/spa, and appointment services — from a single ~146-table schema
  3. One offline batch-sync endpoint reconciling every field device's transactions against the cloud through client-generated identifiers
  4. A typed POS↔CDS message contract — five screen-state messages and two guest-response messages — authored end-to-end before any CDS feature code existed

Explore the approach

Related services and technical articles

Next project

Building something with similar complexity?

Let’s discuss the architecture, delivery plan, and operating model it needs.

Start a conversationExplore all projects →

Questions and answers

Questions about IMFlow360

What is IMFlow360?

IMFlow360 is a multi-tenant, multi-sector SaaS point-of-sale platform. A Laravel cloud application centralizes tenant data, billing, inventory, and accounting behind a Livewire administration console and a device API, while an offline-first Flutter POS runs the operational floor and syncs to the cloud in batches. A paired Flutter customer-display application, specified end-to-end from a product brief and Figma design, shows guests their order summary and captures tip and review responses at checkout. One shared schema serves four business types — retail, restaurant, beauty/salon/spa, and appointment-based services — with behavior switched per tenant rather than forked per industry.

What did we build for IMFlow360?

The work includes Multi-tenant cloud administration platform, Offline-first point-of-sale application (Windows, Mac, iPad, and Android), Customer-display application architecture, message contract, and build specification, Inventory and accounting modules, SaaS billing and subscription layer, Superadmin operator console, Offline batch-sync engine and device API, 28-page marketing website design system — homepage, platform pages, and industry pages for seven verticals — in approval review.

What was Muhammad Muzammil Qureshi’s role in IMFlow360?

Muhammad Muzammil Qureshi served as Chief Technology Officer, with responsibility spanning technology direction, architecture, delivery, and the operating systems described in this case study.

Which technologies power IMFlow360?

IMFlow360 uses Laravel 11 · Livewire 3 · Flutter · GetX · Laravel Sanctum · MySQL.

Does IMFlow360 have a customer-facing companion app?

Yes. IMBeautyGlow is the client-facing ecosystem for beauty and wellness businesses, connected to IMFlow360 — the same platform documented elsewhere in this portfolio, feeding from and into the same business data.

What devices does the point-of-sale application run on?

The POS is one Flutter codebase running on Windows, Mac, iPad, and Android, so a business can put it on whatever hardware its front desk already has.

How does per-business branding work across the platform?

Each business picks one brand colour in Theme Settings; every screen derives its accents from that single value through CSS color-mix(). The marketing site simply pins that value to IMFlow360's own teal, so a marketing screenshot and a tenant's screenshot are the same build wearing different colours.

Is the marketing website live?

The marketing site was designed as a 28-page system — homepage, platform pages, and dedicated pages for seven beauty and wellness industries — built on one shared header, typography, and component set, and is currently in approval review ahead of implementation.

What does the tenant admin backend actually cover?

Ten modules from one sidebar: Overview, Appointments, Sales & POS, Inventory, Purchase, Projects, HR & Payroll, Finance, CRM, and Reports — a tenant's whole operation surfaced without leaving the admin console.

How is the platform organized on the marketing site?

One mega-menu, four categories: Sell (Point of Sale, Payments, Commerce), Schedule (Appointments, Team, Waitlists), Operate (Inventory, Multi-Location, Integrations), and Understand (Customers & CRM, Analytics & Reporting, Marketing & Automation).

What industries does the marketing site list?

Twelve, grouped as Beauty & Wellness, Retail & Food, and Healthcare & Appointments — Beauty Salons, Hair Salons, Barbers & Grooming, Spas & Wellness, Nail Salons, Bridal & Makeup Studios, Aesthetic Businesses, Retail Stores, Grocery Stores, Restaurants, Dental, and Appointment Businesses — with seven of them (Hair Salons, Barbers & Grooming, Spas & Wellness, Nail Salons, Bridal & Makeup Studios, Aesthetic Businesses, and Appointment Businesses) given a full dedicated page in the 28-page design pack.

Discuss a related project →