Plataformas y SaaS

Flujo IM

Caso de estudio de POS multiinquilino: una plataforma en la nube compartida, dispositivos offline-first y pantallas para clientes en cuatro sectores de negocio.

Sección principal de la página de inicio del sitio de marketing de IMFlow360, con titular y una maqueta de panel en vivo
Sitio de marketing — página de inicio

Visión general del proyecto

Una plataforma conectada construida en torno al trabajo operativo real.

IMFlow360 es una plataforma SaaS de punto de venta multiinquilino y multisector. Una aplicación en la nube en Laravel centraliza los datos de los inquilinos, la facturación, el inventario y la contabilidad detrás de una consola de administración en Livewire y una API de dispositivos, mientras que un POS en Flutter con enfoque offline-first opera el piso de trabajo y se sincroniza con la nube por lotes. Una aplicación de pantalla para clientes en Flutter, vinculada y especificada de extremo a extremo a partir de un brief de producto y un diseño en Figma, muestra a los comensales el resumen de su pedido y capta las respuestas de propina y reseña en el cobro. Un esquema compartido da servicio a cuatro tipos de negocio — retail, restaurante, belleza/salón/spa y servicios basados en citas — con un comportamiento que se conmuta por inquilino en lugar de bifurcarse por sector.

01

El desafío

El producto tenía que resolver problemas operativos conectados.

Los negocios de retail, restaurantes y salones necesitan cada uno un comportamiento de punto de venta distinto, pero un operador con varias ubicaciones quiere una sola plataforma, un solo inicio de sesión y un solo conjunto de reportes. Los dispositivos de recepción en una ubicación física tampoco pueden depender de una conexión a internet en vivo, y una sucursal a menudo opera varias terminales POS a la vez que necesitan compartir los mismos pedidos en curso.

02

Enfoque técnico

Un enfoque técnico deliberado dio forma al sistema.

Una aplicación en la nube en Laravel mantiene la fuente única de verdad detrás de una multiinquilinaidad basada en filas, delimitando cada registro por negocio y sucursal, y diferenciando el comportamiento del catálogo, los pedidos y los flujos de trabajo mediante un campo business_type en lugar de bases de código separadas. Cada cita atraviesa un ciclo de vida de once estados que mantiene el orden de pago configurable por negocio y trata un pedido como cerrado solo una vez que se han resuelto el pago, un paso de propina y un paso de reseña — sincronizándose con la nube a través de un único endpoint por lotes basado en UUID generados por el cliente. Un POS en Flutter con enfoque offline-first refleja localmente los datos de arranque de la nube y pone en cola cada transacción en ese mismo buzón de salida. Varias terminales POS en una misma sucursal se coordinan a través de la LAN mediante una elección determinista de host — un latido de dos segundos, un tiempo de espera de seis segundos y concurrencia optimista a nivel de pedido completo — de modo que un pedido en curso se mantenga actualizado en cada terminal y sobreviva a la conmutación automática ante una falla del host. Una aplicación de pantalla para clientes en Flutter, vinculada, se conecta al POS mediante un enlace WebSocket local, regido por un contrato de mensajes tipado, para reflejar los resúmenes de pedido y recoger las respuestas de propina y reseña del comensal al final de la visita.

Sitio de marketing — navegación de la plataforma

Una mirada más de cerca al producto.

El menú desplegable del sitio, abierto en Platform e Industries: Sell (Point of Sale, Payments, Commerce), Schedule (Appointments, Team, Waitlists), Operate (Inventory, Multi-Location, Integrations), y Understand (Customers & CRM, Analytics & Reporting, Marketing & Automation) — además de las industrias Beauty & Wellness, Retail & Food, y Healthcare & Appointments, y la mención de la aplicación complementaria IMBeautyGlow.

Menú desplegable del sitio de marketing de IMFlow360, abierto en Platform e Industries, con todos los módulos y verticales

Panel de recepción

Una mirada más de cerca al producto.

La vista de recepción del POS: la cola de citas del día con acciones por estado (Confirm, Check In, Start Service, Take Payment) y conteos en vivo de citas confirmadas, en servicio y con pago pendiente.

Panel de recepción del POS de IMFlow360 con cola de citas y tarjetas de estadísticas

Detalle de cliente y pago

Una mirada más de cerca al producto.

Al abrir una cita se muestran el perfil del cliente, las notas y la lista de servicios, junto con un resumen de pago en vivo — depósito pagado, propina y saldo pendiente — sin salir de la cola.

Panel de detalles de la cita de IMFlow360 que muestra un perfil de cliente VIP, servicios y resumen de pago

Reserva para varios comensales

Una mirada más de cerca al producto.

