feat: initialize project backend structure and document system specifications across all modules
This commit is contained in:
37
docs/specs/reward_campaign/reward_campaign.md
Normal file
37
docs/specs/reward_campaign/reward_campaign.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "Reward Campaign"
|
||||
type: OpenSpec
|
||||
status: Draft
|
||||
domain: Reward Campaign Management
|
||||
---
|
||||
|
||||
# Reward Campaign
|
||||
|
||||
## Requirement Definition
|
||||
Acts as the parent container for Business Rules (Campaign Rules) controlling rewards and redemptions. Campaigns can be "Base" (core product) or "Tactical" (short-term objectives).
|
||||
|
||||
## Process Flow
|
||||
|
||||
### Pre-Conditions
|
||||
- Users must have access rights.
|
||||
|
||||
## Business Rules
|
||||
|
||||
### Data Schema
|
||||
|
||||
| Field Name | Description | Logic Type | Constraints / Rules |
|
||||
|---|---|---|---|
|
||||
| Campaign ID | Identifier. | String (10) | Required. |
|
||||
| Campaign Name | Name of the campaign. | String (50) | Required. >= 10 chars. |
|
||||
| Campaign Owner | Owner reference. | String (50) | Optional. |
|
||||
| Campaign Description | Description. | String (500) | Optional. |
|
||||
| Campaign Type | Base or Tactical. | Enum (Lookup) | Required. |
|
||||
| Target Active Customer Count | Expected participant count. | Integer | Optional. Insight metric. |
|
||||
| Target Avg Transaction Value | Expected spend value. | Decimal | Optional. Insight metric. |
|
||||
| Campaign Period | Earliest Rule start to latest Rule end. | Date Range | Read-only based on Rules. |
|
||||
|
||||
### Execution
|
||||
- Campaigns simply group Rules logically. The actual execution logic is defined in the child Campaign Rules.
|
||||
|
||||
## Exception Flow
|
||||
- N/A
|
||||
Reference in New Issue
Block a user