feat: initialize project backend structure and document system specifications across all modules
This commit is contained in:
62
docs/specs/onemarketing/marketing_campaign.md
Normal file
62
docs/specs/onemarketing/marketing_campaign.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
title: "Marketing Campaign (OneMarketing Request)"
|
||||
type: OpenSpec
|
||||
status: Draft
|
||||
domain: OneMarketing
|
||||
---
|
||||
|
||||
# Marketing Campaign (OneMarketing Request)
|
||||
|
||||
## Requirement Definition
|
||||
Filters target customers that satisfy specific marketing criteria. Triggers either notification messages or reward campaigns (via OLS Transaction Code) for the target customers.
|
||||
|
||||
## Process Flow
|
||||
|
||||
### Pre-Conditions
|
||||
- Users must have access rights in the "Marketing Request" module.
|
||||
- Depending on rights, users can view, add, edit, or approve requests.
|
||||
- All OMR criteria must be defined as attributes.
|
||||
|
||||
## Business Rules
|
||||
|
||||
### OMR Criteria Logic
|
||||
- Uses Query Builder for marketing criteria.
|
||||
- Criteria can be dragged/dropped from the right panel.
|
||||
- Supports AND/OR conditions between criteria groups.
|
||||
- Introduces NOT toggle for exclusion criteria.
|
||||
|
||||
### Data Schema
|
||||
|
||||
#### General Information
|
||||
| Field Name | Description | Logic Type | Constraints / Rules |
|
||||
|---|---|---|---|
|
||||
| Request ID | Unique identifier. | String (20) | Required. No special characters. |
|
||||
| Description | Description. | String (100) | Required. |
|
||||
| Effective Date From | Start date. | Date | Required. |
|
||||
| Effective Date To | End date. | Date | Required. |
|
||||
| Marketing Function | Notification [N] or Trigger Campaign Rule [TCR]. | Enum | Required. |
|
||||
|
||||
#### Run Schedule and Message Content
|
||||
| Field Name | Description | Logic Type | Constraints / Rules |
|
||||
|---|---|---|---|
|
||||
| Trigger Method | Schedule or Event trigger. | Enum | Required. |
|
||||
| Run Schedule | Once Time [O], Daily [D], Weekly [W], Monthly [M], Annually [A]. | Enum | Required if Trigger Method is Schedule. |
|
||||
| Schedule Details | Specific details (e.g., Repeat every, Fixed Date, Time of day). | Complex | Required based on Run Schedule. |
|
||||
| Business Event | Specific event triggering the request. | Array of Strings (Lookup) | Required if Trigger Method is Event trigger. |
|
||||
| Message Template | The marketing message to send. | String (Lookup) | Required if Marketing Function is Notification. |
|
||||
| OLS Transaction Code | TC used to trigger campaign rule. | String (Lookup) | Required if Marketing Function is Trigger Campaign Rule. |
|
||||
|
||||
#### Targeting
|
||||
| Field Name | Description | Logic Type | Constraints / Rules |
|
||||
|---|---|---|---|
|
||||
| Trigger Method | OMR Criteria or Upload file. | Enum | Required. |
|
||||
| Targeting Data | The selected OMR criteria setup or the uploaded file. | Rule / File | Required based on Trigger Method. |
|
||||
|
||||
### Batch Job Processing
|
||||
- OMR job checks effective requests based on processing date.
|
||||
- Finds valid jobs based on schedule.
|
||||
- Creates notifications or extracts transactions based on criteria.
|
||||
- Stops sending when frequency capping limits are reached.
|
||||
|
||||
## Post-Conditions
|
||||
- Marketing content is sent to target customers, or target customers trigger a Campaign Rule.
|
||||
Reference in New Issue
Block a user