Help

Discounts and gift vouchers

Share discount codes, and sell gift vouchers that bring you someone who has never been.

34 min read

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.

The Gift voucher products panel in the admin Offers area, listing the gift vouchers a venue offers with their type and price
Offers → Gift vouchers

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.
Note

Discount codes come off a session booking. They don't reduce a membership payment - a membership is a recurring Stripe subscription, not a booking. To take money off someone's membership, see discounting a membership payment.

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.

  1. 1
    Go to Offers → Discounts and start a new discount.
  2. 2
    Set Value type to Sessions, and enter the number of free sessions as the Total and Remaining value.
  3. 3
    In 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.
  4. 4
    Set Redemption count to Track and show remaining to customers so they can see how many they have left.
  5. 5
    Optional: 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.
  6. 6
    Save. Tell them to sign in with that email - the sessions show under "Session credits" on their account and come off automatically at checkout.
Tip

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.

Warning

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.

Note

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.

  1. 1
    Go to Offers → Discounts and start a new discount.
  2. 2
    Set Value type to Sessions with a Total and Remaining value of 1 - one free session.
  3. 3
    Leave 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.
  4. 4
    Leave the Customer email blank so it stays a shareable code anyone can type at checkout, rather than a credit tied to one account.
  5. 5
    Optional: turn on Limit by session type, so the code only works on the sessions you choose. Turning it on ticks every session, so hit Clear all and then tick just your one-off saunas.
  6. 6
    Save, then send the code to the person. Owe a session to several people? Set Number of codes before saving and everyone gets their own - see give everyone on a list their own code below.
Note

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.

Give everyone on a list their own code

Use this when an offer goes out to lots of people and each one should have a code of their own - a newsletter promotion, a set of partner referrals, a thank-you to everyone who came to an opening night. You set the offer up once and Session generates that many unique codes in one go.

  1. 1
    Go to Offers → Discounts and start a new discount.
  2. 2
    Set Number of codes to how many you need (up to 500). The single Voucher code field disappears - a batch generates its own codes.
  3. 3
    Give it a Name. This is required for a batch and it's how you find the codes again later: the codes themselves are random, so the name is the only thing that groups them in your Discounts list.
  4. 4
    Fill in the offer as normal - value type, value, expiry, and any limits. Every code in the batch gets these same settings.
  5. 5
    Decide what one code is worth. Each code carries the full value on its own, so 200 codes at 20% is 200 separate offers, not one shared between them. On a Percentage code set Uses remaining to 1 so each code is used once (left alone it defaults to the percentage, so a 20% code would allow 20 uses). On a Sessions code set Remaining sessions to 1. An Amount code works differently - it keeps any unspent balance for the recipient's next booking, so set the value to what each person should get in total.
  6. 6
    Save. The codes appear straight away - use Copy all or Download CSV to get them out, then merge them into your email tool.
Warning

Copy or download the codes before you close that panel. They're all saved in your Discounts list (search the batch name), but the panel is the only place that hands you the whole list in one go.

Note

A batch can't be attached to a customer or emailed from here - that would be one send per code. Send them out yourself, through whatever you use to reach the list. If you want one code tied to one person and emailed to them, leave Number of codes at 1.

Not sure you need unique codes at all? One shared code is often simpler: create a single code, set Redemption count to track the total, and turn on Limit redemptions so each person can only use it once. Everyone gets the same code and no one can use it twice. Unique codes are worth the extra step when you need to know which recipient redeemed, or when a code leaking beyond your list would be a problem.

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.

  1. 1
    Work 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.
  2. 2
    Go to Offers → Discounts, start a new discount and set Value type to Percentage with your figure.
  3. 3
    Under 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.
  4. 4
    Turn 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.
  5. 5
    Save and share the code. The customer books the number of spaces they want and enters it at checkout.
Note

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.

Warning

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.

  1. 1
    Create 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.
  2. 2
    Go 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.
  3. 3
    Set 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.
  4. 4
    Set Limit redemptions to One booking, all spaces - one use per customer, and no space cap to complicate the maths.
  5. 5
    Turn on Limit by price and tick only the pair price.
  6. 6
    Save 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.
Warning

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.

Note

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.

Reuse a code you have already set up

Once a code has a dozen settings on it, making the next one is easier from a copy than from scratch. Duplicate opens the new-code form pre-filled from an existing one, so you check the settings rather than retype them - useful for something you make regularly, like a members' guest pass.

  1. 1
    Go to Offers → Discounts and find the code you want to copy. If it has expired or been switched off, open Expired, used and deactivated vouchers at the bottom of the list - those can be duplicated too, and often are.
  2. 2
    Click the menu on its row and choose Duplicate. The form opens with a fresh code and every setting from the original, and says which code it came from at the top.
  3. 3
    Check the dates. A date that had already passed is reset for you and flagged in amber; a date still in the future is carried over as it was, with a note saying so.
  4. 4
    Change anything else you need to - the value, the name, the session limits - then Create voucher.

