Promotions
Discounts that start, stop, and cut off exactly when you say.
Run a summer sale, a referral code, or a quiet-Tuesday special. Set a start date, an end date, and a use limit. When the limit hits, the promo closes. When the window ends, prices go back to full.
For the salon that has run a promo before and found out the hard way what happens when a code has no limit. The limits come first, the copy comes second.
Book a service
Strikethrough on every matchPromo code
Full balayage
2 hr 30 min
$200
Cut + blowdry
1 hr
$85
Lash lift + tint
1 hr 15 min
$120
Brow lamination
45 min
$65
You save
$–
Total
$470
Demo. Code types itself. Prices update the moment it validates.
Live preview01/
Visible to everyone, or unlocked by a code.
An auto promo crosses out the old price on every matching service as soon as the window opens. No code required. A code-only promo keeps the full price showing until the client types the code at the booking step. You can also run both at once: open to everyone for a weekend, code-only for regulars the rest of the month.
How the discount unlocks
Service picker
Lash lift + tint
$120
$96
Brow lamination
$65
$52
Cut + blowdry
$85
$68
Strikethrough shows on every matching service the moment the promo window opens. No code needed.
Auto: the price changes itself.
As soon as your promo window opens, every matching service shows the discounted price with the old one crossed out. Clients see it without doing anything.
Code-only: full price until they type it.
Useful for VIP clients, referral partners, or a win-back offer you do not want showing publicly.
Both at the same time.
Open to everyone during a flash weekend, then switch to code-only for the rest of the run. One promo, two behaviors.
Only one promo wins per booking.
If two promos match the same basket, the larger discount wins. They do not stack. The booking record shows which one was applied.
02/
Percentage off or a flat amount.
Percentage keeps the deal fair as your prices change. A 15% promo on a $50 service gives $7.50 off; the same promo on a $200 service gives $30. Both feel proportional. Flat amount is simpler copy when the offer is already a specific number, like "$10 off your next visit."
Discount type
Percentage off
Example: Lash lift + tint
$120
$96
Client saves
$24
Percentage protects you as prices rise. A 20% promo on a $200 service gives more savings than on a $50 one. Both feel fair.
03/
Pick which services it covers.
Apply a promo to every service at once, to a hand-picked list, to a whole service category, or to a specific bundle. If a client books a mix and only one service qualifies, only that service gets the discount. Everything else stays full price.
Promo window
Apr 8 – Apr 22April
M
T
W
T
F
S
S
Click any day to move the range edges. Outside the window, full price. Inside, strikethrough shows automatically.
All services.
The classic: every service qualifies. Use limits still apply.
Specific services.
Pick a list of services by hand. A haircut and brow wax in the same booking only discounts the haircut if that is the one on the list.
A whole category.
Cover everything in Colour, Lashes, or Treatments. Add a new service to the category later and it qualifies automatically.
One bundle.
Apply the promo to a specific service bundle. Useful for things like "15% off the wedding-prep bundle this month."
04/
Set limits so the promo closes itself.
Three limits available on every promo: a total use count (the promo closes at 100), a per-client count (each client can use it once), and a minimum basket size (the booking must clear $50 before it applies). The limits run at the moment of booking, not on the page render, so a race between two simultaneous bookings cannot slip past the cap.
Caps
FALL20 promoTotal uses
47 / 200
153 remaining
Per client
Each client can use this code once.
Minimum order
Basket must clear this amount before the promo applies.
All three caps enforce server-side inside the same transaction. No race condition can blow past the limit.
05/
See every promo at a glance.
The promotions page shows every promo you have with a status badge and a use count. Live means it is running right now. Scheduled means the window has not opened yet. Expired means it ended. Paused means you stopped it manually. Pause a promo to stop new bookings from using it without losing the history. A promo that already has bookings attached can be paused but not deleted.
Promotions
4 totalName
Status
Uses
FALL20
Sep 1 – Nov 30
47 / 100
NEWCLIENT15
Starts Dec 1
0 / 50
SUMMER10
Jun – Aug
83 / 100
QUIETTUE
Ongoing
12
Hover a row to see the kebab. Promos with history can be paused but not deleted.
Status badge on every row.
Live, Scheduled, Expired, or Paused. You can see what is running without opening anything.
A use count that ticks up live.
The number next to each promo shows how many bookings have applied it. It updates as bookings come in.
Pause and resume any time.
A flash sale that filled up faster than expected? Pause it. The bookings already made keep their discount. New bookings see full price.
Every use is on record.
Each booking that applies a promo writes a record with the client, the appointment, the amount saved, and the time. That data feeds the use count and is available in your reports.
06/
What your client sees on the booking page.
Active promos show up directly on the service picker and the order summary. The old price gets crossed out and the new one appears below it. Code-only promos keep the full price until the client types the code. The code input is always visible so they know the box is there. Capitals do not matter when they type. If the booking is package-only, the code box is hidden and a note explains why.
What your client sees
Choose a service
Lash lift + tint
$120
Summer promo (20% off)
-$24
Total
$96
Auto promos cross out the old price as soon as the window opens. No code, no friction.
Crossed-out prices on the picker.
Auto promos update the price on every qualifying service card the moment the window opens. No refresh needed.
The code box is always there.
Clients do not have to hunt for it. It sits in the summary panel on every booking, single-service or multi-item.
Capitals do not matter.
FALL20, fall20, and Fall20 all work the same way.
The summary shows the maths.
Service price, the promo name and amount saved, and the final total. Itemised so the client can see exactly what changed.
Common questions
Honest answers, including the ones we don't love.
Can a client use two promos on the same booking?
No. Flowesce looks at every promo that matches the basket and applies the one with the largest discount. The booking record shows which one won, so the maths is easy to trace. Stacking creates confusion; one winner per booking keeps it clean.
Do promos apply when I book manually from the admin?
Not yet. Promos apply on the public booking page, where codes get typed. When you create an appointment manually in the admin, use the per-appointment discount field instead. That field is more flexible: any amount, any reason, no code required. Both paths feed the same reports, so revenue nets correctly.
What if a promo expires while a client is mid-booking?
The promo is checked at the moment they hit Confirm, not when the page first loads. If the window closed before they finished, the price goes back to full and the summary updates before the booking goes through. The client sees the correct price before anything is confirmed.
Can I refund a booking that used a promo?
Yes. The refund is calculated on what the client actually paid after the discount, not on the original price. The record of the promo use stays in place. Refunds do not reverse the use count, because the promo was used and then refunded, and both facts are true.
What if two different clients use the same code in the same second?
That is fine. The per-client limit means each individual client can use a code once. Two different clients using it at exactly the same time is two valid uses. The total use cap is what stops the promo at the overall limit, and that check runs at the database level so it holds even under simultaneous bookings.
Pairs well with
Fourteen days. No card.
Try Flowesce on a real Saturday.
No card required, no auto-charge at the end. If Flowesce isn't for you, export everything in one click and walk.