Learn how to give money off with a discount code you share, and how to sell gift vouchers customers buy as a present.
Both end up as a code the customer applies at checkout, but they start in different places. Discount codes are codes you create in admin and share yourself - on social, in a newsletter, or with one person. Gift vouchers are products customers buy from your booking page; the recipient is emailed a code that's ready to redeem. This article covers both.

Discount codes
Discount codes are created in admin and shared by you - there's no public page. Creating one doesn't email the customer unless you tick Email this code to the customer, so you stay in control of who gets what. You choose whether the code is worth a number of sessions, an amount of credit, or a percentage off. Manage them in Offers → Discounts.
What you can use them for
- Social promotions - a 20% off code shared on Instagram to launch a new session.
- Friends and family - a 5-session code for someone you want to comp.
- Partner referrals - a unique code for a local business or influencer, with usage tracked under their name.
- Service recovery - a free-session code for a customer whose booking went wrong.
How customers receive and redeem a code
By default you get the code to the customer yourself, and they redeem it by entering the code at checkout. You can also tick Email this code to the customer when you create it, and we'll email the recipient the code with a link that pre-applies it - handy for comping one person. Either way, anyone who has the code can redeem it. The Customer name is just a label, but the Customer email does real work on a Sessions code - see below.
You can also pre-apply a code to a session link so the customer doesn't have to type it: add ?gv=CODE to the end of the link, or &gv=CODE if it already has a ? in it (a deep-linked time does). The code is filled in for them at checkout. This is the same mechanism that pre-fills gift voucher codes from a recipient's email, and it works for any code - handy when you want someone to book and pay online at a discounted price.
The email field does one extra thing for Sessions codes: a session credit you create against a customer's email shows in the "Session credits" on their account page and applies automatically the next time they book signed in with that address. So to comp a regular with free sessions, fill in their email and tell them to sign in with it. To share a code publicly, leave the customer fields blank and post the code on social, in a newsletter, or with a partner.
Comp a specific person with free sessions
This is the right path when you owe one person a set number of free sessions - a volunteer, a friend of the venue, or a customer whose booking went wrong. Done this way, the credit lands on their account and applies itself, so they never type a code.
- 1Go to Offers → Discounts and start a new discount.
- 2Set Value type to Sessions, and enter the number of free sessions as the Total and Remaining value.
- 3In Customer, search for the person and pick them from the list. Picking a customer fills the exact email they sign in with, which is what attaches the sessions to their account - so the credit lands on the right account every time. If they're not a customer yet, type their email instead.
- 4Set Redemption count to Track and show remaining to customers so they can see how many they have left.
- 5Optional: tick Email this code to the customer to send them the code with a link to book. Leave it off if you'd rather tell them in person.
- 6Save. Tell them to sign in with that email - the sessions show under "Session credits" on their account and come off automatically at checkout.
Need to change how many session credits a customer has - to take some back, or fix a miscount? Open them from the Customers page: each session credit under Bundles & vouchers has an edit control to adjust the remaining count on the spot (setting it to 0 switches the credit off). This is the quickest way to trim one person's credits without hunting for the code in the Offers list.
Only a Sessions code attaches to an account. An Amount or Percentage discount is always a code the customer types at checkout - it never appears on their account, even with an email filled in. If a comp isn't showing up, check the value type is Sessions and the email matches their sign-in address.
When you email a code that's limited to certain session types, the link lands the recipient on your booking calendar with the code pre-applied - not on the specific restricted session. They pick an eligible session there, and the code only works on the ones you allowed.
Give out single-use free-session codes
Use this when you want to hand someone a code they type in to book one session for free - a "here's one on us" code, rather than a credit tied to their account. The key is to cap the code at one use in total so it can't be shared or reused: once it's redeemed, it switches off automatically, so it doesn't matter who has the code - only one free booking can ever come from it.
- 1Go to Offers → Discounts and start a new discount.
- 2Set Value type to Sessions with a Total and Remaining value of 1 - one free session.
- 3Leave Redemption count on a tracked option (not No limit). Tracking the count is what makes the code single-use - it runs out and switches off after one redemption.
- 4Leave the Customer email blank so it stays a shareable code anyone can type at checkout, rather than a credit tied to one account.
- 5Optional: turn on Limit by session type and pick your one-off saunas, so the code only works on those sessions.
- 6Save, then send the code to the person. Create one code per person you owe a session to.
Cap the code, not the person. A Max uses per person limit under Limit redemptions identifies people by account or email, so someone can dodge it with a second email address. A total balance of 1 can't be dodged - the code itself is spent after one booking.
Discount every space on a multi-person booking
Use this when every person on the booking should get money off - "£5 sessions all round". If instead you want the first person to pay full price and only the second to be discounted, see discount one space on a pair booking below. The value type is what decides which you get, not the redemption limit:
- Percentage takes its cut off every eligible space. 70% off a two-space booking discounts both spaces.
- Amount is a flat sum off the booking total, however many spaces are on it. A £10 code takes £10 off a one-space booking and £10 off a four-space booking.
So if you want "£5 sessions when they bring a friend", a percentage is the one to use - an amount code will only ever come off once.
- 1Work out the percentage from your normal price. If a space is £16.50 and you want roughly £5, that's 70% off (£4.95). Percentages are whole numbers, so pick the nearest one.
- 2Go to Offers → Discounts, start a new discount and set Value type to Percentage with your figure.
- 3Under Limit redemptions, choose Custom and set Max spaces per booking to the number of people the offer covers (2 for bring-a-friend), and Max uses per person to 1. Spaces beyond the cap pay full price.
- 4Turn on Limit by booking type and tick only the booking types the offer applies to - usually communal - so it can't be used against a private hire.
- 5Save and share the code. The customer books the number of spaces they want and enters it at checkout.
The cap under Limit redemptions only narrows which spaces a code reaches - it never multiplies the code's value. Raising an amount code from one space to all spaces doesn't turn £10 off into £10 per person; it stays £10 off the booking.
Nothing forces the customer to book more than one space, so a solo booking gets the discount too. If the offer only makes sense for two or more, sell the pair as a single group price - a "Bring a friend" price covering 2 spaces for £33, say - and use an Amount code with Limit by price set to that price. The customer can't buy it alone, so £23 off lands as £5 each and can't be claimed on anything else.
Discount one space on a pair booking
The other common "bring a friend" shape: the first person pays full price and the second gets money off. Here an Amount code is exactly what you want - it takes a flat sum off the booking total, so it comes off once however many spaces are on the booking.
- 1Create a group price that sells the pair as one unit - "Bring a friend" covering 2 spaces at the price of two normal spaces, so £33 where a single space is £16.50. Customers can't buy half of it, so the offer only works when they actually bring someone.
- 2Go to Offers → Discounts, start a new discount, and set Value type to Amount. Enter the discount on the second space - £11.50 to bring a £16.50 space down to £5.
- 3Set Redemption count to No limit - never runs out. An amount code carries a balance, so a tracked £11.50 would be spent in full by the first customer and the code would switch itself off.
- 4Set Limit redemptions to One booking, all spaces - one use per customer, and no space cap to complicate the maths.
- 5Turn on Limit by price and tick only the pair price.
- 6Save and share the code. The pair price comes to £33, the code takes £11.50 off, and they pay £21.50 - full price for one, £5 for the other.
Limit by price is doing the important work here. Without it the same code applies to an ordinary single-space booking, handing one person on their own the discount you meant for their friend.
If you cap the code at one space under Limit redemptions, checkout tells the customer "Covers 1 space - the other space is charged as normal". That's the offer working, not an error. Leaving the cap off avoids the message and charges exactly the same.
Discount code settings
- Voucher code - what customers enter at checkout. Must be unique.
- Name - optional internal label so you can find it later.
- Value type - Sessions (free session credits), Amount (a currency credit, e.g. £20 off), or Percentage (a percent off the booking total). Amount is a flat sum off the whole booking; percentage is the only one that scales with the number of spaces - see discount every space on a multi-person booking.
- Total value - the starting balance.
- Remaining value - the editable balance. Top up or reduce it mid-life here.
- Redemption count - track and show the remaining count to customers, track it but hide it, or No limit - never runs out (good for a public promo code, especially a percentage one).
- Limit redemptions - one booking and one space, one booking and all spaces, or a custom max spaces per booking and max uses per person. The space cap narrows how many spaces a code can reach; it never increases what the code is worth.
- Limit by session type - only specific session types accept the code. A session you saved without a name is listed as No name with its days, length and capacity underneath (for example "Mon-Fri · 60 min · 16 spaces") so you can tell your unnamed sessions apart.
- Limit by booking type - only bookings that use the price types you tick (communal, group, or private hire) accept the code. Shown for Amount and Percentage codes only. Leave it off to accept any booking type. Handy for something like "20% off private hire". It applies to every price of that type, so if you have several group prices the code works on all of them - use Limit by price below when you need to single one out.
- Limit by price - only the individual prices you tick accept the code. Shown for Amount and Percentage codes only. Use it when a booking type is too broad - for example a "bring a friend" price and a single-sauna hire are both group prices, so only this limit can pick out the one you mean. Set both limits and a booking has to match both.
- Limit by session date - only sessions on or before this date can use it.
- Limit when this voucher can be applied - the last date the code can be entered at checkout.
- Customer - search an existing customer (or type a new email) to attach the code to a person. The email makes a Sessions credit show on that person's account and auto-apply; the name is just a label. Leave it blank for a public code.
- Email this code to the customer - shown when you create a code and a customer email is set. Tick it to email the recipient the code with a link that pre-applies it. It only sends once, on create - editing a code later never re-sends.
- Notes - internal memo, never shown to customers.
A code that has reached its remaining balance switches off automatically. Topping up the Remaining value later reactivates it, but check the Active state separately - they're independent, so a code can have balance left and still be switched off.
See how a code has been used
In Offers → Discounts, click a code's row to expand its history - a time-ordered log of when the code was created, edited, reactivated or deactivated (and who did it), interleaved with every redemption (who redeemed it, on which session). It's a quick way to check a code's full story if someone queries a discount or you're wondering where the balance went.
Gift vouchers
Gift vouchers are products you sell from your booking page. A customer pays, picks who it's for, and the recipient is emailed a code ready to apply at checkout. They bring in revenue up front and reach people who haven't booked with you before. New venues start with one credit voucher pre-configured, so the page works out of the box.
Two types
Each gift voucher is one of two types. The type is fixed once a product exists, so pick the right one when you create it.
- Session voucher - the buyer pays a set price, and the recipient gets one booking of a session you choose. Because the price is locked in at purchase, the recipient never owes a top-up if you raise your prices later.
- Credit voucher - the recipient gets an amount of credit to spend. Offer preset amounts, let the buyer choose a custom amount within a range, or both. Credit can be limited to specific session types if you want.
Use a session voucher to gift a specific experience (a one-hour communal session, a private hire). Use a credit voucher for flexible spending power the recipient can put towards any eligible session.
Create a gift voucher
- 1Go to Offers → Gift vouchers.
- 2Start a new product and choose a Type - Credit voucher or Session voucher.
- 3Give it a Name and a Description. The description shows on the storefront card and the buyer's receipt.
- 4Fill in the type-specific fields (see below).
- 5Save. New vouchers are active straight away, so it appears on your booking page as soon as you save.
Session voucher fields
- Price - what the buyer pays.
- Eligible sessions - the session types the recipient can book with the voucher. Pick at least one, up to ten.
Credit voucher fields
- Prices - the preset amount chips the buyer can choose from.
- Allow custom amount (optional) - let the buyer enter their own amount, then set a Min amount and Max amount for the range. Offer presets, a custom range, or both - at least one is required.
- Limit by session type (optional) - restrict the credit to specific session types. Leave it off to let the credit apply to any session.
The Active switch only appears when you edit an existing voucher. New vouchers are created active. To take one offline later, open it and turn Active off.
Set an expiry
In Settings on the form, turn on Limit when this voucher can be applied and set Expires after (months) to give the voucher an apply-by deadline. Leave it off for vouchers that never expire. Expiry is counted from the purchase date, and is separate from your booking window and minimum notice.
What customers and recipients see
Gift vouchers appear on your booking page automatically once at least one is active - there's no separate switch. The landing page lists your active vouchers; deactivate them all and the page disappears from your nav.
When a customer buys, they choose to send the voucher to a friend or to themselves and enter the recipient's details. After payment:
- The recipient is emailed the voucher code (see automated emails).
- A session voucher code links straight to the eligible session's page, with the code pre-applied.
- A credit voucher code links to your booking calendar, again with the code pre-applied.
The recipient picks a session and the code is applied at checkout - they don't need an account to redeem. You can see issued gift vouchers and their remaining value back in Offers → Gift vouchers.
Resend a gift voucher
If a buyer or recipient loses their email, you can send it again without charging anyone. In Offers → Gift vouchers, find the issued voucher (search the buyer's name, the recipient email, or the code), open its ⋯ menu, and choose Resend voucher. You'll see a confirmation naming the addresses it will go to; confirm to send. We re-send the same emails they got at checkout - the buyer's receipt, and, when it was a gift, the recipient's voucher email with the code and booking link. A toast confirms which addresses it went to.
Resend goes to the addresses on file. If the recipient's email was mistyped at checkout there's no valid inbox to reach, so resending won't help - copy the code from the voucher and send it to the customer directly instead.
Edit or remove a gift voucher
Edit a product's name, description, price, eligible sessions, and expiry at any time. Changes apply to future purchases - vouchers already issued keep the terms they were bought under.
A gift voucher product can't be deleted once it has issued any codes, because doing so would orphan them. Turn Active off instead - this hides it from your booking page while keeping every issued code valid.
Common questions
-
What's the difference between a discount code and a gift voucher? A discount code is a promotional code you create and share to give money off, managed in Offers → Discounts. A gift voucher is a product customers buy for someone else, managed in Offers → Gift vouchers.
-
A customer can't see a discount code on their account. Only a Sessions code attaches to an account - an Amount or Percentage discount is always a code they type at checkout and never appears there. If it is a Sessions code and still isn't showing, you most likely filled in the name but not the email, or the email doesn't match the address they sign in with - fix the email and have them sign in with it. See Comp a specific person with free sessions for the full recipe.
-
My code only came off one space of a multi-person booking. That's an Amount code doing what it does - taking a flat sum off the booking total rather than off each space. Changing the redemption limit won't change it: the cap decides how many spaces qualify, not how much the code is worth. Switch the code to Percentage and it discounts every eligible space. See discount every space on a multi-person booking.
-
How do I stop a code being used on my private hire (or any other price)? Turn on Limit by price and tick only the prices it should work on. Limit by booking type is the coarser version of the same idea - it covers every price of that type at once, so if two prices share a type (a "bring a friend" block and a single-sauna hire are both group prices) only Limit by price picks out the one you mean. Both are available on Amount and Percentage codes.
-
A code doesn't work at checkout. Open it in Offers → Discounts and check for expired, fully used, switched off, a session-type or booking-type restriction the booking doesn't match, or a "valid until" date that's passed. If a customer changes their ticket to one the code doesn't cover, the code drops off automatically and tells them why.
-
Can I change a gift voucher's type after creating it? No. The type is fixed once the product exists. If you need the other type, create a new product and deactivate the old one.
-
Does the recipient need an account? No. The code is pre-applied via the link in their email, and they redeem it at checkout as a guest. See how customers manage bookings.
-
Where does the money go? Gift voucher payments are processed through your Stripe account like any other booking. Recognising voucher value as income is covered in deferred income.
-
Can I use a discount on a booking I add myself? Not directly - admin bookings skip checkout, which is where codes apply. Share the booking link instead (optionally with
?gv=CODEto pre-apply the code) and let the customer book and pay online with it. -
A customer bought a gift voucher but says they (or the recipient) never got an email. The purchase and payment are always safe even when the email doesn't arrive. Checkout now blocks clearly malformed addresses (for example one missing the ".com"), so the usual cause is an address that looks valid but was still entered incorrectly. Open Offers → Gift vouchers, search the buyer's name or email, and check the recipient email shown against each issued voucher. If the address is right, open the voucher's ⋯ menu, choose Resend voucher, and confirm to send the same emails again. If the address was mistyped there's no valid inbox to deliver to, so resending won't reach them - copy the code (or codes, if they bought more than one) and send it to the customer directly, and they redeem it by entering the code at checkout.