Nothing is saved until you press Create voucher, so opening a duplicate and changing your mind leaves the original untouched.

What carries over: the name, value type and value, every limit (session type, booking type, price, redemption limits), and your notes.

What does not: the code itself (a new one is generated, and you can edit it or press the refresh button for another), the customer the original was attached to, and the balance - a Sessions or Amount copy starts full rather than inheriting what the original had left. A Percentage code is the exception: its balance is a count of uses, so the copy keeps it (see below). The copy is always active, even if the original had run out or been switched off.

Note

Only discount codes you created yourself can be duplicated. Purchased bundle credits, gift vouchers, win-back codes and cancellation credits are records of something that already happened rather than settings worth reusing, so they have no Duplicate item.

Tip

Duplicating a Percentage code copies how many uses the original had, not the percentage - so the batch trap in common question 12 does not happen here. A 20% code with 3 uses becomes a 20% code with 3 uses. Worth knowing if you have hit that before and expect to have to fix it every time.

Discount code settings

  • Number of codes - shown when you create a discount, not when you edit one. Leave it at 1 for a single code, or raise it (up to 500) to generate that many unique codes that all share the settings below - see give everyone on a list their own code.
  • Voucher code - what customers enter at checkout. Must be unique. Hidden when you're creating a batch, which generates its own codes.
  • 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. Use it to correct a balance, not to pay for a space on an existing booking - to charge an extra space to a customer's session credit, add it from the booking instead (Edit quantity), so the booking records what was used and a cancellation gives the right amount back.
  • 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. On a session pack issued to one named customer you'll see the space cap on its own, since a per-person use limit would only put part of their balance out of reach.
  • Limit by session type - only specific session types accept the code. Turning it on ticks every session; use Select all and Clear all above the list to change them all in one go, which saves a lot of clicking when you only want one or two. 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. The list belongs to the code, so narrowing it later means editing every code already out there one at a time - and a credit minted from a bundle or a gift voucher keeps the list its product carried when it was bought. To keep prepaid sessions out of one session in a single move, turn the switch off on the session itself instead - see stop bundles being used on one session. If a code was limited to a session you have since deleted, a line under the list tells you so and saving keeps that limit rather than quietly widening the code.
  • 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. If you leave both limits off and you sell group or private hire prices, the form says so in amber - an unlimited code works on those too, and a percentage is worth far more off an £80 private hire than off a £12 communal space.
  • 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.
Note

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.

Note

A session can refuse a Sessions code from its own end, whatever the code says. Open the session in the session editor, go to Prices, and turn off Can be used on this session under Bundles & gift vouchers. That covers bundles, session gift vouchers and Sessions codes together, in one move rather than code by code, and it is checked when someone books rather than when the code was made - so it reaches codes you issued long ago. Amount and Percentage codes are money and are not affected - see stop bundles being used on one session.

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, duplicated from another code, 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.

Gift vouchers or bundles?

A gift voucher is for reaching someone new - it's bought at face value by a person who won't use it, and it puts a code in the hands of someone who's never been to you. A bundle is for rewarding a regular - a discounted pack, bought by the person who'll use it.

The test is who is paying, and whether they're getting a discount. Paying for someone else at face value is a gift voucher; paying for their own future visits at a discount is a bundle.

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.
Tip

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.

Note

The two types behave differently once a session refuses prepaid sessions. A session voucher is a prepaid session, so it is blocked by Can be used on this session in that session's Prices panel. A credit voucher is money and still pays towards the price there, like cash - which is deliberate, so a customer holding credit for a session you cancelled can always spend it.

Create a gift voucher

  1. 1
  2. 2
    Start a new product and choose a Type - Credit voucher or Session voucher.
  3. 3
    Give it a Name and a Description. The description shows on the storefront card and the buyer's receipt.
  4. 4
    Fill in the type-specific fields (see below).
  5. 5
    Save. 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.
Note

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.

Sell a limited run

Turn on Limit how many are sold and set a number to cap the run. Once it's reached, the gift voucher shows as sold out and can't be bought - useful for a seasonal or one-off offer where scarcity is part of the appeal.

It counts each voucher, so someone buying three at once uses three of the run. Lowering the limit later doesn't cancel vouchers people have already bought, and setting it to 0 keeps the voucher listed as sold out without deactivating it.

Note

The limit is deliberately the only inventory control gift vouchers share with bundles. They never take a discount, because a discounted gift voucher would just be a gifted bundle - and the difference between the two is what tells you which to reach for.

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.

A customer signed in with the voucher's email can also read and copy the code themselves, on their account page under Gift card balance. That's the one to point people at when they've lost the gift email, or when the voucher came across in an import and so never had one. A credit voucher isn't applied automatically - the balance is only spent by entering the code at checkout, so the customer needs the code itself, not just the balance.

