Coupon Catalogue
The coupons your members buy with their points. Each entry is a coupon and its price in points: buying it gives the member a brand-new personal coupon with the entry's values.
| Section | Customer Club |
| Panel route | /admin/loyalty-rewards |
| Access needed | Loyalty → Reward → View list |
Who pays, and when
Buying a coupon with points costs you nothing. When a member uses it, its value is paid from your Marketing Wallet at that moment.
If the marketing wallet cannot cover it, the member cannot use the coupon and is asked to contact support. The coupon stays theirs, unused. Keep the wallet charged.
Editing an entry never changes a coupon somebody already holds. Changing the values only affects future purchases. Removing an entry from the catalogue stops members buying it; coupons already bought keep working until they expire.
So a mistake in an entry is not retroactive — but it is also not fixable for members who already bought it. Check the numbers before you publish.
The three coupon types
| Coupon type | What the member gets | Where it is used |
|---|---|---|
| Percentage discount | A percentage off an order | At checkout |
| Fixed discount | A fixed amount off an order | At checkout |
| Wallet top-up | A fixed amount added to their wallet | Not at checkout. The member adds it with Add to my wallet in My Coupons |
At checkout a discount coupon does not lower the price of the order. Its value is paid from your marketing wallet into the customer's wallet, and the order is then charged in full. The customer brings less of their own money, and your margin on the booking is untouched.
Adding a coupon
Add coupon opens a form in three sections.
How it appears in the catalogue
| Field | Accepts | Notes |
|---|---|---|
| Title | Required, 255 characters | $10 off |
| Price in points | Whole number, 1–100,000,000 | How many points a member spends to buy it |
| Subtitle | Optional, 255 characters | On any tour |
| Condition text | Optional, 255 characters | Small print on the card, e.g. Orders over $50 |
| Theme | Optional, up to 30 characters | Saved with the entry. The storefront does not use it at present |
| Category | Optional, up to 60 characters | Saved with the entry. The storefront does not use it at present |
| Order | Optional whole number, 0 or more | Lower numbers are listed first |
Condition text is display only. If you write Orders over $50, you must also set the Minimum order amount below — otherwise the card makes a promise the coupon does not enforce.
The coupon members get
| Field | Accepts | Notes |
|---|---|---|
| Coupon type | Percentage discount, Fixed discount or Wallet top-up | Required |
| Currency | IRR, IRT, USD or EUR | Required. The currency of the amounts on this coupon. A wallet top-up must be in USD or IRR: switching a coupon in another currency to Wallet top-up sets it to your platform's default, USD or IRR |
| Percent off | 1–100 | Percentage discount only |
| Maximum discount | Optional, greater than 0 | Caps a percentage discount |
| Amount off | Greater than 0 | Fixed discount only |
| Amount added to the wallet | Greater than 0 | Wallet top-up only |
| Minimum order amount | Optional | Discounts only. The coupon is refused on smaller orders |
| Valid for (days) | 1–3650 | Counted from the moment the member buys it |
| Services | Optional | Discounts only. Leave empty to allow every service |
| Single product | Optional | Discounts only. Available when exactly one of tour or activity is selected under Services |
For a Wallet top-up, the order conditions — Minimum order amount, Services and Single product — are hidden, because the coupon is never used on an order.
Valid for (days) runs from the purchase, not from today. A 30-day coupon bought in March expires in April; bought in December, it expires in January.
A percentage discount with no cap is expensive: "20% off" on a 5,000-unit booking is a 1,000-unit payout from your marketing wallet for a few hundred points. Set Maximum discount.
Who can buy it and when
| Field | Accepts | Notes |
|---|---|---|
| Lowest tier allowed | Every member, or one of your tiers | Only members at this tier or above can buy it |
| On sale from | Optional date | Leave empty to put it on sale now |
| On sale until | Optional date | On or after the start date. Coupons already bought stay valid after this date |
| Stock | Optional whole number, 1 or more | Total number that can be bought. Empty means unlimited |
| Purchases per member | Optional whole number, 1 or more | How many times one member can buy it |
| Status | Active / Inactive | Inactive entries cannot be bought |
Lowest tier allowed compares the member's lifetime points with the tier's threshold at the moment they buy, so it is never out of date. If your tiers cannot be loaded, the field is disabled and says so; close the window and try again to change it.
Without Purchases per member, one member with a large balance can buy the entire stock.
When editing, stock cannot be lowered below what has already been bought — the form tells you the current count. Emptying an optional field when you edit, such as Stock, Purchases per member or Maximum discount, removes that limit.
What customers see
Members buy catalogue coupons in the Coupon shop tab of My Points in their account. Each entry shows the coupon's value, a percentage or an amount, and the member confirms the price before the points are taken. An entry they cannot buy says why: their tier is too low, they have reached its purchase limit, or they do not have enough points. On the public Customer club page, an entry that cannot be bought right now, such as one out of stock, is marked Sold out.
A coupon they bought then sits in My Coupons. A Wallet top-up coupon has an Add to my wallet button there instead of a code, and the customer is told the amount added.
At checkout, a Your coupons card lists the customer's active discount coupons that fit the booking — its currency, service and product, and a minimum order the booking reaches — and they pick one with Use. The card appears at flight, hotel, tour and activity checkout for signed-in customers; for a tour, only when the plan's payment method is Payment gateway, not Cash or Card number. It tells the customer that the coupon value is added to their wallet and the booking is charged at full price, so they only pay the difference.
Pricing a coupon
Price in points against what the coupon will cost you when it is used, and against how fast members earn.
If your earning rules pay 2 points per dollar spent and a $10 off coupon costs 1000 points, a member needs to spend about 500 dollars to buy it: 2% back. From there:
- Price it lower (800 points) to give back more, and to get members buying sooner
- Price it higher (1200 points) to give back less
Whatever you choose, be consistent across the catalogue. Members compare entries against each other.
The list
Each row shows the coupon, its Price in points, What the member gets (25% off, 10 USD off or 10 USD added to the wallet, how many days it stays valid after buying, and any services it is limited to), Stock as bought / total or Unlimited, and its Status.
Troubleshooting
A member bought a coupon and it does not work. Check its Minimum order amount and Services against what they are trying to buy. The condition text on the card is not enforcement. Check that the booking is in the coupon's currency. If the member was asked to contact support, your Marketing Wallet could not cover the coupon: charge it, and the coupon can be used again.
A member's coupon does not appear at checkout. The Your coupons card lists only active discount coupons in the booking's currency that cover its service and product, and whose Minimum order amount the booking reaches. On a tour it appears only when the plan is paid through the payment gateway.
A member cannot buy a coupon. The club must be on, the entry active, on sale and in stock, the member at or above its Lowest tier allowed and under their Purchases per member limit, and their balance at least the Price in points.
I edited an entry but a member's coupon is unchanged. Working as designed. Edits only apply to future purchases.
Stock will not go down. It cannot drop below the number already bought.