Salon Controller

Sign in to update the client display.

v0.10.3-beta.1
BETAIdle
Current Visit
No active client
Running Total
$0.00
Returning Client
Prior salon history
Visit Notes
Notes specific to today's appointment
Add Services
Search or browse the menu
Start a client to add
⌕
Browse by category
Services
Current Ticket
Tap any price to change it

No services yet.

Client records

Clients & History

Manage the client directory or review completed salon visits.

Visit History
Search prior visits, correct completed visit records, and export structured session data.
Visits0
Revenue$0.00
Tips$0.00
Avg. Ticket$0.00
Export CSVPrivate client fields are included in authenticated exports.

Open History to load prior visits.

Client Directory
Search, review, edit, archive, and restore client records.
0 clientsPhone number is the unique matching key.

Open the Client Directory to load clients.

Business ledger

Business

Revenue, transactions, vendor payouts, and portable exports in one place.

Today$0.00
This Week$0.00
This Month$0.00
YTD$0.00
Tips This Month$0.00
Revenue by Department
This month, including imported historical baseline data.
Payment Methods
Posted transactions this month.
Monthly Performance
Current calendar year, combining imported baselines with transaction-level activity.
Recent Transactions
The latest entries across all departments.
Transaction Ledger
One row per sale or financial entry. Salon visits can post here automatically.
Visible total$0.00

Open Transactions to load the ledger.

Vendor Payouts
Track sales, tax, commissions, and payout amounts for vendors.

Open Vendors to load payout history.

Portable data

Business Ledger

Export the current ledger for Excel, bookkeeping, or archival use.

CSVExcel .xlsx
Portable data

Monthly Performance

Export the current-year monthly department summary, including historical baselines.

CSVExcel .xlsx
Portable data

Historical Baselines

Export summarized legacy revenue imported from prior trackers.

CSVExcel .xlsx
Portable data

Vendor Payouts

Export vendor sales, tax, commission, reporting periods, and payout history.

CSVExcel .xlsx
Square

Customer Directory

CSV prepared for Square Customer Directory field mapping. Includes names, phone numbers, and stable Salon Display reference IDs.

CSVExcel .xlsx
Square

Service Catalog Staging

Exports salon services in a clean staging file. Square's Item Library importer requires its current template, so merge these rows into the latest Square-exported template before importing.

CSVExcel .xlsx
Square

Reconciliation Ledger

Use this for comparison/reconciliation with Square reports. Square does not provide a general Dashboard CSV importer for historical sales transactions; direct transaction sync belongs in the future Square API integration.

CSVExcel .xlsx
Idle TV Carousel
Manage what customers see between appointments. Reorder custom slides with the arrow controls.
Idle display onlyCarousel controls automatically lock while a client visit is active.
Controls how long each generated price-list page stays on screen before the next price-list or carousel slide appears.
After-Visit Timing
Choose how long the thank-you screen stays visible after George ends a client session.
When the timer expires, the customer TV automatically returns to the Idle carousel. George can still return it to Idle early from the Client screen.
Controller settings

Settings

Set up the salon, manage operations, troubleshoot the installation, and control your account.

Signed in
Beta readiness

Setup & Getting Started

Finish the installation, test safely with sample data, inspect server health, and send beta feedback.

BETA
Getting Started
A quick checklist for a new salon installation.
In progress
1
Business detailsName and contact information.
2
Service menuReview posted services and prices.
3
Payment methodsConfirm how clients pay.
4
DisplayPair the salon TV when available.
5
Install PWAAdd the controller to the stylist's phone.
Business Identity
Portable installation details used by this salon.
Interface theme
Changes the controller/admin interface only. Customer TV slides keep their own presentation styling.
Accent color
Accent preview
Used for primary buttons, selected navigation, focus states, and other interface highlights.
Sample Data
Practice with a fake client and visit before entering real customer information.
Not loaded
Sample records are clearly marked and can be removed later without touching real client records.
Clean Slate Reset
For a new beta installation that should contain none of another salon’s operational data.
BETA ONLY
This permanently removes: clients, visits, services/prices, business ledger entries, historical baselines, vendor payouts, departments, payment methods, carousel slides, and uploaded slide images. Owner accounts, app configuration, update history, backups, and paired displays are preserved.
System Diagnostics
Useful when a beta tester reports that something is not working.

Loading diagnostics…

Send Beta Feedback
Report a bug, confusing workflow, or feature request without including client-sensitive information.
Quick Start GuideHow to run the app day to day

Start a visit: Client → Start New Client → search or enter the client → add services → End Session → add tip/payment.

Returning clients: Search by name or phone. Prior services and notes appear automatically.