The buyer gets a receipt, and the recipient gets a separate gift email carrying the personal message, the code and a button to book. Buyers who want to hand the gift over themselves - printing it for a card, or forwarding it on the day - can choose Send to a friend and put their own address in Recipient email: they still get both emails. The gift email shows the voucher's value, so a buyer who wants the price kept quiet is better off writing the code into their own card.

To be told each time one sells, turn on New shop purchase (Admin) under Email → Automated emails. It's off until you enable it, and it covers bundles too - see team notifications.

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.

Note

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.

Warning

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.

Discount a gift voucher

A customer buying a gift voucher can enter a Stripe discount code at checkout, the same way they can on membership and bundle checkout - so one launch code covers whichever of the three someone picks. This is a code you create in your own Stripe account, not one of the discount codes above. Set it up by following the steps in Discount a membership payment.

The value of the gift voucher is fixed by the product, so a discount reduces what the buyer pays without reducing what the recipient gets.

Warning

Leave Applies to unset on any coupon you want to work here. It limits a coupon to specific Stripe products, and gift vouchers aren't set up as fixed products, so a code restricted that way is rejected at gift voucher checkout even though it still works on memberships.

Your gift vouchers page

When you sell more than one gift voucher, customers see them on a dedicated /gift-vouchers page with a short intro at the top - an image, a line of text, and an optional link. Edit these under Offers → Gift vouchers: click the Gift vouchers page button in the top right, next to Create gift voucher. Use the link to point customers at full terms or FAQs on your own website, and leave the image blank to fall back to your default session image.

The Gift vouchers page button appears only once you have a second gift voucher - that's when customers see the /gift-vouchers page, since a single one sends them straight to its own page. A small dot draws your eye to the button the first time it appears.

Common questions

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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=CODE to pre-apply the code) and let the customer book and pay online with it.

  10. 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.

  11. Can I create lots of codes at once, one per person? Yes - set Number of codes when you create a discount and Session generates that many unique codes sharing one configuration, up to 500 at a time. Copy them or download the CSV from the panel that appears, then merge them into your email tool. Full recipe in give everyone on a list their own code. If you don't actually need to know which recipient redeemed, one shared code with a per-person limit is less work.

  12. Every code in my batch can be used more than once. The Remaining value is the redemption count on a Percentage code, and it defaults to the percentage - so a 20% batch gives every code 20 uses unless you set Uses remaining to 1. Same idea on a Sessions code, where remaining is the number of sessions. An Amount code is the exception: remaining is money, not uses, and any unspent balance carries to the recipient's next booking. Existing codes can be corrected in Offers → Discounts one at a time.

  13. How do I send someone a free gift voucher? Use a discount code, not a gift voucher product - gift vouchers are a paid storefront, so there's no way to buy one for free. Create a discount in Offers → Discounts: a Sessions code gives free sessions, and an Amount code gives free credit that works just like a gift card. Then share the code, or tick Email this code to the customer to send it with a link that pre-applies it. See Comp a specific person with free sessions for the full recipe.

  14. A discount code works on memberships but not on gift vouchers. Check the coupon in Stripe and clear Applies to - it restricts a coupon to specific Stripe products, which gift vouchers aren't. Everything else about the code stays as it is.

  15. I added a booking for a customer and Session refused the discount code. Limits are checked against the customer the booking is for, not against you, so a code capped under Limit redemptions stops when that person has reached their limit - even though you're the one at the keyboard. Open the code's history in Offers → Discounts to see how many times they've already used it. If the limit is wrong rather than the booking, edit Max uses per person on the code and add the booking again.

  16. A booking says a discount was applied, but the code shows no redemption for it. The code was refused at the moment the booking was saved - used up, switched off, or at a redemption limit - and the discount was comped instead, so the customer isn't out of pocket. Session now tells you at the time this happens; older bookings made before that are the ones to look for if a code's usage count reads lower than you expect. Fix the code in Offers → Discounts (top up Remaining value, reactivate it, or raise Max uses per person) before using it again.

  17. Can I stop a Sessions code being used on one particular session? Yes, and the quick way is from the session rather than the code. Limit by session type belongs to each individual code, so doing it that way means editing every code already issued - and credits minted from a bundle or a gift voucher keep the list their product carried at purchase. Open the session in the session editor, go to Prices, and turn off Can be used on this session under Bundles & gift vouchers. It is checked at the moment someone books, so it covers every prepaid session anyone is holding, including bundles and session gift vouchers. Full detail in stop bundles being used on one session.

  18. I switched that off and a code still got someone in free. It only stops a prepaid session. Amount and Percentage codes are money, so they still pay towards the price there - including a code set at 100%, which covers the whole thing. That is on purpose: a customer holding credit because you cancelled on them should be able to spend it. To keep a money code out of a session, restrict the code itself with Limit by price or Limit by booking type when you create it.