Discount coupons: create, target & redeem
Codes guests enter at checkout. Discount the whole order, accommodation, or add-ons — and target one listing, one room, or one add-on. Time-box it and cap redemptions.
Coupons are codes you create and a guest types in at checkout for money off. You stay in full control — Vilo takes no cut, and every redemption is re-checked on the server so a code can't be abused.
Where coupons sit in the price
A coupon is applied after seasonal rates, weekend rates and length-of-stay discounts, on the part of the bill you choose. Cleaning fees are never discounted by a coupon.
Create one in Dashboard → Coupons
- Code — what the guest types (e.g.
WELCOME10). Letters, numbers,-and_; one of each code per account. - Discount — a percentage (e.g. 10%) or a fixed amount (e.g. R250 off). A fixed amount never exceeds the eligible total.
- Applies to —
- Whole order: accommodation + add-ons.
- Accommodation only: the room/base nightly subtotal.
- Add-ons only: just the extras.
- Target (optional) — narrow it further:
- To one listing, or all of them.
- With accommodation scope, to a single room.
- With add-ons scope, to a single add-on.
- Limits — a validity window (valid from / until), a minimum nights or minimum spend, a total redemption cap, and a per-guest cap.
How guests use it
On the checkout sidebar the guest enters the code and taps Apply. The discount line appears immediately and updates the total. If they change their dates or rooms, the coupon clears and they re-apply — that keeps the quoted price honest. The server re-validates the code and records the redemption atomically when the booking is made, so caps are never exceeded even if two guests redeem the last one at the same moment. The per-guest cap is also pre-checked for signed-in guests, so they're warned before checkout.
Worked examples
- WELCOME10 — 10% off the whole order: on a R2 000 room + R200 breakfast, the guest saves R220 (cleaning untouched).
- ROOMSONLY — 20% off accommodation: the R2 000 room drops by R400; add-ons are unchanged.
- SUITE50 — 50% off, room-targeted: only the selected suite's subtotal is discounted; other rooms in the same booking are not.
- SPA25 — 25% off, add-on-targeted: with a R400 breakfast and a R600 spa in the cart, only the spa is discounted (−R150); breakfast is untouched.
- R500OFF — fixed amount, min spend R3 000: applies only when the eligible total is at least R3 000, and never discounts more than the eligible amount.
Common mistakes
- Room targeting needs a listing selected first and only applies with “accommodation” scope; add-on targeting only applies with “add-ons” scope.
- A targeted coupon won't apply if the guest hasn't added that room or add-on — they'll see a clear prompt.
- A fixed-amount coupon larger than the eligible total just zeroes that part — it never makes the total negative.
- Turning a coupon “off” stops new redemptions immediately but doesn't change bookings already made.