Piattaforme e SaaS

IMFlow360

Caso di studio di un POS multi-tenant: una piattaforma cloud condivisa, dispositivi offline-first e display per i clienti in quattro settori aziendali.

Sezione principale della homepage del sito di marketing IMFlow360, con titolo e mockup di dashboard dal vivo
Sito di marketing — homepage

Panoramica del progetto

Una piattaforma connessa costruita attorno a un lavoro operativo reale.

IMFlow360 è una piattaforma POS SaaS multi-tenant e multi-settore. Un'applicazione cloud Laravel centralizza i dati dei tenant, la fatturazione, l'inventario e la contabilità dietro una console di amministrazione Livewire e un'API per i dispositivi, mentre un POS Flutter offline-first gestisce l'operatività in sala e si sincronizza con il cloud a lotti. Un'applicazione abbinata di display per i clienti in Flutter, specificata end-to-end a partire da un brief di prodotto e da un design Figma, mostra agli ospiti il riepilogo dell'ordine e raccoglie mancia e recensioni al momento del pagamento. Un unico schema condiviso serve quattro tipologie di attività — vendita al dettaglio, ristorazione, bellezza/salone/spa e servizi su appuntamento — con il comportamento commutato per tenant anziché diversificato per settore.

01

La sfida

Il prodotto doveva risolvere problemi operativi interconnessi.

Attività di vendita al dettaglio, ristorazione e saloni necessitano ciascuna di un comportamento del punto vendita differente, ma un operatore multi-sede desidera un'unica piattaforma, un unico accesso e un unico insieme di report. I dispositivi alla reception di una sede fisica non possono inoltre dipendere da una connessione internet attiva, e una filiale gestisce spesso più terminali POS contemporaneamente, che devono condividere gli stessi ordini in corso.

02

Approccio tecnico

Un approccio tecnico deliberato ha plasmato il sistema.

Un'applicazione cloud Laravel custodisce la fonte di verità dietro un multi-tenancy basato su righe, delimitando ogni record per attività e filiale e differenziando il comportamento di catalogo, ordini e flussi di lavoro tramite un campo business_type anziché tramite codebase separate. Ogni appuntamento attraversa un ciclo di vita a undici stati che mantiene configurabile l'ordine dei pagamenti per singola attività e considera un ordine chiuso solo quando pagamento, fase di mancia e fase di recensione sono stati tutti risolti — sincronizzato con il cloud tramite un unico endpoint batch basato su UUID generati lato client. Un POS Flutter offline-first replica localmente i dati di avvio del cloud e mette in coda ogni transazione nella stessa outbox. Più terminali POS in un'unica filiale si coordinano sulla rete locale (LAN) tramite un'elezione deterministica dell'host — un heartbeat di due secondi, un timeout di sei secondi e una concorrenza ottimistica sull'intero ordine — così un ordine in corso resta aggiornato su ogni terminale e sopravvive al passaggio automatico a un nuovo host in caso di guasto. Un'applicazione abbinata di display per i clienti in Flutter si collega al POS tramite un collegamento WebSocket locale, guidato da un contratto di messaggi tipizzato, per replicare i riepiloghi degli ordini e raccogliere mancia e recensione dell'ospite al termine della visita.

Sito di marketing — navigazione della piattaforma

Uno sguardo più da vicino al prodotto.

Il mega-menu del sito, aperto su Platform e Industries: Sell (Point of Sale, Payments, Commerce), Schedule (Appointments, Team, Waitlists), Operate (Inventory, Multi-Location, Integrations) e Understand (Customers & CRM, Analytics & Reporting, Marketing & Automation) — oltre ai settori Beauty & Wellness, Retail & Food e Healthcare & Appointments, e al richiamo all'app complementare IMBeautyGlow.

Mega-menu del sito di marketing IMFlow360 aperto su Platform e Industries, con l'elenco di ogni modulo e verticale

Dashboard reception

Uno sguardo più da vicino al prodotto.

La vista reception del POS: la coda degli appuntamenti odierni con azioni per stato (Confirm, Check In, Start Service, Take Payment) e conteggi in tempo reale per appuntamenti confermati, in corso e in attesa di pagamento.

Dashboard POS reception di IMFlow360 con coda appuntamenti e riquadri statistici

Dettaglio cliente e pagamento

Uno sguardo più da vicino al prodotto.

Aprendo un appuntamento vengono mostrati il profilo del cliente, le note e l'elenco dei servizi insieme a un riepilogo del pagamento in tempo reale — deposito versato, mancia e saldo dovuto — senza uscire dalla coda.

Pannello dettagli appuntamento di IMFlow360 con profilo cliente VIP, servizi e riepilogo pagamento

Prenotazione multi-ospite

Uno sguardo più da vicino al prodotto.

