Overview
Platform Overview
What SalonOS is, who it's for, and how it's structured.
What is SalonOS?
SalonOS is a multi-tenant salon operating system built for groups, chains, and independent salons. It covers every operational layer of a salon business: booking and scheduling, point-of-sale checkout, cash management, staff and commission tracking, client CRM, inventory and retail, marketing and retention, finance and accounting, and AI-powered intelligence — all in one platform.
The platform supports multiple brands under one owner (org), multiple locations under one brand, and multiple roles within each location. A single login can manage an entire group while individual front-desk staff see only their location.
Who uses SalonOS?
| Persona | Primary need |
|---|---|
| Salon group owner (org owner) | Unified view across all brands and locations; financial and performance overview |
| Brand manager | Configure the brand's services, pricing, staff, and policies across its locations |
| Location manager | Day-to-day operations: scheduling, cash, staff, and performance at one location |
| Front desk | Bookings, walk-ins, checkout, client management — the heaviest daily user |
| Stylist / technician | Own calendar view, service notes, client history at the chair |
| Client | Self-service booking, portal, digital check-in, feedback |
Three-Plane Architecture
SalonOS operates across three distinct planes:
Control plane — The platform admin surface. Super-admins manage tenants, plans, billing, and support escalations here. Tenants never see this.
Tenant plane — The operator dashboard. Every role from org owner to stylist works in this plane. It contains the full feature set: calendar, CRM, checkout, finance, analytics, settings, and AI tools.
Client plane — The outward-facing surface. This includes the booking widget (embeddable or hosted), client portal, digital check-in kiosk, intake forms, consent waivers, and feedback forms.
Tenant Hierarchy
Org (the business entity / owner)
└── Brand (a distinct trading name or franchise)
└── Location (a physical salon)
└── Staff members (assigned roles)
Every piece of data is scoped to this hierarchy. A client belongs to a brand. An appointment belongs to a location. Services are configured at brand level but can be overridden per location.
Key Capabilities at a Glance
| Area | What it covers |
|---|---|
| Scheduling | Calendar, appointments, walk-in queue, resource allocation, shift enforcement |
| Client CRM | Profiles, consent, tags, segments, notes, visit history |
| Catalog | Services, variants, add-ons, resources, pricing rules |
| Checkout & POS | Invoicing, payment capture, deposits, tip splitting, refunds |
| Cash Register | Drawer open/close, Z-reports, petty cash |
| Inventory | Stock management, purchase orders, suppliers, retail sales |
| Staff | Profiles, skills, shifts, leave, certifications, goals |
| Staff Operations | Commissions, payroll, performance tracking, tasks |
| Finance | Expenses, vendor bills, AP/AR, reconciliation, GST |
| Accounting | AI accountant, P&L, chart of accounts, Zoho Books sync |
| Marketing | Campaigns, segments, automated journeys |
| Retention | Loyalty points, memberships, packages, gift cards, store credit |
| Reputation | Review requests, Google review management, referrals |
| Client Surfaces | Booking widget, client portal, check-in kiosk, intake, consent |
| Communications | WhatsApp, SMS, email reminders and campaigns |
| Analytics | KPI dashboards, forecasting, Ask Your Data (natural language queries) |
| AI Features | AI booking agent, voice receptionist, style advisor, AI accountant |
| Mobile | Native apps for iOS and Android (Expo / React Native) |
Technology Stack Summary
- Frontend: Next.js (App Router), React, TypeScript, Tailwind CSS, shadcn/ui
- Backend: Supabase (Postgres + Row-Level Security + Auth + Storage + Realtime)
- AI: Anthropic Claude (Haiku, Sonnet, Opus) via an internal AI gateway
- Communications: WhatsApp Business API, Twilio (voice)
- Payments: Razorpay (primary), with an adapter pattern for other providers
- Accounting: Zoho Books integration
- Mobile: Expo (React Native), EAS build, App Store + Play Store deployment
Data Isolation and Security
Every row in the database carries org_id, brand_id, and/or location_id. Row-Level Security (RLS) policies on every table enforce tenant isolation — even a misconfigured query cannot leak cross-tenant data. There is no separate database per tenant; isolation is enforced at the policy layer.
Staff roles map to specific data permissions. A front-desk user cannot read another location's data, a stylist cannot access financial reports, and so on.
Navigation in the Dashboard
The tenant dashboard organizes features into logical groups in the sidebar:
- Calendar — the scheduling engine
- Clients — CRM and client management
- Analytics — KPIs, forecasting, data queries
- Staff section — profiles, operations, tasks, leave, goals
- Finance section — accounting, cash, billing, expenses
- Marketing section — campaigns, segments, retention programs
- Settings section — catalog, locations, integrations, brand config
Getting Started (Onboarding Flow)
A new org goes through an onboarding wizard that captures:
- Business name, type, and contact info
- First location details and operating hours
- Brand colors and logo (white-label theming)
- Initial service catalog (can be imported from Zylu or uploaded via CSV)
- First staff members and their roles
- Payment and messaging provider configuration
After onboarding, the platform is usable. Additional configuration (commissions, loyalty, marketing templates, integrations) is progressively enabled.