--- 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.