Seasonal Campaigns and Promotions
GadgetSphere runs a four-week festive campaign across all 22 branches and the GSO storefront: RM 50 off any smartphone over RM 1,500, a monthly voucher for GOLD members, birthday points, and double points on accessories that expire soon after the campaign. Every piece is a record you can create today, and two of them do less than their screens suggest. This page is for whoever plans the campaign with marketing; the pieces an earlier version of this page described that do not exist are listed at the end.
1. The festive voucher
In Voucher Management create voucher FEST50:
- Voucher Type
DISCOUNT, Quantity TypeDYNAMIC(a serial is generated when claimed) orFIXEDwith 5,000 tickets; StatusACTIVE; Voucher Limit Per Customer 1; Daily Limit if you want to cap redemptions per day. - Event Period and Redemption Period covering the four weeks.
- Treatment Value → For All: Price Source transaction amount, Operator SUBTRACT, Value 50, Min Spend 1,500.
- Apply Rules → Doc Hdr: Event Date Range, Redemption Date Range, Branch (all 22); Single Line: Item Category = smartphones.
- Website Link to the GSO storefront so the cart accepts the code.
At the counter the cashier scans or keys the serial; POS General checks the voucher’s rules (its Daily Limit only for a free gift the till adds by itself, its per-customer limit not at all) and rejects it with the reasons on its troubleshooting table. At FINAL the server marks the ticket redeemed against the bill. Nothing marks the unused tickets EXPIRED when the campaign ends — run the voucher expiry-checking call afterwards, or Ticket Management will go on counting 5,000 generated tickets as live.
2. A monthly voucher for GOLD members
Voucher Management has a Recurring Voucher template — a recurrence rule (monthly on the 1st),
type DISCOUNT, quantity FIXED, a Member Class rule = GOLD — and a run,
RECURRING_COUPON_CREATION_PROCESSOR, meant to create each month’s voucher from it once a day.
Do not rely on it today. The run picks up only templates whose start date is still to come
and whose end date has already passed, so a template with ordinary dates is never picked up and
no voucher is created — with no error anywhere. (Its code also notes that running it more than
once a day would create duplicates, if it ever did create.)
Until that is fixed, the monthly GOLD voucher is a person’s job: on the last working day of each month, whoever owns the campaign copies last month’s voucher with the new month’s Event and Redemption Periods, and confirms on the 1st that GOLD members can see it. If you do build the template and schedule the run, check after the first due date that a new voucher exists — and expect it not to.
3. Birthday points
Create a schedule for MEMBER_BIRTHDAY_GIFT_PROCESSOR with gift type POINTS, point currency
GSPTS, point amount 500, a validity of 3 months and member classes = GOLD. The processor can
alternatively assign a list of vouchers. There is no “birthday multiplier” on purchases.
Match the clock to the gift’s frequency, because the run keeps no record of a gift: a DAILY gift
wants a daily clock; any other frequency picks everyone born this month, so on a daily clock each of
them gets 500 points every day of their birthday month. A points gift also sends no e-mail; if you want members told, give a birthday
voucher (its e-mail can name the points with [points_awarded]) or send the greeting from your own
marketing system. Birthday Gift owns
the schedule’s settings and what goes wrong with them.
4. Double points on accessories, with their own expiry
Add a second price set to the default price book: Single Line rule Item Category = accessories, Doc Hdr Valid Date Range = the campaign dates (absolute), POINT treatment Operator MULTIPLY, Value 2, and a Priority Level higher than your everyday points set — a bill line takes the one highest-priority set that matches it, and only that set’s first treatment, so at a lower priority the double-points set is never reached.
The price set cannot give every lot the same end date. Validity Period (Days) is counted from
the moment each line’s points are worked out, so 30 days on a sale on the 1st ends on the 31st, and
on a sale on the 28th ends a month later. “Expires at quarter end” is not something a price set
can say; choose a number of days and tell members the points last that long from purchase. The
scheduled elimination processor writes an EXPIRY line and zeroes each lot as it passes.
Two edges of the same campaign: storefront orders on GSO get their points without an end date at
all (they never expire), and the server’s own points pass — which fills in points the till left
off a line — reads only price sets that carry a Member Class rule, so a campaign set without one
works at the till only. A separate GSFEST point currency is only worth creating if you want a
separate balance the customer can see; it expires the same way — per lot, never by a “hard delete
on end date”.
Watching it
- Membership Admin → each member’s Point Transaction and Points Expiry tabs.
- Sales Report → Voucher Redemption (by voucher code, company, date redeemed).
- Voucher Management → Ticket Management counts (generated, assigned, redeemed) and the CSV export.
- No scheduled job warns members that campaign points are about to expire — the Scheduler’s “expiry reminder” processor runs the expiry itself and sends nothing (Points Expiry). The warning is your campaign’s last message.
What the old page had and the product does not
A “temporary currency” type with a hard expiry and an exclusive catalogue; multiplier campaigns configured in a Campaigns screen, stacking with tier multipliers; category-specific multipliers that “override the campaign base”; multi-location and omnichannel bonuses; social-media and review earning; a daily lucky-draw spin; purchase-threshold gift tiers; a redemption-bonus percentage; tier-based flash-sale discounts with caps; hourly lightning deals with stock counters; a scheduled communication engine. None has a screen or a processor. What you have is voucher rules, price-set rules, and two job processors that work on a schedule you create — the expiry sweep and the birthday gift.
Read next
- Voucher Rewards and Birthday Gift — the voucher rules and the birthday schedule this campaign uses.
- Points Expiry — what the double points’ own end date does, and the sweep that acts on it.
- What You Owe Your Members — the liability a campaign adds at month-end.