feat: initialize project backend structure and document system specifications across all modules
This commit is contained in:
40
docs/specs/reward_campaign/campaign_structure.md
Normal file
40
docs/specs/reward_campaign/campaign_structure.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user