Una sola reserva puede incluir a varios comensales, cada uno con su propia selección de servicio y nivel, construyendo un resumen en vivo antes de asignar al personal y los asientos.

Asistente de reservas para varios comensales de IMFlow360 con selección de nivel de servicio y un resumen de reserva en vivo

Asignación de personal y sillas

Una mirada más de cerca al producto.

El personal se asigna por comensal arrastrando desde el grupo de personal disponible hasta una silla, mostrando la disponibilidad y la especialidad en cada tarjeta antes de soltarla.

Pantalla de asignación de personal de IMFlow360 con tarjetas de personal que se arrastran y sueltan para cada comensal y silla

Cobro dividido

Una mirada más de cerca al producto.

El cobro admite un pago completo, una división equitativa por comensal o una división personalizada, con impuestos, adicionales y depósito ya descontados del monto adeudado por cada comensal.

Pantalla de cobro de IMFlow360 con pago completo, división por comensal y opciones de división personalizada

Pantalla de propinas para el comensal

Una mirada más de cerca al producto.

En la pantalla vinculada para clientes, el comensal elige una propina predefinida o personalizada, la cual se divide entre el personal que lo atendió — uno de los pasos de respuesta del comensal que la cita debe esperar antes de poder cerrarse.

Pantalla de propinas en la pantalla para clientes de IMFlow360, con montos de propina predefinidos y personalizados divididos entre el personal

Panel de administración en la nube

Una mirada más de cerca al producto.

El lado de administración en la nube: la tendencia de ingresos frente al año anterior, la combinación de servicios por ingresos, la agenda del día y un panel de atención requerida que clasifica las reservas sin confirmar, el stock bajo y las facturas vencidas según el costo de ignorarlas.

Panel general de administración de inquilino de IMFlow360 con tendencia de ingresos, combinación de servicios y un panel de atención requerida

Productos e interfaces

Lo que construimos

  • Plataforma de administración en la nube multiinquilino
  • Aplicación de punto de venta offline-first (Windows, Mac, iPad y Android)
  • Arquitectura, contrato de mensajes y especificación de compilación de la aplicación de pantalla para clientes
  • Módulos de inventario y contabilidad
  • Capa de facturación y suscripciones de SaaS
  • Consola de operador para superadministrador
  • Motor de sincronización por lotes sin conexión y API de dispositivos
  • Sistema de diseño de sitio web de marketing de 28 páginas — página de inicio, páginas de plataforma y páginas de industria para siete verticales — en revisión de aprobación

Amplitud de la plataforma

Capacidades principales

  • Comportamiento multisectorial según el tipo de negocio: retail, restaurantes, belleza/salón/spa y servicios con cita previa
  • Ciclo de vida de citas con once estados que separa la finalización del servicio de la finalización total del pedido (pago → paso de propina → paso de reseña)
  • POS offline-first con almacenamiento local de datos y sincronización a la nube basada en outbox, indexado con UUID generados por el cliente
  • Agrupamiento (clustering) multi-terminal en LAN: elección determinista de host, heartbeat de 2 segundos, concurrencia optimista de pedido completo, conmutación por error automática
  • Inicio de sesión con PIN para el personal y permisos basados en roles en todos los dispositivos
  • Servidor WebSocket alojado en el POS que impulsa un contrato de mensajes tipado hacia una pantalla de cliente emparejada
  • Artículos de inventario, categorías y catálogo de cuentas contables
  • Procesamiento de pagos con Stripe y Razorpay
  • Facturación SaaS, suscripciones y control de funciones por módulos
  • Consola de administración de tenant con módulos dedicados para Resumen, Citas, Ventas y POS, Inventario, Compras, Proyectos, RR. HH. y Nómina, Finanzas, CRM y Reportes

Evidencia

Alcance y resultados verificados

  1. Tres aplicaciones conectadas: una plataforma en la nube multiinquilino, un POS offline-first y un sistema de pantalla para clientes
  2. Un modelo de datos compartido, diferenciado por tipo de negocio, que da servicio a cuatro sectores — retail, restaurante, belleza/salón/spa y servicios por cita — a partir de un único esquema de aproximadamente 146 tablas
  3. Un único endpoint de sincronización por lotes sin conexión que reconcilia las transacciones de cada dispositivo de campo con la nube mediante identificadores generados por el cliente
  4. Un contrato de mensajes tipado POS↔CDS — cinco mensajes de estado de pantalla y dos mensajes de respuesta del comensal — redactado de extremo a extremo antes de que existiera código de la función CDS

Explorar el enfoque

Servicios relacionados y artículos técnicos

Preguntas y respuestas

Preguntas sobre Flujo IM

More questions? Feel free to reach out.

