Coupons
Coupons are discount codes you create that customers can apply when booking. Offer percentage or fixed-amount discounts with optional usage limits and expiry dates.
Creating a Coupon
To create a new coupon:
- Go to Coupons in the left sidebar (under CRM)
- Click Create Coupon
- Fill in the details:
| Field | Required | Description |
|---|---|---|
| Code | Yes | The code customers enter (e.g., "WELCOME10") |
| Description | No | Internal note about this coupon |
| Discount Type | Yes | Percentage or Fixed amount |
| Discount Value | Yes | The discount amount (e.g., 20 for 20% or 15 for £15) |
| Max Uses | No | Total times this code can be used (leave empty for unlimited) |
| Valid From | Yes | When the coupon becomes active |
| Valid To | No | When the coupon expires (leave empty for no expiry) |
| Active | Yes | Whether the coupon can be used |
- Click Save
You can click Generate to create a random 8-character alphanumeric code, or enter your own custom code.
Coupon codes must be unique. You cannot create two coupons with the same code.
Discount Types
Percentage discount:
Reduces the booking total by a percentage of the services and extras cost.
- Example: "SUMMER20" gives 20% off
- Discount is calculated on the combined services and extras total
Fixed amount discount:
Reduces the booking total by a fixed monetary amount.
- Example: "SAVE15" gives £15 off
- If the discount exceeds the booking total, it's capped at the total (booking won't go negative)
How the discount is applied in the price breakdown:
- Services total + Extras total
- Minus coupon discount
- = Subtotal
- Plus taxes (if applicable)
- = Total
- Minus deposit (if required)
- = Remaining balance
Usage Limits and Validity
Usage limits:
Set Max Uses to control how many times a coupon can be redeemed across all customers. Once the limit is reached, the coupon can no longer be applied.
- Leave empty for unlimited uses
- Usage is tracked via individual redemption records
Validity period:
- Valid From — The coupon cannot be used before this date
- Valid To — The coupon cannot be used after this date (leave empty for no expiry)
A coupon is considered invalid if any of these are true:
- It's deactivated (is_active = false)
- The current date is before the Valid From date
- The current date is after the Valid To date
- The usage limit has been reached
How Customers Use Coupons
During the booking process, customers can apply a coupon code:
- Customer selects their service, extras, and appointment time
- In the price summary, they toggle Apply Coupon
- They select or enter a valid coupon code
- The discount is shown in the price breakdown (highlighted in green)
- The booking is completed with the discounted price
When a coupon is redeemed, a record is created linking the coupon to the booking and the customer's contact profile.
When creating bookings manually (from the admin booking sidebar), you can also apply coupons. Active coupons appear in a dropdown showing their code and discount value.
Managing Coupons
The Coupons List
Go to Coupons in the left sidebar to see all your coupons in a table:
| Column | Description |
|---|---|
| Code | The coupon code (with copy button) |
| Discount | Formatted value (e.g., "20%" or "£15") |
| Usage | Used count / limit (e.g., "5 / 10" or "5 / ∞") |
| Valid Period | Start and end dates, or "No expiry" |
| Status | Active or Inactive badge |
| Actions | Edit, Copy Code, Delete |
The list is paginated with 10 coupons per page.
Editing a Coupon
- Click the actions menu on a coupon
- Select Edit
- Update the fields (code, discount, dates, limits)
- Save
Deactivating a Coupon
To stop a coupon from being used without deleting it:
- Edit the coupon
- Toggle Active off
- Save
The coupon remains in your list for reference but cannot be applied to new bookings.
Deleting a Coupon
- Click the actions menu on a coupon
- Select Delete
- Confirm the deletion
You cannot delete a coupon that has been used. Deactivate it instead. This preserves the redemption history for your records.
Redemption History
Click on a coupon to view its full redemption history, showing:
- Customer name and email
- Booking date and status
- Discount amount applied
- Redemption timestamp