Surfaces
Attendee Coupons
Coupon enablement, stacking, discount coverage, codes, limits, windows, and active flags.
First created Last updated
Overview
Attendee Coupons creates discount codes for registration and event purchases where supported. Coupon behavior can affect totals, affiliate rewards, finance reporting, and attendee expectations.
Dashboard route
/ems/manage/attendee-coupons?id=:eventId
Feature settings
| Input or control | What it changes | What each option means |
|---|---|---|
| Enable attendee coupons | Allows checkout to accept active coupon codes that match schedule and redemption rules. | Off keeps coupon records stored but prevents attendee use. On allows valid active coupons to apply. |
| Coupon stacking | Controls whether coupon discounts can combine with affiliate discounts. | Allow coupon and affiliate discounts together permits both. Coupon disables affiliate discount prevents double-discounting when a coupon is entered. |
| Discount coverage | Controls whether discounts affect surcharges. | Discount grand total, including surcharges means the partner absorbs more of processing/platform costs. Discount subtotal only, keep surcharges separate keeps surcharge amounts outside the discount. |
| Floating save bar | Saves feature settings and coupon records, or reverts to the last loaded data. | Revert if a discount policy was changed by mistake. |
Coupon list controls
| Input or control | What it changes | Before saving |
|---|---|---|
| Add coupon | Creates a new coupon code. | Confirm code naming and intended audience. |
| Coupon feature badge | Shows whether coupon use is enabled for the event. | Active coupon records still require the feature setting to be enabled. |
| Edit | Opens an existing coupon in the modal. | Check active state and usage intent before changing a live code. |
| Remove | Deletes the coupon draft from the list. | Avoid removing a code that has been announced or used for reporting. |
| Empty state | Shows No attendee coupons yet. | Add codes only when there is a concrete promo or support need. |
Coupon modal
| Input or control | What it changes | Before saving |
|---|---|---|
| Coupon code | Code attendees enter. | Required. Keep it easy to type and avoid ambiguous characters. |
| Internal title | Staff label for the coupon. | Use campaign, partner, or support reason. |
| Discount type | Chooses how the discount is calculated. | Flat amount subtracts a fixed PHP amount. Percent subtracts a percentage and cannot exceed 100%. |
| Discount value | Amount or percentage applied. | Required and must be above zero. Verify decimals before saving. |
| Starts | Earliest date and time the coupon can be used. | Leave blank only when the code may start immediately. |
| Ends | Date and time the coupon stops working. | Must not be earlier than Starts. |
| Redemption limit | Optional maximum number of uses. | Leave blank for unlimited; values must be above zero when set. |
| Notes | Internal context for staff. | Record owner, audience, reason, or public announcement source. |
| Active | Makes the coupon eligible for use when the feature is enabled and schedule/limit rules pass. | Keep off until campaign copy and public instructions are ready. |
| Applies to gifted regos | Allows this coupon to discount the gifter’s gift purchase flow. | Leave off unless the promo is intended for both regular rego and gifted rego purchases. |
| Applies to shop orders | Allows this coupon to discount Event Shop carts and checkout. | Leave off unless the promo is intended for shop purchases; this is separate from regular rego and gift eligibility. |
| Save coupon | Adds or updates the coupon draft. | The floating save bar still writes the event-level changes afterward. |
| Cancel/Close | Leaves the modal without applying modal changes. | Use if the code or discount is not final. |
Coupon applicability is intentionally split by checkout type. A code can apply to regular rego, gifted rego, shop orders, or only the subset the event lead approves. Do not use one checkbox as proof that another checkout path is discounted.
Validation and page states
| State or validation | Meaning | What to do |
|---|---|---|
| Every coupon needs a code | A coupon record is missing its attendee-entered code. | Add a clear code before saving. |
| Discount value above zero | A flat or percent coupon has no usable discount. | Enter the intended amount or percent. |
| Percent cannot exceed 100% | Percent discount is too large. | Lower the percentage or use a flat amount. |
| Redemption limit above zero | A configured limit is invalid. | Use a positive whole number or leave blank. |
| Closes before it opens | End date is earlier than start date. | Correct the schedule before saving. |
Flowchart context
Create an Event uses Attendee Coupons during marketing setup. Active Event Workflow may review it when attendee totals or promo behavior look unexpected.
Common mistakes
Do not publish coupon codes until stacking, coverage, gift applicability, and shop applicability are checked. A correct code with incorrect scope can discount the wrong checkout path.