Conversar sobre un proyecto relacionado →
¿Qué es Flujo IM?

IMFlow360 es una plataforma SaaS de punto de venta multiinquilino y multisector. Una aplicación en la nube en Laravel centraliza los datos de los inquilinos, la facturación, el inventario y la contabilidad detrás de una consola de administración en Livewire y una API de dispositivos, mientras que un POS en Flutter con enfoque offline-first opera el piso de trabajo y se sincroniza con la nube por lotes. Una aplicación de pantalla para clientes en Flutter, vinculada y especificada de extremo a extremo a partir de un brief de producto y un diseño en Figma, muestra a los comensales el resumen de su pedido y capta las respuestas de propina y reseña en el cobro. Un esquema compartido da servicio a cuatro tipos de negocio — retail, restaurante, belleza/salón/spa y servicios basados en citas — con un comportamiento que se conmuta por inquilino en lugar de bifurcarse por sector.

¿Qué construimos para Flujo IM?

El trabajo incluye Plataforma de administración en la nube multiinquilino, Aplicación de punto de venta offline-first (Windows, Mac, iPad y Android), Arquitectura, contrato de mensajes y especificación de compilación de la aplicación de pantalla para clientes, Módulos de inventario y contabilidad, Capa de facturación y suscripciones de SaaS, Consola de operador para superadministrador, Motor de sincronización por lotes sin conexión y API de dispositivos, Sistema de diseño de sitio web de marketing de 28 páginas — página de inicio, páginas de plataforma y páginas de industria para siete verticales — en revisión de aprobación.

¿Cuál fue el rol de Muhammad Muzammil Qureshi en Flujo IM?

Muhammad Muzammil Qureshi se desempeñó como Director de Tecnología, con responsabilidad sobre la dirección tecnológica, la arquitectura, la entrega y los sistemas operativos descritos en este caso de estudio.

¿Qué tecnologías impulsan Flujo IM?

Flujo IM utiliza Laravel 11 · Livewire 3 · Flutter · GetX · Laravel Sanctum · MySQL.

¿IMFlow360 tiene una aplicación complementaria orientada al cliente?

Sí. IMBeautyGlow es el ecosistema orientado al cliente para negocios de belleza y bienestar, conectado a IMFlow360 — la misma plataforma documentada en otra parte de este portafolio — que se alimenta de los mismos datos del negocio y alimenta a esos mismos datos.

¿En qué dispositivos funciona la aplicación de punto de venta?

El POS es una sola base de código en Flutter que se ejecuta en Windows, Mac, iPad y Android, de modo que un negocio puede instalarlo en el hardware que ya tiene en su recepción.

¿Cómo funciona la identidad de marca por negocio en toda la plataforma?

Cada negocio elige un color de marca en Theme Settings; todas las pantallas derivan sus acentos a partir de ese único valor mediante la función CSS color-mix(). El sitio de marketing simplemente fija ese valor al color turquesa propio de IMFlow360, de modo que una captura del sitio de marketing y la de un inquilino son la misma compilación con colores distintos.

¿El sitio web de marketing está en línea?

El sitio de marketing se diseñó como un sistema de 28 páginas — página de inicio, páginas de plataforma y páginas dedicadas para siete industrias de belleza y bienestar — construido sobre un mismo encabezado, tipografía y conjunto de componentes compartidos, y actualmente se encuentra en revisión de aprobación antes de su implementación.

¿Qué cubre realmente el backend de administración del inquilino?

Diez módulos desde una sola barra lateral: Overview, Appointments, Sales & POS, Inventory, Purchase, Projects, HR & Payroll, Finance, CRM y Reports — toda la operación de un inquilino disponible sin salir de la consola de administración.

¿Cómo está organizada la plataforma en el sitio de marketing?

Un solo menú desplegable, cuatro categorías: Sell (Point of Sale, Payments, Commerce), Schedule (Appointments, Team, Waitlists), Operate (Inventory, Multi-Location, Integrations), y Understand (Customers & CRM, Analytics & Reporting, Marketing & Automation).

¿Qué industrias enumera el sitio de marketing?

Doce, agrupadas como Beauty & Wellness, Retail & Food, y Healthcare & Appointments — Beauty Salons, Hair Salons, Barbers & Grooming, Spas & Wellness, Nail Salons, Bridal & Makeup Studios, Aesthetic Businesses, Retail Stores, Grocery Stores, Restaurants, Dental, y Appointment Businesses — con siete de ellas (Hair Salons, Barbers & Grooming, Spas & Wellness, Nail Salons, Bridal & Makeup Studios, Aesthetic Businesses, y Appointment Businesses) contando con una página completa dedicada en el paquete de diseño de 28 páginas.

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.