TV: Settings → Displays pairs a read-only customer screen. Carousel content appears only while idle.

Safety: Use Data & Updates for backups before major changes and before installing application updates.

Beta testing: Use the app naturally. Report anything you could not figure out without help.

Services

Service Menu

Maintain the permanent menu and posted prices used by both the controller and the automatic TV price list.

Completed client tickets keep the service name and price charged at the time, even if you edit the menu later.
Business

Business Ledger Setup

Configure departments, payment methods, automatic salon posting, and historical imports.

Departments
Used for dashboard and ledger reporting.
Payment Methods
Used when completing salon visits and entering transactions.
Historical Data Import
Bring prior spreadsheet totals forward without inventing individual transactions.
Expected columns: Period Start, Period End, Department, Amount, Notes. Dates use YYYY-MM-DD.

Supports the Daily Tracker fields Vendor, Date, Subtotal Sales, WV Tax, Total, Commission, Payout Amount, and Reporting Dates. Dates should use YYYY-MM-DD.
Team

Team Accounts

Create separate logins and control who can manage sensitive parts of the app.

Staff can run client visits and view History. Administrators can also manage the carousel, service menu, display devices, and database upgrades. Owners additionally manage accounts, backups, restores, and application updates.

Loading accounts…

Displays

Display Devices

Pair the salon TV without putting an administrator password on the display device.

Open the Display URL on the TV. Approve the six-digit pairing code below. Paired displays are read-only and never receive client last names or phone numbers.
Waiting to pair

No display waiting to pair.

Paired displays

No paired displays yet.

Data & Updates

Protect and Maintain the App

Manage backups, restore points, and database compatibility from one place.

Backup & Restore
Portable backups of clients, visits, services, settings, accounts, and carousel images.
Backup files contain private client information and account password hashes. Store downloaded copies securely.
Scheduled backups run when the controller is used. For true unattended scheduling, the package also includes a CLI cron script.
Saved backups

Loading backups…

Restore a backup
Restore replaces the current app data. A safety backup is created first, then you will be signed out.
Application Updates
Use a publisher release channel for one-click updates, or upload a release ZIP as a fallback.
App versionChecking updater support…
Release channel not checked yet.Configure a publisher feed, then choose Check Now.
Manual release ZIP
Manual packages use the same checksum validation, safety backup, rollback archive, and protected-folder rules as publisher-feed updates.
Rollback & update history

Loading rollback points…

No update history yet.

App & Database
Check whether this installation requires a database migration after an app update.
Database schemaChecking…
Run Database Upgrade
My Account

Security

Manage your own sign-in credentials and end the current controller session.

Signed inAuthenticated account
Install Salon Controller
Add this controller to your Home Screen and launch it like an app.
Checking…
The installed app uses this same secure production server and requires an internet connection for client and business changes.
On iPhone or iPad
  1. Open this controller in Safari.
  2. Tap the Share button.
  3. Choose Add to Home Screen.
  4. Tap Add.
Install from your browser

Open the browser menu and choose Install app or Add to Home Screen. The wording varies by browser.

v0.10.3-beta.1BETA
Complete visit

How was this visit paid?

Services$0.00
Final total$0.00
If automatic salon posting is enabled, the visit total will be posted to the Business Ledger. You can leave payment unassigned and fix it later.
New client

Who is in the chair?

Start typing a first name to find an existing client.
The full name and phone number stay private. The phone number is normalized and used to match the correct client record; only the client's first name appears on the customer TV.
Confirm service price

Enter the amount for this visit, then submit it below. This does not change the posted menu price.
Permanent service menu

Add Service

Archive a service instead of deleting it so historical visits remain intact.
Team access

Add Account

Account security

Change My Password

Client profile

Client

Client NotesPersistent — carries forward to future visits
Salon History

Loading visits…

Completed visit correction

Edit Visit

ClientPrivate record information
Visit TimingSalon local time
Visit NotesSpecific to this appointment
Services & PricesSaved total recalculates automatically
Service Subtotal$0.00Tip$0.00Corrected Visit Total$0.00
Corrections are audit logged with the signed-in user, timestamp, and before/after visit data. Staff accounts can view History but cannot edit completed records.
Idle carousel

Idle Carousel Slide

Text Styling
Customize each text section independently. Includes curated Google Fonts for promotional headlines, body copy, and CTAs. These settings affect this slide only.
Kicker / Subtitle
Headline
Body
CTA
Slide Image
Upload a promotion, product photo, flyer, social graphic, or QR image.
No image selected
Slide image preview
JPG, PNG, or WebP up to 12 MB. Images are stored on this web host.
Business ledger

Add Transaction

Vendor payout

Add Vendor Payout

Business setup

Add