Discount codes let you offer fixed-amount or percentage-based discounts on bookings, shop products, activity passes, memberships, and add-ons. You control how many times a code can be used, which products it applies to, and whether it stacks with other discounts.Documentation Index
Fetch the complete documentation index at: https://sailia-mintlify-intercom-migration-1775615253.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Managing discount codes requires the Financial Dashboard permission. Staff members with this permission can create, edit, and deactivate discount codes alongside other financial tools like payouts, receipts, and instalment plans.
Discount types
| Type | Description |
|---|---|
| Fixed | A flat monetary amount off the price (e.g. £5 off) |
| Percentage | A percentage off the price (e.g. 20% off) |
Create a discount code
When creating a discount code, you configure the following:| Setting | Description |
|---|---|
| Code | The text customers enter at checkout (e.g. SUMMER20). Not required for auto-applied discounts. |
| Type | Fixed amount or percentage |
| Amount | The discount value — a currency amount for fixed discounts, or a percentage for percentage discounts |
| Description | An optional label shown to customers |
| Auto-apply | When enabled, the discount is applied automatically without entering a code |
| Stackable | When enabled, this discount can be combined with other discounts in the same basket |
Product eligibility
Control which product types the discount applies to:- Activities — courses, hires, and other bookable activities
- Shop products — items sold through your shop
- Add-ons — optional extras added to bookings
- Activity passes — prepaid pass bundles
- Memberships — recurring membership plans
Auto-apply discounts only support activities and memberships. When you enable auto-apply, the other product types (shop products, add-ons, and activity passes) are not available for selection.
Usage limits
Usage limits control how many times a discount code can be redeemed. Each item in a basket that receives the discount counts as one usage.Limit types
You can combine multiple limits on a single discount code:| Limit | Description |
|---|---|
| Usage | A global cap on total redemptions across all customers |
| Max usages per family | The maximum number of times a single family or customer account can use the code |
| Purchase date | The code can only be used on purchases made within a start and end date |
| Surge | The code is only valid within a certain number of days before an activity starts |
| Early bird | The code is only valid when booked at least a certain number of days before the activity starts |
| Activity date range | The code only applies to activities that take place within a specified date range |
| Min clients | A minimum number of clients must be registered on an activity |
| Same item quantity | The basket must contain a minimum quantity of the same item |
| Total items quantity | The basket must contain a minimum total number of items |
| Previous purchase | The customer must have previously purchased the same activity |
| Activity combination | All specified activities must be present in the basket |
Surge and early bird
These limits both control when a discount can be used relative to an activity’s start date, but in opposite directions:- Surge — valid only within a specified number of days before the activity starts. Use for last-minute deals to fill remaining spots.
- Early bird — valid only when the booking is made at least a specified number of days before the activity starts. Use to reward advance bookings.
Both limits only apply to activity-based products (courses and hires). For non-activity products like shop items or memberships, the limit is ignored and the discount applies normally.
Activity date range
Restrict a discount so it only applies to activities scheduled within a specific date window. Unlike the purchase date limit — which controls when the code can be used — the activity date range checks the actual date the activity takes place. You can configure the range in four modes:| Mode | Behavior |
|---|---|
| On | The activity must take place on a specific date |
| Before | The activity must take place before a given date |
| After | The activity must take place after a given date |
| Between | The activity must take place within a start and end date |
The activity date range limit only applies to activity-based products. For non-activity products, the limit is ignored.
Activity combination
Restrict a discount so it only applies when a customer’s basket contains all of a specified set of activities. Use this for bundle promotions. For example, a 10% discount that requires both “Kayaking” and “Paddleboarding” in the same basket. If either is missing, the discount does not apply. To configure:- Open the discount code and navigate to the activity redemption limits
- Add an Activity combination limit
- Select all the activities that must be present in the basket
The activity combination limit only applies to activity-based products and is not available for auto-apply discount codes.
How usage counting works
When a customer checks out, each basket item that uses the discount increments the usage count by the item’s quantity:- 1 swimming lesson using the discount = 1 usage
- 3 activity passes using the discount = 3 usages
- 2 different items each using the discount = 2 usages
Usage counts are validated in real time as items are added to the basket, so customers see an error immediately if a code has reached its limit.
Partially applied discounts
When a usage limit is close to being exhausted, the discount applies to as many items as the remaining limit allows rather than failing entirely. For example, if a code has a global limit of 10 and 8 are used, a customer adding 5 items receives the discount on 2 of the 5 — the remaining available usages. This works with both discount types:- Fixed — the per-item amount is applied only to the qualifying items.
- Percentage — the percentage is prorated based on the number of qualifying items.
Partial application only affects usage-based limits (global and per-family). All other limit types are all-or-nothing: the discount either applies to every qualifying item or none.
Membership discounts
Discount codes can be linked to a specific membership as a benefit. Membership-linked discounts are always auto-applied and stackable — members receive the discount automatically at checkout. For membership discounts, you can configure how long the associated Stripe coupon lasts:- Forever — the discount applies for the entire membership duration
- Time-limited — the discount applies for a specified number of months
Stacking behavior
When stackable is enabled, a discount code can be combined with other discounts in the same basket. When disabled, only one non-stackable discount can be applied at a time. Membership-linked discounts are always stackable, so members can combine their membership benefit with a promotional code (if that code is also stackable).Filtering discounts
The discounts table includes filter tabs to narrow the list by application type:| Tab | Shows |
|---|---|
| All | Every active discount code |
| Apply with code | Discounts redeemed by entering a code at checkout |
| Auto-apply | Discounts applied automatically without a code |
Deactivating a discount code
You can deactivate a discount code at any time. Deactivating a code:- Prevents it from being applied to new baskets
- Cleans up any associated Stripe coupon (for membership discounts)
- Does not affect baskets where the code was already applied
Related guides
Memberships and passes
Set up membership-linked discounts and activity passes.
Gift cards
Sell and redeem stored-value gift cards alongside discount codes.