feat: initialize project backend structure and document system specifications across all modules
This commit is contained in:
39
docs/specs/reward_campaign/rep_rule.md
Normal file
39
docs/specs/reward_campaign/rep_rule.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: "Redemption Extract & Process (REP) Rule"
|
||||
type: OpenSpec
|
||||
status: Draft
|
||||
domain: Reward Campaign Management
|
||||
---
|
||||
|
||||
# Redemption Extract & Process (REP) Rule
|
||||
|
||||
## Requirement Definition
|
||||
Extracts reward pool balances to automatically output them as Cash Rebates or Partner Points to an external destination system (like a Core Banking system or Airline Partner).
|
||||
|
||||
## Process Flow
|
||||
|
||||
### Pre-Conditions
|
||||
- Users must have access rights.
|
||||
|
||||
## Business Rules
|
||||
|
||||
### Data Schema
|
||||
|
||||
#### Extraction Settings
|
||||
| Field Name | Description | Logic Type | Constraints / Rules |
|
||||
|---|---|---|---|
|
||||
| Rule Type | REP. | Enum | Required. |
|
||||
| Pool to Extract | Pool containing the balance. | Enum (Lookup) | Required. |
|
||||
| Minimum Pool Balance | Threshold before extraction. | Decimal | Optional. |
|
||||
| Trigger Campaign rule | Validates criteria before extraction. | Boolean | Default False. |
|
||||
| Redeem TC | TC used to post the redemption. | Enum (Lookup) | Required. |
|
||||
| Output Redemption As | Format/System of output (e.g. Cash Rebate file).| Enum (Lookup) | Required. |
|
||||
| Run schedule | Day, Month, Annual, Stmt Cycle, N days AOD. | Enum (Lookup) | Required. Defines execution frequency. |
|
||||
|
||||
### Execution
|
||||
- Evaluated by the REP Batch scheduled at end-of-day.
|
||||
- The full eligible amount of the Pool balance is deducted and output to a file (e.g., `OLSCRTXN`).
|
||||
- If `Trigger Campaign rule` is true, an intermediate Redeem rule evaluates criteria, and the extracted amount is the minimum of (Available Balance, Formula Result).
|
||||
|
||||
## Exception Flow
|
||||
- N/A
|
||||
Reference in New Issue
Block a user