Un'unica prenotazione può includere più ospiti, ciascuno con la propria selezione di servizio e livello, costruendo un riepilogo in tempo reale prima dell'assegnazione di personale e posti.

Procedura guidata di prenotazione multi-ospite di IMFlow360 con selezione del livello di servizio e riepilogo prenotazione in tempo reale

Assegnazione personale e postazione

Uno sguardo più da vicino al prodotto.

Il personale viene assegnato per ogni ospite trascinando dal gruppo di personale disponibile su una postazione, con disponibilità e specializzazione mostrate su ciascuna scheda prima del rilascio.

Schermata di assegnazione del personale di IMFlow360 con schede del personale assegnate a ciascun ospite e postazione tramite trascinamento

Checkout diviso

Uno sguardo più da vicino al prodotto.

Il checkout supporta un pagamento completo, una divisione equa per ospite o una divisione personalizzata, con imposte, extra e deposito già inclusi nell'importo dovuto da ciascun ospite.

Schermata di checkout di IMFlow360 con opzioni di pagamento completo, divisione per ospite e divisione personalizzata

Schermata mancia rivolta all'ospite

Uno sguardo più da vicino al prodotto.

Sul display abbinato per i clienti, l'ospite sceglie una mancia preimpostata o personalizzata, che viene suddivisa tra il personale che lo ha servito — una delle fasi di risposta dell'ospite in attesa delle quali l'appuntamento resta aperto prima di poter essere chiuso.

Schermata mancia del display per i clienti di IMFlow360, con importi di mancia preimpostati e personalizzati suddivisi tra il personale

Dashboard di amministrazione cloud

Uno sguardo più da vicino al prodotto.

Il lato amministrazione cloud: andamento dei ricavi rispetto all'anno precedente, mix di servizi per ricavo, agenda odierna e un pannello delle criticità che classifica prenotazioni non confermate, scorte in esaurimento e fatture scadute in base al costo di un'eventuale mancata azione.

Dashboard di panoramica amministrazione tenant di IMFlow360 con andamento dei ricavi, mix di servizi e pannello delle criticità

Prodotti e interfacce

Cosa abbiamo costruito

  • Piattaforma cloud di amministrazione multi-tenant
  • Applicazione punto vendita offline-first (Windows, Mac, iPad e Android)
  • Architettura dell'applicazione display per i clienti, contratto dei messaggi e specifica di realizzazione
  • Moduli di inventario e contabilità
  • Livello SaaS di fatturazione e abbonamenti
  • Console operatore superadmin
  • Motore di sincronizzazione batch offline e API per i dispositivi
  • Sistema di design per un sito web di marketing a 28 pagine — homepage, pagine di piattaforma e pagine di settore per sette verticali — in fase di revisione per l'approvazione

Ampiezza della piattaforma

Competenze principali

  • Comportamento multisettoriale in base al tipo di attività — retail, ristorazione, bellezza/salone/spa e servizi su appuntamento
  • Ciclo di vita dell’appuntamento a undici stati, che separa il completamento del servizio dal completamento dell’intero ordine (pagamento → fase mancia → fase recensione)
  • POS offline-first con archivio dati locale e sincronizzazione cloud basata su outbox, con chiave sugli UUID generati dal client
  • Clustering multi-terminale su LAN — elezione deterministica dell’host, heartbeat di 2 secondi, concorrenza ottimistica sull’intero ordine, failover automatico
  • Login con PIN del personale e permessi basati sui ruoli su tutti i dispositivi
  • Server WebSocket ospitato sul POS che pilota un contratto di messaggi tipizzato verso un display cliente abbinato
  • Articoli di magazzino, categorie e piano dei conti contabile
  • Elaborazione dei pagamenti con Stripe e Razorpay
  • Fatturazione SaaS, abbonamenti e gating delle funzionalità basato su moduli
  • Console di amministrazione del tenant con moduli dedicati per Panoramica, Appuntamenti, Vendite e POS, Magazzino, Acquisti, Progetti, Risorse Umane e Buste Paga, Finanza, CRM e Report

Evidenze

Ambito e risultati verificati

  1. Tre applicazioni connesse: una piattaforma cloud multi-tenant, un POS offline-first e un sistema di display per i clienti
  2. Un unico modello di dati condiviso, differenziato per tipo di attività, al servizio di quattro settori — vendita al dettaglio, ristorazione, bellezza/salone/spa e servizi su appuntamento — a partire da un singolo schema di circa 146 tabelle
  3. Un unico endpoint di sincronizzazione batch offline che riconcilia le transazioni di ogni dispositivo sul campo con il cloud tramite identificatori generati lato client
  4. Un contratto di messaggi tipizzato POS↔CDS — cinque messaggi di stato schermata e due messaggi di risposta dell'ospite — redatto end-to-end prima che esistesse alcun codice funzionale del CDS

