Skip to content
Gaurav TiwariDocs

Coupons, Gift Cards and Referrals

Updated October 22, 2026

A launch discount, a gift card for the holidays, a thank-you for the client who sent a friend your way. These all need a code the customer can type at booking, and limits you can trust when two people try to use the last one at the same moment. The Coupons and gift cards module handles all three with one code field on the booking form.

Turn It On

  1. Go to Bookings → Settings → Modules, switch on Coupons and gift cards and click Save modules.
  2. Open Bookings → Services → Promotions. It has four tabs: Coupons, Gift cards, Referrals and Settings.

Every paid service now shows a Coupon or gift card code (optional) field, and its price preview is worked out on the server, so the customer sees the discounted price before confirming. Free services don’t show it. A customer can enter one discount code and one gift card, separated by a space or comma, in any letter case.

Create a Coupon

On the Coupons tab, click Add coupon, fill in the fields and click Save coupon.

SettingWhat it does
Code3 to 32 letters, numbers, hyphens or underscores. Codes starting with REF- or shaped like a gift card are reserved.
Discount typePercentage discounts every session of a recurring request. Fixed amount applies once per request, spread evenly over its sessions, and never goes below zero.
ServicesLeave every box clear to allow all paid services.
Total uses / Uses per customerBlank means no limit. Per customer is counted by email address.
Valid from / throughSite timezone, end date included.
Only a customer’s first bookingRefused if the customer already has a live booking. Cancelled and expired ones don’t count.
Only this customer email (optional)Locks the code to one customer.
Customers can use this codeUntick to pause the coupon without deleting it.

Discounts apply before tax, and a gift card pays what’s left after tax. A use stops counting toward the limits when every booking of its request is cancelled or expires. Completed and no-show bookings keep their use.

Sell and Issue Gift Cards

On the Settings tab, tick Sell gift cards and choose the Gift card checkout: Stripe Checkout, or FluentCart, as a one-item cart (FluentCart 1.6.5 or later). Set the Amounts (up to six, 25, 50 and 100 by default), tick Let buyers type an amount to allow a Minimum and Maximum, and set Valid for (days), where 0 means no expiry. Then place the purchase form on any page:

[core_bookings_gift_card]

Buyers pick an amount, enter their name and email, and can add a recipient and a message. The card activates only after the payment is verified with Stripe or FluentCart. The recipient (or the buyer, when there’s no recipient) gets the code by email, and the buyer’s receipt never contains it.

To give a card away as store credit or a prize, use Issue a gift card on the Gift cards tab with an amount and a Reason (kept in the ledger). Open any card to see its Balance history, Adjust balance, Disable card or Send code again, optionally to a corrected address. The admin screen only ever shows the last four characters.

  • A gift card is a payment, not a discount. It covers what’s due now first, and any rest counts against a later balance.
  • A paid booking the card covers in full confirms without checkout.
  • If the booking is cancelled or its hold expires, the card gets its amount back once, minus any late-cancellation fee you keep.
  • Refunding the purchase in Stripe or FluentCart takes that amount off the card.

Reward Referrals

Tick Give customers a referral code after their first confirmed booking on the Settings tab and set the New customer’s discount (10% by default), the Referrer’s reward coupon and Reward coupon valid for (days). Click Save settings.

  • Each customer’s REF- code appears on their booking page and in the {referral_code} email placeholder.
  • The code only works on a new customer’s first booking, and the owner can’t use their own code.
  • When the referred booking is completed, the referrer gets a single-use THANKS- coupon by email, locked to their address. One reward per referred request.

Limits

  • One discount code per booking. Coupons don’t stack with each other.
  • A code that would leave between 0.01 and 0.49 to pay online is refused, because payment providers don’t accept charges that small.
  • A Stripe gift card purchase that isn’t paid within about half an hour expires. FluentCart carts don’t expire.
  • The Taxes and invoices module doesn’t issue invoices for gift card purchases.
  • Gift card rules differ by country. Check the ones that apply where you trade before you set the validity.
  • Site exports carry your coupons, but never gift cards, redemptions or referral codes. See Import, Export and Moving Sites.
Share

Was this helpful?

Still stuck? Open a support ticket