Promoting last minute salon offers: the order that protects your margin
An appointment falls through for tomorrow afternoon and the reflex is an instant discount post on Instagram. That sometimes fills the chair, but it also teaches your regulars something you would rather they never learned: whoever waits, pays less. Promoting last minute salon offers works far better as a fixed order than as an emergency move. This article sets out that order: first the list that costs you nothing, then a targeted message to a handful of clients, and only then a public post with an expiry time. Including the question you ask before all of it, namely whether this gap should be filled at all.
Tomorrow's gap is perishable stock

A time slot cannot be stored. The chair that sits empty tomorrow at 2pm will not be sold at 3pm instead - time itself is the product, and by then it is gone. That makes an empty hour fundamentally different from a bottle of shampoo left on the shelf: with the shampoo you can wait for a better moment, with the hour you cannot.
And that is exactly where the trap sits. Because the extra cost of that single hour is close to zero, any revenue looks better than nothing. For that one hour the sum holds up. But the price you communicate publicly lingers as a reference point. A salon that posts thirty percent off on Stories every Thursday will, within a few months, have clients deliberately booking on Thursdays. At that point you no longer have a last minute offer, you have a new price list.
Airlines and hotels solve this with yield management: not blanket discounting, but deciding per moment who gets to see which offer. That principle scales down perfectly well to a salon with three chairs. It comes down to one question, and it is not "how much discount do I give". It is: who do I tell, and in what order?
Before you answer that, ask one more. Is this gap an incident or a pattern? A single cancellation in a busy week is something you fill. Four empty mornings a week is not a promotion problem but an occupancy problem, and a discount campaign does nothing about it - it only lowers your revenue per hour. In that case, look first at your opening hours and staffing in your calendar and booking page.
Keep this separate from your no-show policy as well. A gap that appears because someone simply did not turn up belongs under prevention: automatic reminders and clear terms make sure the gap is not there next time. This article is about the gap that already exists.
Step 1: the waitlist, the only list that costs you nothing
The cheapest way to promote last minute salon offers is not to promote them at all. There is a group of people who already wanted that slot and could not get it: everyone who clicked on a fully booked moment over the past few weeks. That group needs no discount, because they wanted the treatment at your normal rate.
The only thing required is that you captured those people at the moment they dropped off. On the Salonnare booking page, a visitor who clicks a booked slot is offered the option to join the waitlist, with her name, email address and the treatment she wanted. So the list fills itself, precisely at the moment the demand exists, and without you doing anything.
What you can do with it the moment a gap appears:
- See who fits: per waiting client you see which free moments match the treatment, the duration and the staff member she wanted. - Message one person: you contact that one client about this one moment, instead of broadcasting to everybody. - Convert: if she accepts, one action turns the waitlist entry into a real appointment in the calendar.
Approach one person at a time, not the whole list. A call-out to twenty people produces five replies for one slot, and then you have to disappoint four of them - which costs you more goodwill than the empty hour cost you in revenue. Work the list in order: whoever has waited longest hears first.
Do not offer a discount here either. You are already offering something scarcer than money, namely a slot that did not exist this morning. The waitlist is included in Salonnare from the Starter plan at 29 euros per month. If you do not have it yet, the manual version in your client card is a perfectly good start: note down, every time you turn someone away, who you wanted to call back.
Step 2: a targeted message to whoever was nearly due anyway
If the waitlist produces nothing, the question moves to a second group: clients who, by their own rhythm, were due for another visit soon. Someone who comes in for a cut every six weeks and last sat down five weeks ago does not need persuading. She only needs a reason to book it now instead of next week.
That is precisely why this group works so well. Insights into the psychology of consumption show that people respond not only to price but just as strongly to how easily an intention becomes an action. The need was already there; all you do is remove the friction.
So select on treatment history, not on your entire database. Ten people who fit deliver more than two hundred who swipe the message away, and they do not wear out your list. In client management you can see per client when she last came in and what she had done.
Then give away value instead of price:
- An upgrade with the treatment: a nourishing mask, a longer scalp massage, a blow-dry thrown in. - A product to try: a travel size of something you would recommend for her hair type anyway. - For this moment only: the offer applies to tomorrow at 2pm, not to the whole week.
The difference is bigger than it looks. Fifteen euros off a sixty euro treatment costs you fifteen euros of margin and lowers your reference price. A mask you buy in for three euros costs you three euros and lowers nothing. In both cases the client gets something extra; only in the second case do you keep your rate intact.
Note the difference between this and a newsletter. This is a short, personal message to a handful of people that you send straight from your client card. If you want to segment structurally and schedule campaigns in advance, that sits in Salonnare's Pro plan at 59 euros per month; how to build a recurring mailing is covered in our guide on creating a salon newsletter.
Step 3: going public is the last resort, and always with an expiry time
Only when the first two steps produce nothing do you go outside. Instagram Stories is the most suitable channel for that, and not because the reach is so large: because the post disappears by itself after 24 hours. An offer that is gone cannot be remembered by anyone as a reference price.
The reasoning behind demand-driven pricing is sound in itself. The thinking on pricing strategy in uncertain times comes down to this: you may let your price move with demand, as long as you decide when and for whom. The mistake is not the discounting, it is the predictable discounting.
Four rules that prevent it:
- Name the exact moment: "tomorrow at 2pm with Lisa", not "still room this week". - Put an expiry on it: bookable today until 6pm, after that the offer lapses. - Vary the offer: an upgrade one time, a small amount off the next, so no fixed pattern forms. - Do not do it on the same day every week: that is exactly the point at which clients learn to wait.
Avoid the external aggregator sites here. They solve the same problem, but charge a percentage per booking and largely keep the client relationship to themselves - so you pay for a client you cannot invite back yourself afterwards. For a gap tomorrow that is an expensive solution, certainly while you have not yet exhausted the cheaper lists.
Where a public post always breaks down is the final step. Anyone who replies with a message has to wait until you look at your phone between two clients, and picks something else in the meantime. So put a direct booking link underneath it that leads to that specific moment. How to set up such a booking widget on your own website is something we covered separately.
Let the click end in your calendar in one step
All three steps above stand or fall on the same point: nothing may sit between "yes, lovely" and an appointment in your calendar. Every back-and-forth message is a moment where the client drops out, and it costs you time on exactly the day you do not have any.
What has to be in place:
- A booking page open 24 hours a day: including half past ten at night, when someone sees your Story. - Live availability: the freed-up hour appears immediately, because it comes from the same calendar. - Finish on the spot: the client picks treatment, staff member and time and is done, without waiting for a reply. - Self-service rescheduling: if her plans change after all, she moves it herself and you get the slot back in time.
A lot of nonsense is sold in this industry about what this costs, so here are the figures as they are. Salonnare charges no marketplace commission: clients who come to you through the Salonnare marketplace cost you 0 euros in commission, new ones included. What does come off is a transaction fee of 0.5 percent on every online or card payment, with a minimum of 0.30 euros. On a 60 euro treatment that is 0.30 euros. Payments by iDEAL or credit card run through Mollie or Stripe straight into your own business account; those online payments are included from Starter.
What you need for which step:
- Free, 0 euros per month: online booking page, calendar, client card and point of sale, plus the automatic confirmation and reminder emails. For 1 staff member and 50 bookings per month. This covers step 3 entirely. - Starter, 29 euros per month: up to 3 staff members and unlimited bookings, plus the waitlist from step 1, online payments and reporting. - Pro, 59 euros per month: unlimited staff, plus email campaigns for step 2 and deposits at the time of booking.
Start at the bottom and see what a quarter brings you. You can start with Salonnare for free today and set up your booking page without payment details or a notice period. Fill the next gap in this order and count afterwards what it saved you in margin compared with the discount reflex.
Fill the next gap without cutting your price
Get the order ready before the next cancellation comes in. Salonnare's free plan includes the online booking page, the calendar, the client card and the automatic confirmation and reminder emails, for 1 staff member and 50 bookings per month. No payment details, no notice period.
Start for freeFrequently asked questions
How do I promote a last minute slot without damaging my pricing?
Keep the offer out of public view for as long as you can. Approach your waitlist first, then a handful of clients who by their treatment history were nearly due for a visit anyway. If you do have to go public, tie the benefit to an extra such as a nourishing mask rather than to a plain discount, name the exact slot and put an expiry time on it. That way your regular rate stays the reference point.
Which channel works fastest for a gap tomorrow?
Your waitlist, because those people already wanted the treatment at the normal rate and no persuasion is needed. If that produces nothing, send a short personal message to clients who by their own rhythm were nearly due for another visit. Instagram Stories is step three: wide reach, but the least targeted and the only channel where you show your price in public.
Can I ask for a deposit on a last minute booking?
You can. Deposits at the time of booking are part of Salonnare's Pro plan at 59 euros per month, and no-show fees charged afterwards are available from Starter at 29 euros per month. Payments by iDEAL or credit card run through Mollie or Stripe into your own business account. Do weigh it up though: with a gap tomorrow you are adding friction exactly when you want speed. For a known client a confirmation email is usually enough.
Why should I not just use an external aggregator site for empty slots?
Those platforms charge a percentage per booking and largely keep the client relationship to themselves, which means you have to buy the same client again later. Through your own booking page you keep the relationship and the data. At Salonnare a client coming through its own marketplace costs no commission; what does apply is a transaction fee of 0.5 percent on every online or card payment, with a minimum of 0.30 euros.

