Skip to main content
Web Applications Β· Beauty & Wellness

Multi-Location Tanning Salon SaaS

Browser-based salon platform unifying POS, EFT memberships, inventory and T-Max tanning bed control across every location.

Multi-Location Tanning Salon SaaS product cover

Multi-Location Tanning Salon SaaS overview

The Multi-Location Tanning Salon SaaS is a browser-based, multi-tenant platform we built for salon chains that had been running each branch on its own desktop program and local SQL database. It brings point of sale, Electronic Funds Transfer membership billing, shift management, product and inventory control, coupon evaluation, outbound marketing and direct control of T-Max tanning bed timers into one administrative portal, with every salon enterprise on its own isolated MySQL database.

The front end is an AngularJS single-page application; the backend is object-oriented PHP exposing RESTful APIs; the whole stack ships in Docker containers orchestrated by Kubernetes on AWS and Azure and provisioned with Terraform. We ran the project as an Agile SDLC with weekly sprints and daily standups, tracking tasks in Plan.io and managing code in GitHub with branch permissions and peer pull-request reviews.

Challenge in Beauty & Wellness operations

Each salon location operated as a digital island. Localised SQL instances had no automated replication, so inventory logs did not match, membership data was disconnected, and a customer profile created at one branch was invisible at another, which blocked multi-location visits. Owners had no real-time view across sites and back-office staff aggregated data by hand, adding overhead and entry errors. Shift scheduling was manual and nothing controlled the tanning hardware centrally.

The new platform had to be simple enough for front-desk staff and deep enough for corporate managers, keep working when a branch lost its internet connection, keep card data out of the salon's own systems, and migrate years of history out of legacy Access, SQL and MySQL formats without losing membership lineage.

Solution architecture & delivery

We designed an n-tier architecture that separates presentation, business logic and data. The AngularJS interface uses Bootstrap, jQuery and AJAX for reload-free workflows, Angular Masking to force phone numbers, dates and membership numbers into uniform formats at entry, TinyMCE for composing HTML newsletters, and custom multi-select and date-time picker components for bookings and inventory categorisation. No client terminal talks to a database directly; every request passes through the PHP API layer, which handles access verification, business rules and integration routing across six modules: shift management, product management, inventory management, coupon management, membership management and bed management.

Data isolation is physical. Every salon enterprise gets its own MySQL (InnoDB) database with its own credentials and storage volume, and the PHP layer binds the connection string from the tenant key at session start, so a badly written query cannot cross tenants. Branches within an enterprise synchronise through MySQL replication loops: a change at one location is captured locally, sent to the primary cloud cluster and pushed to the other branch databases, while key metrics stream to a central read-only reporting warehouse for cross-location analytics. If a location goes offline, local web storage queues sales and bed-usage logs; when the connection returns, reconciliation scripts compare timestamps, resolve conflicting customer records and merge the queue without service interruption. Custom ETL utilities handle onboarding migrations from Access, SQL and MySQL sources, cleaning character sets, mapping rows to the normalised schema and enforcing integrity constraints before a tenant goes live.

Bed control runs through the T-Max Timer API. An on-site gateway service bridges the cloud PHP API and the RS-485 serial network: when a receptionist starts a session, the backend checks the member's tier, waivers and session safety limits, then dispatches an activation command to the T-Max master controller; timer events flow back so the dashboard shows each bed as idle, warming up, in session or cooling down. Every session adds to bulb running hours, and when a bed crosses its configured threshold the system warns administrators and opens a maintenance ticket in inventory.

Payments use Authorize.Net tokenisation. Card details go from the Bootstrap form straight to the gateway vault; the PHP backend stores only the returned token in the tenant database and uses it for point-of-sale charges and the recurring monthly EFT membership runs, keeping the salon outside detailed PCI-DSS audit scope. Staff must clock in to unlock cash drawers or run sales, which gives every transaction an audit path, and the inventory engine lowers stock on sale, tracks safety-stock minimums across multiple warehouses and raises purchase orders automatically. Outbound SMS through ProStyleText (booking confirmations, shift changes, past-due collection texts with payment links) and Mailchimp newsletter syncs run through a database queue and background workers throttled to third-party limits, so marketing never slows the checkout or the timer link. Transactional email uses PHPMailer with Google OAuth2 tokens, so no plaintext mail credentials sit in configuration files.

