Bookings

🎁 Gift cards — sold at the counter or on the portal

Create a card

All cards

CodeForBought byValueBalanceStatus

A gift card is money the salon already holds — the outstanding balance above is what it still owes in services. Card sales are journalled separately so they never inflate the day's service takings.

Dashboard

Top sellers (this month)

#ProductUnitsRevenue

Reorder now (lowest stock)

ProductIn stock

Bookings

BookedConfirmed ArrivedStarted Done & paidDone · awaiting payment No-show Cancelled (slot free to rebook) Past day · never closed Overlap (stacked — hover/tap to bring forward) · Tap an empty slot to book · Tap a booking to manage it · Drag a booking to move it

Day list

TimeClientStaffServicesAEDStatus

Sell — scan customer items

🛒
Every scan adds the item. Scan the same item again for +1.
ItemPriceQtyTotalStock

Cart is empty — scan an item to start.

🎁 Gift cards Enter the client's mobile to see her cards.
🕐 Entering a past sale (catching up on paper records)? Set its real date & time
Items0
Subtotal0.00
VAT 5% (included)0.00
TOTAL AED0.00

Receive stock — scan every unit

📦
Units per scan:
New/unknown items open a quick registration form.

This session (0 units received)

TimeItem+QtyNow in stock

Inventory

SKUProductBrandCategoryBarcodeCostPriceStockStatus🛍 Shop

Stock Control — expiry, alarms & staff consumables

🧴 Consumables — scan OUT under a staff name

Colours, tools and internal-use items taken by staff. Pick who is taking, then scan — stock goes down and the usage is recorded under their name (no invoice). Every scan is a permanent movement in the audit trail.

×
TimeItemQtyTaken byStock now

⏳ Expiry watch

Set expiry dates with the ✎ pencil in Inventory, or type them directly below. Red = expired · amber = within 30 days.

ProductStockExpiry dateStatus

🚨 Low & out of stock

Items at or below their reorder level — your shopping list. Set the level per product in Inventory.

ProductStockReorder atStatus

👩‍🎨 Consumption by staff

StaffDifferent itemsUnits takenValue AED (at retail)

📊 Product Sales Report

Check which products were sold in a selected period. Pick a day or a range (max 1 month). Click any row to see invoice details.

or: to
ProductBarcodeQty SoldUnit AEDRevenue AEDStaff

Services — printed on invoices (no stock)

Your 2026 price list is loaded. Services are added to a sale with the "💅 Add service" button on the Sell page (or by typing the service name in the scan box). Final price is editable on the cart line.

CodeServiceCategoryPrice AEDMinutes

Clients — your customer database

Clients are captured automatically when you type their mobile on the Sell page. Every visit, spend and invoice is linked to them — export the list any time for marketing.

ClientMobileVisitsTotal spent AEDLast visitNotes

📣 Marketing — campaigns, clients & content

Everything speaks to the real client database: who is due back, whose points are burning, whose birthday is today. Messages are always reviewed and sent by a person — never automatically.

🔔 Today's action list

✨ Today's Instagram plan

🔗 Instagram link

📊 Content record — what we posted, and what it did

Every post you tick above is filed here. Three or four days later, open Instagram → the post → View insights and type the six numbers in. Once four posts have numbers, this page tells you what is working — and the export is the file to send Claude so the next content plan is written from evidence.

🎯 Choose an audience

0 selected
ClientMobileVisitsSpent AEDPointsLast visit

Tick only the clients you want, or leave everything unticked to send to the whole list shown above.

✍️ The message

🖼 Our own design
Have your own artwork? Upload it and it goes out instead of the studio design below — shown inside the email, linked in the WhatsApp message. PNG / JPG / WEBP, up to 3 MB.

WhatsApp opens one client at a time on the salon's own number — you press send, it moves to the next. Email goes out from the salon address through the server. Every campaign is logged below with who sent it.

🖼 Creative studio — post, story & banner

a real photo of the work always outperforms a plain poster

Less is the whole point: a photograph, one short line, one word. Nothing else.