Esplori l'approccio

Servizi correlati e articoli tecnici

Domande e risposte

Domande su IMFlow360

More questions? Feel free to reach out.

Discuta un progetto correlato →
Che cos’è IMFlow360?

IMFlow360 è una piattaforma POS SaaS multi-tenant e multi-settore. Un'applicazione cloud Laravel centralizza i dati dei tenant, la fatturazione, l'inventario e la contabilità dietro una console di amministrazione Livewire e un'API per i dispositivi, mentre un POS Flutter offline-first gestisce l'operatività in sala e si sincronizza con il cloud a lotti. Un'applicazione abbinata di display per i clienti in Flutter, specificata end-to-end a partire da un brief di prodotto e da un design Figma, mostra agli ospiti il riepilogo dell'ordine e raccoglie mancia e recensioni al momento del pagamento. Un unico schema condiviso serve quattro tipologie di attività — vendita al dettaglio, ristorazione, bellezza/salone/spa e servizi su appuntamento — con il comportamento commutato per tenant anziché diversificato per settore.

Che cosa abbiamo costruito per IMFlow360?

Il lavoro include Piattaforma cloud di amministrazione multi-tenant, Applicazione punto vendita offline-first (Windows, Mac, iPad e Android), Architettura dell'applicazione display per i clienti, contratto dei messaggi e specifica di realizzazione, Moduli di inventario e contabilità, Livello SaaS di fatturazione e abbonamenti, Console operatore superadmin, Motore di sincronizzazione batch offline e API per i dispositivi, Sistema di design per un sito web di marketing a 28 pagine — homepage, pagine di piattaforma e pagine di settore per sette verticali — in fase di revisione per l'approvazione.

Qual è stato il ruolo di Muhammad Muzammil Qureshi in IMFlow360?

Muhammad Muzammil Qureshi ha operato come Direttore Tecnologico, con responsabilità su direzione tecnologica, architettura, delivery e sistemi operativi descritti in questo caso studio.

Quali tecnologie supportano IMFlow360?

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

IMFlow360 dispone di un'app complementare rivolta ai clienti?

Sì. IMBeautyGlow è l'ecosistema rivolto ai clienti per le attività di bellezza e benessere, collegato a IMFlow360 — la stessa piattaforma documentata altrove in questo portfolio — alimentando e alimentandosi dagli stessi dati aziendali.

Su quali dispositivi funziona l'applicazione punto vendita?

Il POS è un'unica codebase Flutter eseguibile su Windows, Mac, iPad e Android, così un'attività può installarlo sull'hardware già presente alla propria reception.

Come funziona la personalizzazione del marchio per singola attività sull'intera piattaforma?

Ogni attività sceglie un colore del marchio in Theme Settings; ogni schermata deriva i propri accenti da quell'unico valore tramite la funzione CSS color-mix(). Il sito di marketing si limita a fissare quel valore al colore verde acqua (teal) proprio di IMFlow360, così uno screenshot di marketing e quello di un tenant sono la stessa build con colori diversi.

Il sito web di marketing è online?

Il sito di marketing è stato progettato come un sistema a 28 pagine — homepage, pagine di piattaforma e pagine dedicate a sette settori di bellezza e benessere — costruito su un'unica intestazione, tipografia e libreria di componenti condivise, ed è attualmente in fase di revisione per l'approvazione prima dell'implementazione.

Cosa copre effettivamente il backend di amministrazione del tenant?

Dieci moduli da un'unica barra laterale: Overview, Appointments, Sales & POS, Inventory, Purchase, Projects, HR & Payroll, Finance, CRM e Reports — l'intera operatività di un tenant resa visibile senza uscire dalla console di amministrazione.

Come è organizzata la piattaforma sul sito di marketing?

Un unico mega-menu, quattro categorie: Sell (Point of Sale, Payments, Commerce), Schedule (Appointments, Team, Waitlists), Operate (Inventory, Multi-Location, Integrations) e Understand (Customers & CRM, Analytics & Reporting, Marketing & Automation).

Quali settori elenca il sito di marketing?

Dodici, raggruppati in Beauty & Wellness, Retail & Food e Healthcare & Appointments — Beauty Salons, Hair Salons, Barbers & Grooming, Spas & Wellness, Nail Salons, Bridal & Makeup Studios, Aesthetic Businesses, Retail Stores, Grocery Stores, Restaurants, Dental e Appointment Businesses — di cui sette (Hair Salons, Barbers & Grooming, Spas & Wellness, Nail Salons, Bridal & Makeup Studios, Aesthetic Businesses e Appointment Businesses) dotati di una pagina dedicata completa nel pacchetto di design a 28 pagine.

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.