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

The reminder appears in the middle of the screen at 13:00, 17:00 and 20:00 for reception and the manager, listing whatever is still not done. It only interrupts when something is actually outstanding.

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

Campaign history — and what came back

WhenChannelAudienceSent Came backBookedRevenue AEDBy

“Came back” counts a client who paid in the 21 days after her message; “Booked” is one who has an appointment but has not come yet. Read it as revenue that followed the campaign — some of those clients were coming anyway. A campaign younger than 21 days is still filling up and says so.

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…

Expenses

Log every payment made from the salon — products & consumables, supplies, small repairs, refreshments, delivery, petty cash — the same day, with the receipt photo. Tick VAT only when the receipt shows VAT / a TRN. Do not enter salaries (payroll comes from Ella HR automatically). If you paid a big monthly bill (rent, DEWA, Etisalat), log it too — the owner reconciles it. Everything here feeds the owner's Profit & Loss.

or: to

Expenses

DateCategoryPaid toNote NetVATTotal MethodReceipt

Assets

The salon's fixed asset register — furniture, salon equipment, appliances. Each asset is depreciated straight-line over its useful life (Furniture & Fixtures 5 yrs, Salon Equipment 5 yrs, Electronics 4 yrs); the monthly charge goes automatically into the P&L "Depreciation" line and the year-end schedule below is the fixed-asset note for the annual audit. Scan an asset's barcode label into the search box to find it.

book value as of

Register

TagAreaDescriptionCategoryQtyCost AEDPurchasedLifePer yearAccum. dep.Book valueStatus

Cost is excluding VAT. "Accum. dep." and "Book value" are as of the month chosen above. Edit to enter a cost, purchase date, invoice or serial number; Dispose when an item is thrown away or sold — depreciation stops that month and the item stays in the register for the audit trail. Assets without a purchase date depreciate from the salon opening date: (saved for all devices).

Year-end fixed asset schedule

— the depreciation note for the annual financial audit
CategoryCost b/fAdditionsDisposalsCost c/fAcc. dep b/fCharge for yearOn disposalsAcc. dep c/fNBV c/f

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.

🔒 Profit & Loss password

The Reports → Profit & Loss page is owner-only and locked behind this separate password (asked when the page is opened, and again after lock / log-out). It is not your login password. Leave "current" blank when setting it for the first time.

Danger zone