Made on this device with your logo and brand colours — no design tool needed. Post it, or send it as a WhatsApp status.

⚙️ Marketing settings

Leave the promo empty to hide the banner. It appears at the top of the client booking page and the rewards portal.

📜 Campaign history

WhenChannelAudienceSentBy

⭐ Rewards — loyalty program

Live control center for your points program — see accumulations, redemptions, and what you owe clients in points. Manage balances and review every change.

Members

#ClientPointsValue AEDExpiring soon

Recent activity

newest first · last 60 events
DateClientTypePointsInvoice

Memberships & packages

Packages are fully customisable — any mix of services, each with its own quantity, or simply a total number of any services. Paid in advance on a normal tax invoice; at checkout the client's services are redeemed from her package automatically and the balance goes down, with a full usage history.

Active & past memberships

ClientPackageUsedRemainingPurchasedExpiresStatus

Package types (edit anything — services included, quantities, price, validity)

PackageServicesPrice AEDValid (days)Status

🛍 Online shop

Loading…

Invoices

to
InvoiceDate & timeItemsTotal AEDPayment

Reports

or: to

Staff Performance — Services & Product Sales

Click any staff row to see full item detail. Period filter applies to all data below.
Stylists' commission is not shown here — it is earned against a monthly target and this range can be any few days, so a figure on this screen could never be the one you pay. It lives on 💰 Attendance & Commission, always a whole calendar month. Dhensyl's product commission is a flat rate with no target, so hers shows for any range.

StaffInvoicesServices AEDProducts AED Total AEDTarget AEDAchievedCommission

Barcode labels

Queue of items that need a printed barcode label (new items, items without a barcode). Choose your label size and print — works with any label printer installed on this Mac (Brother QL, DYMO, Zebra…), or A4 sticker sheets.

Settings

💳 Online card payment — gift cards, shop orders and appointment prepayments

Business

pts perAED
pts =AED
months (0 = never)

Points attach to the client's mobile number, appear on the receipt and client profile, and can be sent by WhatsApp. (Current: 10 pts / 100 AED = 5% back; 2 pts = AED 1.)

⏳ Each batch of points expires on its own clock — the oldest points are always spent first, so a client who visits regularly never loses any.

📅 Programme started on is the day rewards began. A sale dated before it earns no points, so keying in old paper records never creates points for visits that happened before the scheme existed. Points a client already held before that date were cleared to zero and the old figure is kept in her points history.

Edit the wording sent to clients. Keep the words in {curly braces} — they fill in automatically.

Scanner test

Click the box and scan any product. A correct setup shows the code instantly and beeps.

🔄 Live sync — all devices share one database

Sales, bookings, stock and clients update on every device through your Netlify site. Works offline too — changes catch up when internet returns.

“Sync now” sends and receives only what changed. Force full re-sync throws away this device's opinion and takes the salon's copy of everything — use it if this device is showing something the reception till does not, for example a booking still blue after it was paid. Work you have typed here and not yet sent is never overwritten.

Backup & export

Nothing is ever deleted automatically — invoices, stock history and clients are kept forever (UAE FTA requires 5 years for tax records; this system exceeds it). Data is stored on this device, mirrored to the cloud sync, and backed up to files below.

A safety backup also downloads automatically once a day while you use the till.

👩‍🎨 Staff (bookings & commission)

Rename your team here — names appear as calendar columns and in reports. Untick to hide someone from the calendar without losing their history.

👥 Team logins

Three fixed accounts — Reception (till work), Manager (+ voids, reports & settings), Owner (everything incl. exports). Each person changes their own password from the name badge, top right. Forgot? Reset it here (Owner only).

🔐 Admin & security

Opens in a new tab on this same site. Protected by its own super-admin password (separate from the owner password below) — the till is never interrupted.


The owner password protects the Settings page and every data export — Excel workbooks, CSV files, printed reports and backups — because client and sales data are confidential. Day-to-day work (selling, booking, receiving stock) needs no password. Change the password below.

Danger zone