feat: initialize project backend structure and document system specifications across all modules
This commit is contained in:
42
docs/specs/onemarketing/frequency_capping.md
Normal file
42
docs/specs/onemarketing/frequency_capping.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: "Marketing Frequency Cap"
|
||||
type: OpenSpec
|
||||
status: Draft
|
||||
domain: OneMarketing
|
||||
---
|
||||
|
||||
# Marketing Frequency Cap
|
||||
|
||||
## Requirement Definition
|
||||
Controls the frequency and volume of notifications delivered to customers to prevent overwhelming them. Caps can be set daily, weekly, or monthly per customer across different channels.
|
||||
|
||||
## Process Flow
|
||||
|
||||
### Pre-Conditions
|
||||
- Users must have access rights in the "Frequency Capping" module.
|
||||
|
||||
## Business Rules
|
||||
|
||||
### Data Schema
|
||||
|
||||
#### Edit Mode Configuration
|
||||
| Field Name | Description | Logic Type | Constraints / Rules |
|
||||
|---|---|---|---|
|
||||
| Frequency Cap Id | Record identifier. | String (10) | Required. |
|
||||
| Notification Channel | SMS, Email, or Push Notifications. | Enum | Required. |
|
||||
| Effective Date From | Start date of the cap. | Date | Required. Only one effective cap per channel at any given time. |
|
||||
| Effective Date To | End date of the cap. | Date | Required. |
|
||||
| Capping Period | Daily, Weekly, or Monthly. | Enum | Required. Each period must have only one cap value. |
|
||||
| Maximum number | Max messages per unique customer. | Integer (12) | Required. |
|
||||
| Include Whitelist | Disallows/allows whitelist customers to receive more notifications. | Boolean | Default: False. |
|
||||
| Customer list | Selected whitelist customers to ignore rules. | Array of Strings (Lookup) | Required if Include Whitelist is True. |
|
||||
| Description | Description of the capping. | String (100) | Optional. |
|
||||
|
||||
### Execution
|
||||
- Frequency Capping is applied to all marketing campaigns at the customer level.
|
||||
- System automatically tracks notification counts per customer per channel and period unit.
|
||||
- If the customer reaches the cap, further notifications are blocked.
|
||||
- Whitelisted customers are excluded from the frequency cap unless explicitly included.
|
||||
|
||||
## Post-Conditions
|
||||
- System enforces defined limits during OMR batch processing.
|
||||
Reference in New Issue
Block a user