Platform
Mobile App
The branded native mobile apps for iOS and Android, built with Expo and React Native.
Overview
SalonOS provides branded native mobile apps for iOS and Android, built with Expo (React Native). The apps give salon owners and staff access to key operational features on the go, and can be white-labelled with the brand's name, logo, and colours for distribution on the App Store and Google Play under the brand's developer accounts.
Target Users and Use Cases
| User | Mobile use case |
|---|---|
| Org owner | Glance at revenue and performance across all locations; get alerts |
| Location manager | Monitor the day's calendar and queue from anywhere in the salon |
| Stylist | Check own schedule, view next client's profile, update appointment status |
| Front desk | Manage the queue, check in walk-ins, look up client details |
The mobile app is optimised for quick checks and operational tasks, not for heavy configuration or detailed analytics (which remain in the web dashboard).
Key Features
Calendar View (Stylists and Front Desk)
- Day view of the location's calendar, scoped to the user's role
- Stylists see their own column only
- Managers and front desk see the full location view
- Tap an appointment to view details, mark checked in, or complete
- Queue board visible alongside the calendar
Client Lookup
- Search clients by name or phone
- View upcoming appointments, recent history, and balances
- Add a quick note
- Capture consent
Appointment Actions
- Create a walk-in appointment or add to queue
- Reschedule or cancel an appointment
- Mark as checked in, in service, completed, or no-show
- View and share appointment details with client
Notifications
Push notifications for:
- New online booking received
- Appointment reminder (staff reminder, not client — for the stylist's own preparation)
- Walk-in joined queue
- No-show flagged
- Manager assigned a task
Notifications are delivered via Expo Notifications (APNs for iOS, FCM for Android).
Dashboard Glance (Owners / Managers)
- Today's revenue (running total)
- Appointments remaining today
- Active clients in location
- Alerts (low stock, no-show, review needing response)
White-Labelling
Each brand can have its own mobile app published under their developer accounts:
| Customisation | Description |
|---|---|
| App name | Brand's trading name (e.g. "Glow Studio") |
| App icon | Brand's logo, sized for iOS and Android |
| Splash screen | Brand's colours and logo |
| Colour scheme | Primary and accent colours from brand theme |
| App Store listing | Brand's own developer account (requires separate Apple Developer and Google Play accounts) |
White-label builds are produced using EAS (Expo Application Services) build and submit pipelines. SalonOS configures the build for each brand; the brand owner submits for App Store review under their own account.
Technology
- Framework: Expo 51 (React Native 0.74)
- Navigation: expo-router (file-based routing)
- State / data: Supabase JS SDK (same backend as web)
- Authentication: Supabase Auth (shared session with web)
- Push notifications: Expo Notifications (APNs + FCM)
- Build and deploy: EAS Build + EAS Submit
Offline Handling
The mobile app is primarily designed for online use. Key behaviours when connectivity is degraded:
- Calendar and client data: displays last-fetched data with a "last synced" timestamp
- Writes (check-in, notes, status updates): queued locally and synced when reconnected
- A "degraded" banner is shown when realtime connection is lost
Full offline-first operation (writing appointments without connectivity) is not a Phase 1 commitment.
Authentication
Mobile users authenticate with the same credentials as the web dashboard. Sessions are shared — a user logged into the web dashboard can also be logged into the mobile app simultaneously. Session tokens are stored securely in the device keychain (Expo SecureStore).
Distribution
- iOS: App Store (requires brand's Apple Developer account; ₹8,100/year)
- Android: Google Play Store (requires brand's Google Play account; one-time ~₹1,700)
Updates are delivered via Expo's over-the-air (OTA) update mechanism for non-native changes, so most updates do not require an App Store resubmission.
Device Support
- iOS: iPhone and iPad, iOS 15+
- Android: Android 10+
- Tablet: iPad and Android tablets are supported with an adapted layout (calendar benefits from larger screen)