41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
---
|
|
title: "Campaign Structure"
|
|
type: OpenSpec
|
|
status: Draft
|
|
domain: Reward Campaign Management
|
|
---
|
|
|
|
# Campaign Structure
|
|
|
|
## Requirement Definition
|
|
Defines the conceptual structure and mechanics of how reward campaigns operate in OLS, managing the issuance and redemption of various reward types (Points, Cash Rebates, eCoupons, Lucky Draw chances).
|
|
|
|
## Process Flow
|
|
|
|
### Pre-Conditions
|
|
- N/A (Core concepts)
|
|
|
|
## Business Rules
|
|
|
|
### Types of Campaign Mechanics
|
|
1. **Award on Every Transaction**: Rewards are determined and given at the time the transaction is processed (real-time or batch).
|
|
2. **Accumulate Then Award**: Rewards depend on cumulative criteria (e.g., total spend over a month). Transactions update Counters, and at the end of the period, a separate process extracts the Counter value to determine the award.
|
|
3. **Auto-redemption Campaigns**: Awarded quantities (e.g., Cash Rebates) are immediately "redeemed" and sent to an external system (like a Core Banking system) to credit the customer's account.
|
|
|
|
### Reward Pool Structure & Deduction
|
|
- Earnings are tracked in "Pools" by reward type.
|
|
- Pools belong to Loyalty Accounts (or specific Accounts/Cards).
|
|
- Stored value is tracked in Buckets segregated by Expiry Date and Account Type.
|
|
- **Redemption Sequence**:
|
|
- Deducted in ascending Expiry Date (earliest expiring first).
|
|
- If identical expiry dates, sorted by a pre-configured Account Type priority sequence.
|
|
|
|
### Counters
|
|
- A Counter tracks a quantity (e.g., spend amount, transaction frequency) over a defined time period (Bucket).
|
|
- Entities tracked: Customer, Account, Card, Store, Chain, etc.
|
|
- Quantities tracked: Gross Amount, Nett Amount, Points, Transaction Count, Custom Quantities.
|
|
- Counter Periods: Days, Weeks, Months, Quarters, Years, Fixed Date, No Expiry, Days/Months/Quarters from Account Open Date.
|
|
|
|
## Exception Flow
|
|
- N/A
|