Operationally, Terraform templates create a new tenant's networks, subnets, security gateways, load balancers and cluster resources in minutes; Kubernetes autoscaling adds PHP pods during the daytime rush and scales down overnight; rolling deployments ship updates without downtime; and overnight cron jobs run schema migrations in staged phases, clear log caches and push encrypted database snapshots to off-site storage. Okta provides role-based SSO with adaptive MFA for corporate staff and administrators, CrowdStrike Falcon agents monitor every node, TLS 1.3 protects traffic, and AES-256 encryption at rest is keyed through AWS KMS and Azure Key Vault.

Key features of the Multi-Location Tanning Salon SaaS

  • Point-of-sale engine with coupon evaluation (expiry, product exclusions, stacking rules, membership-level checks) and gift cards
  • Membership management with automated monthly EFT billing through stored Authorize.Net tokens
  • Real-time T-Max tanning bed control with session states, UV exposure limits, cool-down intervals and bulb-hour maintenance alerts
  • Shift management that ties staff clock-ins to terminal and cash-drawer access, with a per-transaction audit trail
  • Multi-warehouse product and inventory control with low-stock alerts and automatic purchase orders
  • Database-per-tenant MySQL layout with cross-branch replication, offline queueing and a central reporting warehouse
  • Marketing and alerts: ProStyleText SMS, Mailchimp segment sync and TinyMCE newsletter authoring, processed by background workers
  • Legacy migration utilities for Access, SQL and MySQL data with relational integrity validation

Who this platform is for

Owners and corporate managers of multi-location tanning and beauty salon chains who need one customer record, one inventory and one reporting view across branches; front-desk staff who check members in, start beds and sell products from a single screen; and franchise operators onboarding new locations who need an isolated, pre-provisioned environment rather than another standalone desktop install.

Impact & results

  • Fragmented per-branch desktop programs and local SQL databases replaced by one browser-based portal with a shared customer profile across locations
  • Manual data aggregation replaced by automated MySQL replication and a central read-only reporting warehouse
  • Raw card data removed from salon systems; recurring EFT billing runs on Authorize.Net tokens, keeping clients outside detailed PCI-DSS audit scope
  • Tanning bed timers, bulb hours and maintenance tickets tracked automatically instead of by manual entry
  • Sales and bed sessions continue during internet outages and reconcile automatically when connectivity returns
  • New multi-location tenants provisioned from Terraform templates in minutes

FAQ about the Multi-Location Tanning Salon SaaS

What problem does the Multi-Location Tanning Salon SaaS solve?

It replaces isolated per-branch desktop software and local SQL databases with one cloud portal that shares customer profiles, memberships, inventory and reporting across every salon location, and puts point of sale, EFT membership billing, shift management, marketing and T-Max tanning bed control in a single front-desk interface.

Which technologies power the platform?

AngularJS with Bootstrap, jQuery, AJAX, Angular Masking and TinyMCE on the front end; object-oriented PHP exposing RESTful APIs on the backend; MySQL (InnoDB) with native replication in a database-per-tenant layout; Docker containers on Kubernetes across AWS and Azure, provisioned with Terraform; and integrations with Authorize.Net, the T-Max Timer API, ProStyleText, Mailchimp, PHPMailer with Google OAuth2, Okta and CrowdStrike Falcon.

How does cloud software control physical tanning beds?

Each branch runs a local gateway service that bridges the cloud PHP API and the T-Max master controller on the salon's RS-485 serial network. When a receptionist starts a session, the backend validates the member's tier, waivers and safety limits and sends an activation command through the T-Max Timer API; timer events travel back to the cloud so the dashboard shows each bed as idle, warming up, in session or cooling down and accumulates bulb running hours for maintenance alerts.

What happens when a salon location loses its internet connection?

Front-desk terminals keep working from local web storage, queueing sales, checkouts and bed-usage logs. When connectivity returns, reconciliation workers compare timestamps to avoid overwrite loops, resolve conflicting customer records and merge the queued transactions into the tenant's master MySQL database without interrupting service.

Multi-Location Tanning Salon SaaS product screens

Build your next Beauty & Wellness product with Next Olive

Share your requirements β€” we will propose scope, timeline and stack within one business day.