chore: remove legacy specification documents and internal rules file

This commit is contained in:
2026-07-27 18:28:46 +07:00
parent 4534e4ecb8
commit 911d5be3b2
151 changed files with 26567 additions and 7922 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,123 @@
---
title: "Formula"
source: "docs/Formula.docx"
type: "documentation"
extracted_by: "markitdown"
---
# Formula
## Formula 1
**Enter # of Pool Units (N)**] is the number of pool units to add to Result for every D units of Amount in the **[Enter Block Size (D)]** input field. E.g. if N = 5, D=50:
| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **Amount** | $60 | $65 | $119 | $160 | $210 |
| **Result =** | 5 | 5 | 10 | 15 | 20 |
**Result = [Round Down to Integer for (Transaction Amount / D)] \* N**
Then apply precision and rounding type handling to the formula 1 result.
**Finally result = Award points by Before Cap amount + Award points by after cap amount (if After Cap is available)**
**Example 1:**
Txn Amt = 52.87, N=1, D =1, pool precision = 0, rounding type = Nearest
Formula 1 result = [Round Down to Integer for (52.87 / 1)] \* 1 = [Round Down to Integer for (52.87)] \*1 = 52\* 1 = 52
Then apply precision and rounding type handling to the formula 1 result = 52
**Example 2:**
Txn Amt = 52.87, N=0.1, D =0.1, pool precision = 0, rounding type = Nearest
Formula 1 result = [Round Down to Integer for (52.87 / 0.1)] \* 0.1 = [Round Down to Integer for (528.7)] \* 0.1 = 528 \* 0.1 = 52.8
Then apply precision and rounding type handling to the formula 1 result = 53.
**The finally result = Award points by Before Cap amount + Award points by after cap amount (if After Cap is available)**
## Formula 2
“N” is the number of Pool Units to add to “Result” for every transaction meeting criteria in this Rule.
## ~~Formula 3~~
~~~~
~~The Result is multiplied by “M” if transaction date matches the selected Event Date(s). Event Date(s) is a multi-select field.~~
## Formula 4
Selects one of two calculation algorithms as the Award Basis:
A. “Highest Tier in Which Amount Falls”
B. “Each Tier, applied to the part of Amount that Falls within that Tier”
- If Award Basis “A” is selected, and AF is a Percentage, then the AF in the highest Tier in which Amount falls is applied to the whole Amount, i.e. Result = AF x Amount, where AF is the AF of the highest Tier where Amount is greater than the lower bound but less than the upper bound).
- If “B” is selected, and if AF is a Percentage, then the AF for each Tier is applied to the part of Amount that falls within that Tier (AF x amount in Tier = D), and Result is the sum of D from all the applicable Tiers.
- If “A” is selected and AF is “Pool Units”, then the number of Pool Units awarded is AF as specified in the highest Tier in which Amount falls is applied to the whole Amount.
- If “B” is selected, and AF is “Pool Units”, then AF Pool Units are awarded for each Tier whose upper bound is less than Amount, i.e. Result = Sum AF of all Tiers with upper bound less than Amount.
**The finally result = Award points by Before Cap amount + Award points by after cap amount (if After Cap is available)**
## Formula 5
1. Counters are updated with an implicit value from the transaction context, depending on the Counter Definition i.e. the Counter is updated with:
- Amount (spend counter)
- Formula Result (points counter) or
- Incremented by one (frequency counter), depending on the counter method selected in Counter Definition.
-The first input field accepts a number by which to multiply the amount to be added to Counter. If Multiplier is 0, the Counter value is set to 0.
Conclude: If transaction hit F5 then Counter value is updated:
Normal transaction: New counter value = Counter value + (F5 result \* multiplier), except multiplier is 0
Reversal transaction: new counter value = Counter value - (F5 result \* multiplier), except multiplier is 0
2. For point counter and point amount counter then:
Just update point counter/point counter value with the point /point amount form that Rule only. If there is no point but have F5 to update point counter then throw message to reject transaction.
## Formula 6
Formula 6 is for computation on a tiered basis, similar to Formula 4, but Formula 6 is different in that the tier is determined not by the Amount (as is the case in Formula 4), but instead it is by the value of a separately selected Counter.
“Decide Tier based in value in” is a drop-down to select all of 3 counter buckets: Current bucket/ Previous bucket/ before last bucket of each counter (in the next phase should support N bucket with N is configurable value by user). Based on “Effective Period Is Based On” of rule to determine counter value of Selected counter bucket.
## Formula 9
Update counter state
1. “Counter” is drop-down list to select the counter to update counter state if transaction trigger CP rule.
2. “Select state” is drop-down list to select the state to be updated.
There is 2 options to select “Next state” or “Previous State”. Depended in reversal indicator of transaction to process as following:
* Next State non reversal --> look for oldest C and update to A
* Next State reversal --> look for newest A and update to C
* Previous State non-reversal --> look for newest A and update to C
* Previous State reversal --> oldest C and update to A
## Formula 8
Update attribute value conditionally =tbd=

View File

@@ -0,0 +1,50 @@
---
title: "Formula Validation"
source: "docs/Formula validation.docx"
type: "documentation"
extracted_by: "markitdown"
---
# Formula Validation
| | | |
| --- | --- | --- |
| **Field** | **Description** | **Data type** |
| Right panel | List all active formula on the system. In the right panel, the list to selects a Formula to use. Each formula derives a Result which is used as the award quantity or the redemption quantity, depending on the Rule Type selected in the Rule Header. The supported formulae for deriving Result are:  Formula 1 Add “P” to Result for every D of Amount  Formula 2 Result = “P” (a fixed amount)  Formula 4 Derive Result based on Amount Tier and a parameter “P”  Formula 5 Update selected Counter  Formula 6 Derive Result based on Counter Tier and a parameter “P”  Formula 7 Derive Result based on Rate table  Formula 8 Update Attributes  Formula 9 Update State of selected Counter | View only |
| Drag/Drop formula | Allow user drag/drop the formula from right panel to set up rule. Drag the selected Formula will be added as a panel for the edit and displaying the Formula parameters below the Formula part. A Formula panel can be removed by clicking on the exit icon (X) in the panel header. | Action |
| Formula order | Formula Executing Seq. It defaults to the ascending ordering sequence. User can re-arrange it if needed. For example. If user select F1 and F5 then the default formula order must be F1=> F5 and user can re-arrange into F5=>F1. The formula list is getting from “Code_Management”table where code type is “formula-list”. Refer “Get-by-code-type” API under Master data. | Action |
| **Formula 1: Add [ N ] to Result for Every [ D ] Unit(s) of Transaction Amount, where Transaction Amount is the Gross Transaction Amount or Nett Transaction Amount as selected in Amount-To-Use, in Base Currency Units.** **Only one formula 1 allow to configure on each campaign rule** | | |
| **If “Apply After Cap Value” button is on OFF** | | |
| N | N value which apply for before cap This is condition field. If “Apply After Cap Value” button is ON mode (apply after cap value logical ) then the field name should be “Before Amount Cap N” otherwise just “N”. This is the number of pool units to add to Result for every D units of Amount in the “Block size” D. If “Apply After Cap Value” button is on OFF mode then this field is required. | |
| D | The block size of transaction Amount before cap. If “Apply After Cap Value” button is on OFF mode then this field is required. | |
| **If “Apply After Cap Value” button is on ON** | | |
| Before Amount Cap N | N value which apply for before cap This is condition field. If “Apply After Cap Value” button is ON mode (apply after cap value logical) then the field name should be “Before Amount Cap N” otherwise just “N”. This is the number of pool units to add to Result for every D units of Amount in the “Block size” D. | 9(14,2) Allow positive value only |
| D | The block size of transaction Amount before cap. | 9(14,2) Allow positive value only |
| After Amount Cap N | N result apply for after Cap value This is condition field. If “Apply After Cap Value” button is ON mode (apply after cap value logical) then this field is active. | 9(14,2) Allow positive value only |
| D | The block size of transaction amount after cap. This is condition field. If “Apply After Cap Value” button is ON mode (apply after cap value logical) then this field is active. | 9(14,2) Allow positive value only |
| **Formula 2: Add [ N ] to Result** **Only one formula 2 allow to configure on each campaign rule** | | |
| N\* | “N” is the number of Pool Units to add to “Result” for every transaction meeting criteria in this Rule. | 9(14,2) |
| **Formula 4: Tiered Calculation. Select Factor from row where Transaction Amount A is between [Start]-[End] in that row. If Percent is chosen in the corresponding drop-down box, then add (Factor XA) to Result. If Points is selected, then add Factor to Result** | | |
| Factor Type is \*/Loại hệ số | This specifies whether “Award Factor” (AF) is a Percentage or a quantity of “Pool Units”. Drop-down selects “Award Factor” or “Pool Units”. | Drop-down Select one Lookup value from “Code_Management” table where code type is “factor-type” Refer “get-by-code-type” API under master data |
| Factor per Block or Full Amount\*/Hệ số theo mỗi khối hay trên toàn bộ giá trị | Selects one of two calculation algorithms as the Award Basis: A. “Highest Tier in Which Amount Falls” B. “Each Tier, applied to the part of Amount that Falls within that Tier | Drop-down Select one Lookup value from “Code_Management” table where code type is “f4-factor-option”. Refer “get-by-code-type” API under master data |
| Add tier | Edit row for specifying formula parameters for a Tier, i.e. the range of values in a Tier and the corresponding AF value. * Click to add button to add new tier. Up to 10 tiers can be defined. 1. If “Apply After Cap Value” button is on OFF mode. When the “+” icon is clicked, the parameters in the edit row are added to the display area below the edit as a row, as following illustrated : Each record includes: | | | | | --- | --- | --- | | **Field** | **Descriptions** | **Data type** | | Is between \* | is a number field specifying the lower bound (exclusive) of the Tier. | 9(14,2) Should be greater than or equal 0. For first tier it is entered by user For next tier it should be automation updated as “AND” value of previous tier plus 0.01 and dont allow user edit this one. | | And \* | The second input field is a number field specifying the upper bound (inclusive) e.g. “>0” and “<=100” are the lower bound (exclusive) the upper bound (inclusive) of the first Tier respectively. | 9(14,2) Positive value only “and” must be greater than “is between” value. | | Factor\* | The third input field is a number specifying AF. | 9(14,2) Positive value only | 1. If “Apply After Cap Value” button is on ON mode. When the “+” icon is clicked, the parameters in the edit row are added to the display area below the edit as a row, as following illustrated : | | | | | --- | --- | --- | | **Field** | **Descriptions** | **Data type** | | **Before Cap** | | | | Before Cap | The label is only active when on Apply after cap mode. | Label Display | | Is between | This is a number field specifying the lower bound (exclusive) of the Tier. | 9(14,2) Positive value only For first tier it is entered by user For next tier it should be automation updated as “AND” value of previous tier plus 0.01 and dont allow user edit this one. | | And | The second input field is a number field specifying the upper bound (inclusive) e.g. “>0” and “<=100” are the lower bound (exclusive) the upper bound (inclusive) of the first Tier respectively. | 9(14,2) Positive value only “and” must be greater than “is between” value. | | Factor | The third input field is a number specifying AF. | 9(14,2) Positive value only | | **After cap: This row is active on each tier when Apply after cap only** | | | | After cap | The label is only active only when on Apply after cap mode. | Label Display | | Is between | This is a number field specifying the lower bound (exclusive) of the Tier. | 9(14,2) Positive value only For first tier it is entered by user For next tier it should be automation updated as “AND” value of previous tier plus 0.01 and dont allow user edit this one. | | And | The second input field is a number field specifying the upper bound (inclusive) e.g. “>0” and “<=100” are the lower bound (exclusive) the upper bound (inclusive) of the first Tier respectively. | 9(14,2) Positive value only “and” must be greater than “is between” value. | | Factor | The third input field is a number specifying AF. | 9(14,2) Positive value only | | Button |
| **Formula 5** | | |
| Multiplier\*/Hệ số nhân | Input field accepts a number by which to multiply the amount to be added to Counter. If Multiplier is 0, the Counter value is set to 0. | 9(14,2) ~~Should be greater than or equal 0~~ |
| Counter ID \*/Bộ đếm | The input field is a drop-down for selecting the Counter to update. Note that Counters are updated with an implicit value from the transaction context, depending on the Counter Definition i.e. the Counter is updated with * Amount (spend counter) * Formula Result (points counter) or * Incremented by one (frequency counter), depend on the counter method selected in Counter Definition. **Each counter is assigned to only one F5 per each campaign rule.** | Drop-down Select one Refer “Counter Definition” API under Campaign management |
| Add counter | After the fields in this row have been filled in, the “+ Add counter” icon is active, and when it is clicked will add the details from the input fields in the display area as a new row. | Button |
| **Formula 6** | | |
| Factor Type is \*/ Loại hệ số là | This specifies whether “Award Factor” (AF) is a Percentage or a quantity of “Pool Units”. Drop-down selects “Award Factor” or “Pool Units”. | Drop-down Select one Lookup value from “Code_Management” table where code type is “factor-type” Refer “get-by-code-type” API under master data |
| Decide Tier based on value in\*/ | The input box is a drop-down for selection of a Counter to be used for determining the AF to use in deriving Result. This drop-down allow to select all of 3 counter buckets: Current bucket/ Previous bucket/ Before last bucket of each counter. E.g : Current -Counter Name [Counter ID] Previous Counter Name [Counter ID] Before last Counter Name [Counter ID] | Drop-down Select one Lookup value from “Counter_Definition” table Refer “get-by-code-type” API under master data |
| Add Tier /Thêm | Edit row for specifying formula parameters for a Tier, i.e. the range of values in a Tier and the corresponding AF value. * Click to add button to add new tier. Up to 10 tiers can be defined. When the “+” icon is clicked, the parameters in the edit row are added to the display area below the edit as a row, as following illustrated : Each record includes: | | | | | --- | --- | --- | | **Field** | **Descriptions** | **Data type** | | Is between \* | The first input field is a number field to enter the lower bound of a Tier. | 9(14,2) Positive value only For first tier it is entered by user For next tier it should be automation updated as “AND” value of previous tier plus 0.01 and dont allow user edit this one. | | And \* | The second input field is a number fields to enter the upper bound of a Tier | 9(14,2) Positive value only “and” must be greater than “is between” value. | | Factor\* | The third input field is a number field specifying the value of AF, which is either the number of Pool Units to award or the percentage of Amount to award in Pool Units | 9(14,2) Positive value only | | Button |
| **Formula 9** **Allow Only one formula 9 per each campaign rule** | | |
| Counter Id\*/ Bộ đếm | The “Counter” drop-down field lists all valid Counters as defined in Counter Definition. | Drop-down Select one Lookup value from “Counter_Definition” table. Refer “Campaign Counter Definition” API under Campaign management. |
| Select State \*/Chọn trạng thái | The “Next State” drop-down provides the following choices: “Next State” , which will update the State as follows: If the State before update is “C”, the State will be updated to “A” If the State before update is “A”, the State will be updated to “O” If the State before update is “O”, no action is taken (Counter State is not changed) | Drop-down Select one Lookup value from “Code_Management” table where code type is “f9-counter-sate”. Refer “get-by-code-type” API under master data. |
| **Formula 8: Please consider and advise to change UI/UX for this** **Following items are explained for existing version** | | |
| Attribute group/Nhóm thuộc tính | Group of attribute | Drop- down Select one |
| Attribute ID\*/ Thuôc tính | Attribute ID to update attribute value/expire date If Attribute group is selected then just list all attribute of selected atrribute group If attribute group is not selected then list all active attribute on the system. | Drop-down Select one Lookup value “Attribute_Definition” table. Refer “Attribute Definition” API under Code Maintenance |
| Condition | After an Attribute has been selected, depending on the data type of the Attribute, condition appear to allow input of the conditional arguments as illustrated in the following figures Bellow image shows the a Date Attribute has been selected in the selection row : Bellow image shows a boolean attribtue has been selected in the seclection row: Bellow image show a character attribute has been selected in the selection row Bellow image show a character attribute has been selected in the selection row | |
| Set \* | Attribute ID need to be updated attribute value | Drop-down Select one Lookup value from “Attribute_Definition” table. Refer “Atrribute Defintion” API under code maitenance |
| Set to value | Value is depened on selected "Data type": * if "Boolean" data type is selected then swith button true/false is actived for default value field. Default False. * If "Character" datatype is selected then a textbox is actived for default value. * If " Date" datatype is selected hen a Date field is actived for default value field. * If "Number" datatype is selected then a Numberic filed (double data type) is actived for default value fied. | |
| Expiring | 2 choices for user: 1) User can enter a fixed date (1st input field) (Expiring ) or 2) user can enter N followed by the drop-down choice of "End of Month" or "End of Quarter" (Set Expiry Date to). if user enters a Fixed Date, we update the Expiry Date = value (Fixed Date) entered if user select period we update the expire date into selected period 1. Admin screen allows only choice of FIXED DATE or N [Period Unit]. If Expiring is provided then “Set Expire Date to “ is inactived and vice versa. 2. If “Set Expire Date To “ is selected and “Period is not No Expire / Post Date “ then “N” field is actived. 3. Have to choose at least one option: Fixed or period type | |
| Set Expire Date to | Drop -down Select one Refer “get-by-code-type” API under master data with code type is “ |
| N | 9(2) |

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,372 @@
## OneCatalogue
### About Redemption Item in OLS system
#### Overview
1. The catalogue is used to set up items for online (web site, Mobile App) redemptions.
2. Redemption items such as Cash-back rebates, frequent flyer miles conversion and merchant vouchers can be set up in the redemption catalogue.
3. Front-end systems access the catalogue through web services to display available items.
4. Front-end systems accept user requests to redeem and send these requests to OLS for authorization (deduction of the relevant points) and to generate the fulfilment files for sending to designated recipient systems.
5. Catalogues are managed through the browser-based administration screens, which update the catalogue in real-time. Once “Approved” the item is available commencing on the Start Date.
6. Functions include adding catalogues to the system, adding items to catalogues, setting price rules and processing redemption requests from front-end systems.
7. OLS also provides an administration function for back-office staff to redeem items through the administration screens directly on behalf of customers.
### Catalogue
#### Requirement Definition
* + - 1. A Catalogue must be defined and all items to be included in the Catalogue must be tagged with the Catalogue code before customers access the items.
2. A Catalogue code is tagged against each Item Master record.
3. More than one Catalogue can be configured at the same time, but each Catalogue must have its own set of Item master records.
4. Each Catalogue has a Start / End date range and items in the Catalogue will be picked for presentation to customer only if the current date falls in the Start / End date range for that Catalogue.
#### Process Flow
==tbd==
#### Trigger
* + - * 1. If an item is to be tagged to a Catalouge that has not yet been defined.
#### Pre-condition
1. Users have to have access rights in “Catalogue” screen under “OneCatalouge” module.
2. Depending on the user's access rights, they can view, add, edit, or approve catalogue records.
#### Mockup
![](data:image/png;base64...)
#### Business Rule
1. Click on Catalouge icon in navigation panel under OneCatalouge to get a listing of existing catalogs.
2. Click on Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) then click on Edit icon (!) also brings up the same edit form. The edit form for Catalouge is illustrated in section 7.2.5.
3. **Descriptions**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| **General Information /Thông tin chung** | | | |
| | Catalogue Code \*/Mã nhóm danh mục | User-specified code identifying the catalogue. Used by front-end system when requesting for item information. | ~~X(20)~~ X(10) |
| | Description\*/ Mô tả | A description of this catalogue. For user reference only. Default description which will be used in case there is no specific description for chosen language. | X(50) |
| | Effective From Date \*/Có hiệu lực từ ngày | Catalogue is effective only when the processing date is between Start Date and End Date, inclusive. | Date |
| | Effective To Date \*/Có hiệu lực đến ngày | Date |
| | Icon/ Biểu tượng | Allow to upload/remove the icon of catalogue | Image |
| **Content Configuration: This step is used to setup the description of catalogue follow each language.** **This is optional step** | | | |
| | Select Language /Chọn ngôn ngữ | Click to add specific description | Button |
| | Language \*/Ngôn ngữ | A drop-down list to select the language which need to be setup specific description. | Drop-down Select one Get from master data |
| | Description\*/Mô tả | A description of this catalogue. For user reference on MP only. | X(100) |
#### Post- Conditon
The Catalouge information for each item can be returned to the front-end during an Item Enquiry response message for the front-end to use in searching the catalogue for items.
#### Exception Flow
N/A
### Category
#### Requirement Definition
A catalog is the main folder to organize categories and items for materials. A category is a group within a catalog that contains items. All items to be included in the Catalogue must be tagged with the Category code. Multiple Categories can be linked to form a hierarchy of categories. The hierarchy of categories is used on Member site.
#### Process Flow
#### Trigger
If an item is to be tagged to a catagory that has not yet been defined.
#### Pre-Condition
1. Users have to have access rights in “Category” screen under “OneCatalouge” module.
2. Depending on the user's access rights, they can view, add, edit, or approve category records.
#### Mockup
![](data:image/png;base64...)
#### Business Rule
1. Click on the category icon in the navigation panel under OneCatalouge to get a listing of existing catalogues.
2. Click on the Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) and then clicking on the Edit icon (!) also brings up the same edit form. The edit form for the category is illustrated in section 7.3.4.
3. **Descriptions**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| **General Information /Thông tin Chung** | | | |
| | Category Code \*/Mã danh mục vật phẩm | User-specified code identifying the category. Used by front-end system when requesting item information. | ~~X(20)~~ X(10) |
| | Description\*/ Mô tả | A description of this category. For user reference only. Default description which will be used in case there is no specific description for the chosen language. | X(100) |
| | Effective From Date /Có hiệu lực từ ngày | Category is effective only when the processing date is between the Start Date and the End Date, inclusive. If an effective date is not provided then this is a non-expire category. | Date |
| | Effective To Date /Có hiệu lực đến ngày | Date |
| | Parent Category | Multiple Categories can be linked to form a hierarchy of categories. | Drop-down Select one The parent categories value from master data. |
| | Display Ordering /Thứ tự hiển thi | The display ordering sequence on the Member Site. | 9(3) |
| | Icon/ Biểu tượng | Allow to upload/remove the icon of the category. | Image |
| | Image group /Nhóm hình ảnh | Drop-down list to select the image group | Drop-down Select one |
| | Image /Ảnh vật phẩm | Condition field This field is only active and required when the image group is selected | Drop-down Select one Lookup value from Image Stock screen by selected image group. |
| | Preview | Preview of selected image | Image |
| | Add image/Thêm mới ảnh vật phẩm | Quick add feature to support user add image from this screen. The new image will be automatiom approved when the category is approved | Button |
| **Content Configuration: This step is used to setup the description of catalogue follow each language.** **This is optional step** | | | |
| | Select Language /Chọn ngôn ngữ | Click to add specific description | Button |
| | Language \*/Ngôn ngữ | A drop-down list to select the language which need to be setup specific description. | Drop-down Select one Get from master data |
| | Description\*/Mô tả | A description of this category in the choosen language. For user reference on MP only. | X(100) |
#### Post Condition
#### Exception Flow
### Item master
#### Requirement Definition
Describe details about a particular item: e.g. prices, quantities, availability dates, terms and conditions, etc. Item Master Records cannot be created unless the Stock Code is in place.
#### Process Flow
#### Trigger
New items need to be defined.
#### Pre Condition
1. Users have to have access rights in the “Item Master” screen under the “OneCatalouge” module.
2. Depending on the user's access rights, they can view, add, edit, or approve Item Master records.
#### Mockup
![](data:image/png;base64...)
#### Business Rule
1. Click on Item Master icon in navigation panel under OneCatalouge to get a listing of existing catalogs.
2. Click on Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) then click on Edit icon (!) also brings up the same edit form. The edit form for Item Master is illustrated in section 7.4.4
3. **Description**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| **General information: Mandatory Step** | | | |
| | Catalogue Code\*/Nhóm vật phẩm | The Catalogue for which this item is being configured. | Drop-down Select one |
| | Category/Danh mục vật phẩm | Select the category under which this item is to be tagged, to facilitate searching in the customer-facing page e.g. Retailer Vouchers, Frequent Flyer Points, Cash Rebate, etc. | Drop-down Multiples select |
| | Item Code\*/Mã vật phẩm | Enter the item code to be added to the catalogue. This is Item identify. | X(10) |
| | Item Name \*/Tên vật phẩm | Short description field used by customer-facing application for display for Catalogue item. The text can include control characters. This is default name in case there is no specific item name of chosen language in the member site. | X(50) |
| | Redemption From Date From\*/Có hiệu lực từ ngày | “**From Date**” & “**To Date**” specify the period within this item is available and may be included in the Catalogue display and when after which it becomes unavailable and is excluded from the Catalogue display. OLS will reject the Start Date and End Date if they are outside the Catalogue/Category Start Date and End Date period. Once the item has been started for redemption, only End date will be allowed to modify. | Date |
| | Redemption To Date \*/ Có hiệu lực đến ngày | Date |
| | Redemption Store /Đối tác | Supplier of this item. The merchant (Store) that has to be configured appropriately in order for straight-through settlement processing. | Drop-down Select one |
| | Redemption Transaction Code\*/Mã giao dịch đổi thưởng | OLS TC used for redemption processing and logging. | Drop-down Select one |
| | Award Transaction Code/Mã giao dịch tặng thưởng | OLS TC If selected, the **OLS** **Transaction Code”** used to locate any award campaign rules to be executed as a result of the catalogue item redemption. | Drop-down Select one |
| | Item Type \*/ Loại vật phẩm | The type of item Choose one of following types : * + 1. Miles 2. Physical 3. eVoucher 4. Donation 5. Cash rebate 6. Other | Radio button Item type list from master data |
| | Voucher Code /Mã voucher | Condition field A drop-down to select voucher code This field is only active and required when item is an eVoucher | Drop-down Select one |
| | Face value/ Partner Point / Giá trị vật phẩm | Condition field This field is only active and required for Cash rebate/eVoucher/Miles item. This is the value of the cash rebate/voucher /miles that customer sees. This value is not used if the Face Value is also specified in the Item Price set-up | 9(14,2) Should be positive value |
| | Display on Member Site | Turn off to restrict this item in member site. | Switch button Default ON |
| | Hot item /Vật phẩm hot | Condition field This field is active only when this item is displayed on the member site Choose to indicate this is a hot item. Used to display on Member Site. | Switch button Default OFF |
| | Display Ordering/ Thứ tự hiển thị | Condition filed This field is active only when this item is displayed on the member site The ordering sequence to display on member site | 9(3) Should be greater than 0 if provided |
| | Track Quantiy on Hand/ Theo dõi số lượng vật phẩm | ON mode if the item is an item and that requires inventory control: the “Quantity-on-Hand” is updated for such items during redemption. If this is a Voucher Code item, this field is force-set to Yes and cannot be changed. | Switch button Default OFF |
| | Initialize Quantity of Stocks/ Số lượng ban đầu | Condition filed This field is only active and required if track quantity on hand. Canot edit this value if this item has been redeemed. This field is not activated for the Evoucher item due to the number of voucher being generated by another feature (via the Voucher Code screen or batch file). | 9(9) Should be positive value. In case item has been redemmed, then not allow to modify this field. Just display only |
| **Item detail : Mandatory step** **This step involves configuring the details of each item in multiple languages. By doing so, the system can utilize the specific details tailored to each language.** | | | |
| | Select Language /Chọn ngôn ngữ | Click to add specific item detail. | Button |
| | Language \*/Ngôn ngữ | A drop-down list to select the language which need to be setup specific description. | Drop-down Select one Get from master data |
| | Item name\*/Tên vật phẩm | Specific item name in the choosen language. | X(50) |
| | Item Description/Mô tả vật phẩm | Specific item description in the chosen language. | X(100) |
| | Item content/Thông tin chi tiết | The content of item in the choosen language | X(2000) |
| | How to use /Cách sử dụng | The way to use the item in the choosen language | X(2000) |
| | Term and Conditon/ Điều khoản | Term and Conditon Free text to be returned in the Terms and Conditions field in the Web Service message and in redemption output template letters and email. | X(2000) |
| **Item Image /Ảnh vật phẩm** Optional step | | | |
| | Select image | Click to add image for item | Button |
| | Image group /Nhóm hình ảnh | Drop-down list to select the image group | Drop-down Select one |
| | Image /Ảnh vật phẩm | Condiiton field This field is only active and required when image group is selected | Drop-down Select one Lookup value from Image Stock screen by selected image group. |
| | Sort Order | The display odering sequence on Member Site. | 9(3) Should be greater than 0 if provided |
| | Preview | Preview of selected image | Image |
| | Add image/Thêm mới ảnh vật phẩm | Quick add feature to support user add image from this screen. The new image will be automatiom approved when the category is approved | Button |
| **Contact and Address information** Optional step | | | |
| | Add Address | Click to add item address where we can to use this item | Button |
| | City\* | The drop-down to select the city where can use this item | Drop-down Select one |
| | Address | Address detail | X(200) |
| | Email | Email address | X(100) |
| | Phone | Phone number | X(20) |
#### Post-Condition
* + 1. The newly created item should have all required fields populated with valid data.
2. The system should add/updated items in the database.
3. Other screen which lookup to item screen must be able to use new item.
#### Exception Flow
### Item price
#### Requirement Definition
* + - 1. Outlines the specifc criteria, functionalities and parameter that determine and manage item prices in the OLS:
1. Point valuation: Define the conversion rate between reward points and redemption quanity (e.g 100 point = 1 Ticket movie voucher) to establish the baseline for item redemption.
2. Criterions pricing: specify if different pricing tiers will be available for customer based on their account type or redemption channel or specific criterions such as gender, redemption quantity,etc.
3. Redemption options: Define the types of items price available for redemption, including using point only or both cash and points.
#### Process Flow
![](data:image/x-emf;base64...)
#### Trigger
* + - 1. New item is defined and must define item price to process redemption processing for this item.
2. If an item is to be tagged to a price that has not yet been defined.
#### Pre-Condition
1. Users have to have access rights in “Item Master” screen under “OneCatalouge” module.
2. User have to have access rights in “Item Price” Screen under “OnCatalouge” module.
3. Depending on the user's access rights, they can view, add, edit, or approve Item Price records.
#### Wireframe
![](data:image/png;base64...)
#### Business Rule
1. Click on Item Master icon in navigation panel under OneCatalouge to get a listing of existing item master.
2. Click to view detail any active item master records to bring up the “Item Price” screen as a new tab under item master detail record.
3. Click on Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) then click on Edit icon (!) also brings up the same edit form. The edit form for Item Price is illustrated in section 7.5.5
4. **Edit Screen Description**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| **General information** | | | |
| | Item Code \*/ Mã vật phẩm | Item code | Display if configure item pirce under specific item. Drop-down list to select an item code to configure the item price |
| | Price Code\*/Mã giá | The identify of the item price For user refrence only | X(10) |
| | Pirce Name \*/Tên giá | Default name of the price For user reference only | X(100) |
| | Effective Start Date \*/ Hiệu lực từ ngày | **From Date**& “**To Date**” specify the period within this price. | Date |
| | Effective End Date \*/ Hiệu lực tới ngày | Date |
| | Redemption Channel \*/Kênh đổi thưởng | The drop-down to select the redemption channel. Supported channels are: Call Center Mobile Application Internet Banking Etc | Drop-down Select one |
| | Account Type Group/Nhóm loại tài khoản | Optional filed If Account Type or Account level is selected then account type group is blocked and vice versa. | Drop-down Multi-select |
| | Product Account Level /Hạng tài khoản | Optional field The drop-down to select the Account level (Card Level) to this this price applies. Leave as empty if all Account level are applies to this prce. If Account type group are selected in previous step then this field is blocked and vice versa | Drop-down Select one |
| | Product Account Type/Loại tài khoản | Optional field Optional field Multi-select drop-down to select the Account Type (Card Type) of selected account level in previous step which will be applies to this price. Leave as empty if all account types of selected PAL are applies to this price. If Account type group are selected in previous step then this field is blocked and vice versa | Drop-down Multi-select |
| | Redemption Pool\*/Pool đổi thưởng | Select the Pool from which to deduct points for redeeming this item | Drop-down Select one |
| | Use Only Points from Selected PA Type/Chỉ sử dụng điểm từ các loại nhóm tai khoản được chỉ định | Restrict the use of points for redemption of this item at this price to only points earned by the selected account Type/ATG | Switch button Default OFF |
| | Face value /Trị giá vật phẩm | If transacting Customer/Account meets the criteria in this set-up, what the Customer receives is this “Face Value”. E.g. if this is 500 KrisFlyer Miles, Customer receives 500 KrisFlyer Miles for redeeming one of this item. | 9(12,2) Should be greater than 0 if provided |
| | Price in point \*(Full redemption) / Giá trị điểm | Price of item if paid for fully in points from the selected Pool | 9(12,2) Should be greater than 0 if provided |
| | Original price /Giá gốc | The original price of the item For user reference only | 9(12,2) Should be greater than 0 if provided |
| | Partial Redemption Allowed/Cho phép đổi thưởng 1 phần | If allowed, customer can use a mix of points and cash to pay for this item. The number of points and amount of cash are derived from “Price in Cash Value-per Point” and “Minimum Partial Redeem Points”. See the description for these fields. | Swith button Default OFF |
| | Minimum Partial Redeem Points/Số điểm tối thiểu | Condition field This field is only active and required when Partinal Redemption is allowed. Customer must use at least this number of points to redeem this item. | 9(12,2) Should be greater than or equal to 0 if provided 0 for full cash redemption |
| | Cash per point/ Số tiền chi trả | Condition field This field is only active and required when Partinal Redemption is allowed. This is used to calculate the amount of cash required to redeem this item after taking into account the points redeemed, if any. | 9(12,2) Should be greater than 0 if provided |
| | Appliable Taxes | The drop-down list to select the tax rate to be applicable. | Drop down Select one Get data from “Tax Rate Maintenance” Screen |
| **Price detail :** **Optional step. If not provide then use default item price name to display if needed** | | | |
| | Select language /Chọn ngôn ngữ | Click to add item price detail on each language For user reference only | Button |
| | Language \*/Ngôn ngữ | The drop-down to select the language to setup the specific item price detail | Drop-down Select one |
| | Item price Name \*/Tên giá | The specific name of chosen language For user reference only | X(100) |
| | Description/ Mô tả | The description of the price For user reference only | X(500) |
| **Item criteria** A part to add criteria to meet the price The approach the same as Rule criteria but just display all criteria which be tagged to “Item price “ module only | | | |
| | | ![](data:image/png;base64...) | Click to add new criteria |
| | | ![](data:image/png;base64...) | Depended on the purpose of each campaign rule and the criterions list need to be setup to allocate and arrange all criterions into only one or many group. Click on “![](data:image/png;base64...)” button to create new group. |
| | | ![](data:image/png;base64...) | This button is used to exclude all the coming transaction meet the rule criteria. Switch NOT button are applied on combinaiton of all group OR on all criteria on each group. |
| | | Right panel | List all active criteria on the system. Each criteria per category will be defined as an attribute and to be tagged for “Item Price “ module |
| | | Drag/Drop criteria | Each criteria can be drag one more time on each CP rule. The operator and filler value for each criteria will be display base on data type of selected criteria. |
| | | ![](data:image/png;base64...) | Click to delete criteria |
| | | ![](data:image/png;base64...) | Operator between difference groups on the same campagn rule OR operator between difference criterions on the same group per each Campaign Rule. |
#### Post-Condition
With the item price configuration then here is the flow to get item price.
Valid price
![](data:image/x-emf;base64...)
What is the price of the transaction
![](data:image/x-emf;base64...)
#### Exception Flow
### Voucher Code
#### Requirement Definition
1 If the Item to be set up is for distribution of Voucher Numbers to customers, and these Voucher Numbers are from external partner merchants, then the Voucher Numbers must first be set up in OLS by uploading/creating the stock of Voucher Numbers.
2 This voucher upload file must contain the Voucher Code (which identifies what this voucher is for e.g. “$5 Lazada Voucher”), the period within which the vouchers are accepted at the partner merchant, and the individual voucher serial numbers (Voucher Numbers).
3 The file format is set out later (to be decided).
4 This upload can be done using the “Upload” functions in this screen.
#### Process Flow
#### Trigger
N/A
#### Pre-Condition
1. Users have to have access rights in “Voucher Management” screen under “OneCatalouge” module.
2. Depending on the user's access rights, they can view, add, edit, or approve Voucher records.
#### Wireframe
* + - 1. **Create/Edit mode**
![](data:image/png;base64...)
* + - 1. **View mode**
![](data:image/png;base64...)
1. Listing page
2. **Voucher Detail view**
1. Listing Page
![](data:image/png;base64...)
* 1. View
Click to any record on the listing page to bring up the detail view as following:
![](data:image/png;base64...)
#### Business Rule
1. Click on Voucher icon in navigation panel under OneCatalogue to get a listing of existing Voucher Code as illustrated in section Wireframe.
2. Click on Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) then click on Edit icon (!) also brings up the same edit form. The edit form for Voucher is illustrated in section Wireframe.
3. Double click on any existing record in Active Tab then the Voucher Detail listing is illustrated in section 7.6.5.
4. The system just allow to view the Voucher detail only.
5. Can not allow deleting the voucher Code if voucher have been redeemed.
6. **Screen description**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| **Screen 1: Voucher Code** | | | |
| | **Voucher statistic / Tổng hợp thông tin voucher** **This is displayed for active record only** | | |
| | Total Voucher /Tổng voucher | Total the serial number voucher belong to the choosen voucher code | Display as interger format |
| | Available Vouchers /Số voucher khả dụng | Total the valid voucher and ready to use: The voucher has not yet been redeemed and non- expired. |
| | Redeemed Vouchers/ Voucher đã đổi thưởng | Total the numner of the successfully redeemed vouchers. |
| | Cancelled Vouchers/ Voucher đã hủy | Total the number of the fail redeemed vouchers which is cancelled by customers/system by specific reason. |
| | Expired Vouchers/Voucher đã hết hạn | Total the number of expired voucher that has not yet been redeemed. Use processing date to compare with expiry date of the voucher. |
| | **Voucher Code Detail information** | | |
| | Voucher Code\*/Mã voucher | Identifies the voucher. | ~~X(20)~~ X(10) |
| | Description /Mô tả | The description of the voucher. For user reference only. | X(100) |
| | Supplier / Nhà cung cấp | The partner/ organization that issues or provides the voucher | Drop-down Select one |
| | Expiry Policy \*/ Hạn sử dụng | A drop-down list with the following choices: * Fixed Date: Voucher will expire after the date specified in the “Expiry Date” parameter. * N days from Transaction Date: Voucher will expire after N days from Redemption Date (Transaction Date). * N days from Post Date: Voucher will expire after N days from redemption transaction is posted on the OLS. * N Months from Transaction Date: Voucher will expire after N months from redemption Date. * N months from Post Date: Voucher will expire after N moths from the moment a redemption transaction is posted on the OLS. | Drop-down Select one |
| | Expiry Date / Ngày hết hạn | Condition field This field is only active and required when the expiry policy is “Fixed Date”. **A transaction which redeem this voucher is not allowed to have Transaction Date later than this date.** Can not allow editing the policy (including the relative field that be used to determine expiry date of the voucher) | Date |
| | N Param/ Tham số N | Condition field This field is only active and required when the Expiry Policy selected in the previous step requires a parameter N param. e.g. “N days from Transaction Date” | 9(3) Should be greater than or equal to 0 if provided |
| | Generate Voucher /Khởi tạo voucher | Turn on when the voucher is generated by OLS instead partner. The system will automation create the number of vouher which user will provide on next step. This field cant be changed if the voucher have been redeemed. | Swith button Default OFF |
| | Quantity /Số lượng | Condition filed This filed is only active and required if “Generate Voucher” in the previous step under ON mode. Specifies the number of voucher codes to be generated. **When a voucher code record is approved in the system, the system should automatically generate voucher numbers corresponding to the entered quantity.** This field cant be changed if the voucher have been redeemed. In case users want to change then it should be “re-stock”/ “void” voucher use case instead. | 9(5) Should be greater than 0 if provided |
| | This is a promo code/ Đây là mã khuyến mãi | Turn on when this is a promo code. For user reference only | Swith button Default OFF |
| | ~~Voucher Type/Loại voucher~~ Promotion Type/Loại khuyến mãi | Conditon filed This field is only active and required when this voucher is a promo code. A drop-down list with the following choices: * Fixed Percentage Discount: This type of voucher offers a discount as a percentage of the total purchase amount. * Fixed Monetary Value Discount: Instead of a percentage, this voucher provides a fixed monetary discount. * Cashback Voucher: For this type of voucher, the customer receives a certain percentage of the purchase amount back as cashback to use on future purchases. * Gif Voucher: This type of voucher is often purchased as a gift for someone else. It typically has a fixed monetary value that the recipient can use towards their purchases. | Drop-down Select one |
| | Value /Giá trị | The specific value which customer can get from chosen voucher type. Condition field This field is only active and required when “Fixed Monetary Value” / “Fixed Percentation Discount” are selected on the previous step. | 9(14,2) Should be greater than 0 if provided |
| **Screen 2: Voucher Detail** **Each voucher No is displayed under one detail record in listing page** **Voucher detail is introduced as a subtab of Active voucher record.** | | | |
| | Voucher Code | Choosen voucher code | Display |
| | Voucher No | The serial voucher number of choosen voucher |
| | Redemption Date | The date when voucher is redeemed |
| | Expiry Date | Expiry date of the voucher number which is based on choosen expiry policy of the choosen voucher |
| | Redemption Indicator | One of following values: * No: If voucher is not used for any redemption transaction. * Yes: If voucher have been redeemed by customer. |
| | Fulfillment Status | One of following values: * New: When voucher is created/uploaded in OLS then the fuillment status should be new to indicator that voucher to be availbale to redeem. * Issued: The FFS is changed into Issued when voucher is successfully redeemed in the OLS. * **Fulfilled: The FFS is changed into Fulfilled when voucher is successfully redeemed and partner accept this voucher.** * Cancelled: FFS is changed intpo “Cancelled” if the customer cancels the transaction or if there are issues with the voucher that prevent its redemption. * Rejected: The vendor has rejected the voucher due to some reasons such as term and conditions, policy changes.etc. The fufillment status is updated when fulfilment status is changed. |
* + - 1. User who can create new voucher can use “upload” function to upload the voucher file into OLS
#### Post-Condition
#### Exception Flow

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,746 @@
## OneMarketing
### Overview
OneMarketing Module includes 2 function modules:
* **Marketing Message:** Manage (CRUD features) all message templates that are used in the system.
* **OneMarketing Request (OMR):** Filter the target customers who satisfy the set-up-criteria to send messages or get reward transactions.
* **A/Bn Testing:** to compare at least two versions of a SMS, email, or other marketing elements to determine which one performs better.
* **Frequency Capping:** The function to practice of controlling the frequency and volume of notifications or channel delivered to customers to avoid overwhelming them
* **Blacklist:** A list of customer who will be blocked for reward/promotion notification from a business.
* **Whitelist:** A list of customer who has given their consent to receive specifc types of marketing message from business.
### Marketing message
#### Requirement definition
1. The marketing message module is used to define a communication message that will be sent to the target list.
2. A Message Template can be built based on a message with pre-defined parameters or HTML file.
3. User can build different messages for different marketing channels (e.g: SMS / Notification Push/ Email/ OTT …).
#### Process flow
![](data:image/x-emf;base64...)
#### Trigger
N/A
#### Pre-conditions
1. Users have to have access rights in “Marketing Message” module to able to access this screen.
2. Depending on the user's access rights, they can view, add, edit, or approve manually message template.
3. Assume that all OMR criteria are defined as attribute and appear in right panel in message content part to user can drag/drop to setup.
#### Wireframe
* + - 1. Message summary listing page
![](data:image/png;base64...)
* + - 1. Filter
![](data:image/png;base64...)
* + - 1. SMS
1. Create SMS
**Step1 : Choose message chanel : SMS and choose create new or re-use existing message template**
![](data:image/png;base64...)
**Step 2: Step up “General information”**
![](data:image/png;base64...)
**Step 3: Set up message content**
![](data:image/png;base64...)
![](data:image/png;base64...)
**Finish by save.**
1. SMS detail view
![](data:image/png;base64...)
* + - 1. **Email**
1. Create Email message
**Step 1: Choose message chanel : Email and choose create new or re-use existing Email template**
![](data:image/png;base64...)
**Step 2: Set up “General information”**
![](data:image/png;base64...)
**Step 3: Set up “Sender information”**
![](data:image/png;base64...)
**Step 4: Setup Email content**
![](data:image/png;base64...)
**Upload email template**
![](data:image/png;base64...)
![](data:image/png;base64...)
* + - 1. **Push notification**
Create Push notification message
**Step 1: Choose message chanel : Push and choose create new or re-use existing Push template**
![](data:image/png;base64...)
**Step 2: Update “Generate information”**
![](data:image/png;base64...)
**Step 3.1: Message content configuration for “Richer push”**
![](data:image/png;base64...)
**Step 3.2: Message content for “Carousel push”**
![](data:image/png;base64...)
**View mode**
![](data:image/png;base64...)
#### Business Rules
1. OLS system can send a message to target customer through a notification on the app, an email, an SMS, and so on. These varied media used for message delivery are known as “channels”.
2. In this version, OLS support to user can test message enable previewing the message to make sure the message appear exactly the way it was meant to. Just enter the email adress or phone number user wish to check the message preview.
3. Besides, OLS support to user can setup message template to re-use in the furture.
4. Click on the “Marketing Message” in Main icon to bring up the screen for accessing the Markting Message listing page. The detail as illustrated in the [wireframe](#_Wireframe_10).
5. Click on Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) then click on Edit icon (!) also brings up the same edit form. The edit form for marketing message screen is illustrated in the [wireframe](#_Wireframe_10).
6. **Screen description**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| **Create /Edit mode** | | | |
| **SMS message** | | | |
| | **Step 1: General Information** | | |
| | Message ID \* | Unique identifier of the Message. Not allow special characters | X(10) |
| | Message Description \* | Description of message | X(100) |
| | SMS Type | Drop-down to select SMS type: Promotion/Marketing Transaction | Check box type Select one value only Lookup value “Code Management” table where type code is “OMR-type”. Refer to list-by-code-type API under Master Data. |
| | Effective Date From \* | The start date of the effective period of the message | Date Date time format must respect the date configuration format |
| | Effective End Date \* | The end date of the effective period of the message | Date Date time format must respect the date configuration format |
| | **Step 2: SMS Content Configuration** | | |
| | SMS Brand Name \* | Drop -down to select SMS Sender | Drop-down Lookup value from master data |
| | Message \* | The message content of the SMS. The list of message parameters are included to be used. User can drop/drag message paramters into message. Assumation that the list of message parameters are defined as attribute (the same approach as Rule criteria) to able to drop/drag into message. SMS message dont support : 1. Images 1. A subject line 2. Attachments **SMS messages are written in Unicode (non GSM standard). Standard single message or multi-part message are credited based on the message content.** | X(5000) |
| | Message parameters | The message parameter list. ![](data:image/png;base64...) | Tree list |
| | Preview | The message will be automation displayed in the preview part. | Displaya |
| | The number of characters in the message\* | This value will be automatically upadated when the user update the message content. | Display as number format |
| | Send sample | This functions to support user can test message enable previewing the message to make sure the message appear exactly the way it was meant to. * + - 1. A textbox to user can enter a phone number is dispalyed 2. When user click on “Send sample” a confirm message is display. It use to user confirm that the system will send a testing message into inputed phone number. User can choose “OK” or “Cancel”. If user click on “OK” button the system will send a sms message into inputed phone number. 3. Mobile phone number should be required when user click on” Send sample”. If not found should reject with error message | Button |
| **Email message** | | | |
| | **Step 1 : General Information** | | |
| | Message ID \* | Unique identifier of the Message. Not allow special characters | X(10) |
| | Message Description \* | Description of message | X(100) |
| | Email Type | Drop-down to select Email type: **Promotion/Marketing** **Transaction** | Checkbox Allow to select only one value. Lookup value “Code Management” table where type code is “OMR-type”. Refer to list-by-code-type API under Master Data. Lookup value from master data |
| | Effective Date From \* | The start date of the effective period of the message | Date The date format must adhere to the configured format |
| | Effective End Date \* | The end date of the effective period of the message | Date The date format must adhere to the configured format |
| | Use type \* | 2 options to config email message : * + 1. Use messge. 2. Upload template. | Checkbox Allow to select only one value. Lookup value “Code Management” table where type code is “email-use-type”. Refer to list-by-code-type API under Master Data. |
| | **Step 2: Sender information** | | |
| | Sender Name\* | The name of sender | X(100) |
| | From email\* | The email addess used to send email to target customer | Display This email is configured. |
| | Subject\* | Subject of email | X(100) |
| | Preview Text | Preheader of Email Preheader can help user connect with customer and increase customers open rate. If Prejeader is not provided then the first line of email content will be display instead | X(100) |
| **3.** | **Step 3: Email content figuration** | | |
| | Message | Conditon field The message content of the Email. If “Use message” is selected then this field is actived. System must allow to edit HTML format. The system should support to generate into text format. System must allow to put image/url… as message content. The list of message parameters are included to be used. User can drop/drag message paramters into message. Assumation that the list of message parameters are defined as attribute (the same approach as Rule criteria) to able to drop/drag into message. | Character |
| | Message parameters | The message parameter list. ![](data:image/png;base64...) | Tree list |
| | Upload file | This filed is actived when “Use template” is selected. ![](data:image/png;base64...) Allow users to drag and drop an HTML template file, or they can choose a file from their computer to upload it into the system. After uploading, the system displays message content based on the uploaded file and allows the user to review and make modifications. | Button |
| | Re-Upload | Use this button to re-upload the email template. | Button |
| | Preview the email | The message will be automation displayed in the preview part. Sender / Subject and Preheader will be displayed here. If Preheader is not provided then the first line of message will be display instead. | Display |
| | Send sample | This functions to support the user can test message enable previewing the message to make sure the message appear exactly the way it was meant to. * + - 1. A textbox to user can enter an email address. This entry should adhere to the email format field. 2. When click on “Send sample” a confirm button to user confirm that the system will send a testing message into inputed email address. User can choose “OK” or “Cancel”. If user click on “OK” button the system will send a test email into inputed email address. 3. The email address should be required when user click on” Send sample”. If not found should reject with error message. | Button |
| **Notification Push** | | | |
| | **Step 1: General information** | | |
| | Message ID \* | Unique identifier of the Message. Not allow special characters | X(10) |
| | Message Description \* | Description of message | X(100) |
| | Notification Type | Drop-down to select Notification type: Promotion/Marketing Transaction | Check box Allow to select only one value. Lookup value “Code Management” table where type code is “email-use-type”. Refer to list-by-code-type API under Master Data. |
| | Effective Date From \* | The start date of the effective period of the message | Date The date format must adhere to the configured format |
| | Effective End Date \* | The end date of the effective period of the message | Date The date format must adhere to the configured format. |
| | **Step 2: Notification Content configuration** | | |
| | Message Title \* | The primary text that appears at the top of the notification | X(50) |
| | Message \* | The main content of the notification, providing additional information, context, or details related to the notification's purpose. The list of message parameters are included to be used. User can drop/drag message paramters into message. System must allow to put image/url as message content. | Text Area |
| | Message parameters | The message parameter list. ![](data:image/png;base64...) | Tree list |
| | Image type\* | Drop- down to selcte image type: SingerEicheer push (No image ) Richer Push (one image) Carousel Push (One or more than one image) | Drop- down Select one only Lookup value “Code Management” table where type code is “image-type”. Refer to list-by-code-type API under Master Data. |
| | Upload Image | Condition field * + - 1. This field is not actived for Single Push 2. Image URL : Click on the Image URL field and type or paste the URL of the image 3. Upload: Drag/Drop image or click the uploaded from computer. If the Image type is 'Carousel Push,' then users can upload more than one image. The sequence sorting will be the same as the sequence displayed in the mobile app. Users can rearrange the images to adjust the sortinng. Image is required for “Richer push” and “Carousel Push”. | |
| | Preview the notification | The message will be automation displayed in the preview part: content/ image. Preview on IOS or Android | Display |
| | Link URL \* | Enter or paste the URL to which the user needs to navigate to. | X(100) |
| | Send sample | This functions to support user can test message enable previewing the message to make sure the message appear exactly the way it was meant to. * + - 1. A textbox to user can enter a CIF Number. From CIF Number the system will locate device's registration token, a device group's notification key, or a single topic. 2. A confirm message to user confirm that the system will send a testing message into inputed email address. User can choose “OK” or “Cancel”. If user click on “OK” button the system will send a test notification. 3. The token or key or something else which one the system used determine destination of the push message should be required when user click on” Send sample”. If not found should reject with error message. | Button |
#### Post -codition
* + 1. All message which will be sent to target customer are availble to config on following modules :
+ Marketing Request
+ Campaign Rule
+ Item master ….
#### Exception flow
* + 1. Input data are not passed all validations and then the user choose cancel the action then use case ends in failure.
### Marketing Campaign
#### Requirement Definition
* + - 1. Marketing Campagin Module is used to filter out a list of target customers that satisfy the marketing criterions.
#### Process flow
![](data:image/x-emf;base64...)
#### Trigger
N/A
#### Pre- Conditon
1. Users have to have access rights in “Marketing Request” module to able to access this screen.
2. Depending on the user's access rights, they can view, add, edit, or approve manually marketing request.
3. All OMR citerions must to be defined as an attribute for each criterion to user can drop/drag to determine target audience.
4. To send marketing messange when an envent is triggered (real time events or batch events
) then :
1. Pre-Defined Event: Define the action to indentify when event triggers: such as login/ Get balance detail view/ leave feedback on portal app.
2. FE Events: APIs or services can be used to initiate the action and make a call to the backend (BE) to determine whether the event has been triggered; if so, the assigned message for this event should be sent.
3. Batch job: marketing message can be automatically sent by the system via batch jobs.
#### Wireframe
* + - * 1. Marketing request summary listing page
![](data:image/png;base64...)
1. Filter
![](data:image/png;base64...)
1. Create/Edit mode
1. Step 1: General information
![](data:image/png;base64...)
* 1. Step 2: Run schedule
![](data:image/png;base64...)
![](data:image/png;base64...)
* 1. Step 3: Targeting
![](data:image/png;base64...)
4. Detail view
#### Business Rule
1. The same approach as Campaign Rule Criteria, each of marketing criterions are accessed directly by drag/drop on the right **Criteria** panel as illustrated in the [wireframe](#_Wireframe_12).
2. OLS system will use Query Builder to build query for marketing criteria.
3. All criterions will be listed on selection criteria panel (right panel). User can drag/drop criteria from right panel to set up rule. Criterion list will be defined as attribute so that user can define needed criteritions.
4. OLS system support AND or OR condition between difference criteria groups on the same request. The relationship operator on each group will be applied for all criteritions on the group. User can setup only one or many group on the same rule but OLS system just support the same operator condition bettwen groups such as all are OR conditons or all are AND conditions.
*For example:*
*Rule 1:*
*Group 1* ***OR*** *Group 2* ***OR*** *Group 3*
*Rule 2:*
*Group 1* ***AND*** *Group 2* ***AND*** *Group 3.*
1. Introduce NOT toggle switch to support exclusion criteria.
2. Click on the “Marketing Request” in Main icon to bring up the screen for accessing the Marketing Request listing page. The detail as illustrated in the [wireframe](#_Wireframe_12).
3. Click on Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) then click on Edit icon (!) also brings up the same edit form. The edit form for Marketing Request screen is illustrated in the [wireframe](#_Wireframe_12).
4. **Screen description**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| **Step 1: General Information** | | | |
| | Request ID \* | Unique identifier of the OneMarketing Request Not allow special characters | X(20) |
| | Description \* | Description of the OneMarketing Request | X(100) |
| | Effective Date From\* | The start date of Effective period of the marketing request | Date The date format must adhere to the configured format |
| | Effective Date To \* | The end date of Effective period of the marketing request | Date The date format must adhere to the configured format |
| | Marketing Function \* | * Including 2 main functions of OneMarketing Request: + Notification [N] - The message template set up at section [Marketing Message](#_Marketing_message) is sent to target customers + Triger Campain Rule [TCR] - A campaign is applied to add/redeem/adjust points to target customers based on Transaction Code. | Check box Allow to select only one value Lookup value from “Code_Management” table where type code is OMR-function. Refer to list-by-code-type API under Master Data Master. |
| **Step 2: Run schedule and message content** | | | |
| | Trigger method \* | Two methods to select when message will be sent to target customer: Schedule Event trigger | Radio button Lookup value from “Code_Management” table where type code is OMR-function. Refer to list-by-code-type API under Master Data Master. |
| | Run Schedule \* | * This field is activated and required when “Schedule” method is selected only. * Schedule to run OneMarketing Request Batch, include: *[O] Once Time [D] - Daily* *[W] - Weekly [M] - Monthly* *[A] - Annually* | Radio button Lookup value from “Code_Management” table where type code is run-schedule. Refer to list-by-code-type API under Master Data Master. |
| | One time | ![](data:image/png;base64...) * 1. This option includes following fields: 1. Fixed date\*: This field is only active and required when “One time” schedule is selected. This field is date format (Date time format must respect the date format configuration). This field is actived and required when “Schedule” method is selected only. 2. Time of day to excute request\*: The time to OMR batch job running to trigger this request. This field is time format field. 2. Request will occur only one time when process date is equal to the fixed date at the selected time. | |
| | Daily | ![](data:image/png;base64...) * + - 1. This option includes following fields: 1. Repeat every\*: The drop-down list to select the frequency on every n day where n from 1 to 100. This is select one field. 2. Time of day to excute request\*: The time to OMR batch job running to trigger this request. This field is time format field. 1. Request will occur on every n day at the selected time. | |
| | Weekly | ![](data:image/png;base64...) * + - 1. This option includes following fields: 1. Repeat every\*: The drop-down list to select the frequency on every n week where n from 1 to 52. This is select one field. 2. Day of the week: The drop -down list to select the day of week the request will be occurred. The list includes list of day of week (from Monday to Sunday). This is multiple select field. 3. Time of day to excute request\*: The time to OMR batch job running to trigger this request. This field is time format field. 1. Request will occur on every n weeks on selected day of the week and at the selected time | |
| | Monthly | * 1. Option 1 ![](data:image/png;base64...) This option includes following fields: * + - Repeat every: The drop-down list to select the frequency on every n month where n from 1 to 12. This is select one filed. - Repeat on the: The drop-down list to select the repeat type. The list includes : Each /On the.”Each” is selected. - Day of month: The drop-down list to select day of month the request will be occurred. The list includes 31 day from 1 to 31. This field is activied and required only when “Each” is selected on “Repeat on the” filed. This is multiple select field. - Last day of month: This field is activied and required only when “Each” is slected on “Repeat on the” filed. This is checkbox field with default as uncheck. If this field is checked then in case the last day of month is less than the “Day of month” then request will be occurred on last day of month instead. - Time of day to excute request\*: The time to OMR batch job running to trigger this request. This field is time format field. Request will occur on every n month on each selected day of the month and at the selected time. * 1. Option 2 ![](data:image/png;base64...) This option includes following fields: * + - Repeat every: The drop-down list to select the frequency on every n month where n from 1 to 12. This is select one filed. - Repeat on the: The drop-down list to select the repeat type. The list includes : Each /On the. “On the” is selected. - In : The drop-dow to select the specific day of the week. The list includes : First/ Second/ Third/ Fouth/ Last. This filed is actived and required only when “On the” is selected. This is select one field. - Day of the week: The drop-down list to select day of the week. The list includes: Monday … Sunday. This is multiple field. - Time of day to excute request\*: The time to OMR batch job running to trigger this request. This field is time format field. Request will occur on every n month on each selected period of day of the weeek and at the selected time. | |
| | Annually | ![](data:image/png;base64...) This option includes following fields: * + - Repeat every: The drop-down list to select the frequency on every n year where n from 1 to 5. This is select one filed. - Month of year: Drop-down to select month of year. The list includes 12 months of year from 1 to 12. - Day of month: The drop-down list to select day of month the request will be occurred. The list includes 31 day from 1 to 31. - Time of day to excute request\*: The time to OMR batch job running to trigger this request. This field is time format field. Request will occurred every n year on the selected day and selected month. | Drop-down Select one |
| | Business Event | This filed is actived and requied when “Event trigger” method is selected. A drop-down list is used to select the event. When the event occurs, a request is triggered to send a message to the target customer. | Drop-down Multiple select. |
| | Message template\* | This filed is actived and required only when “Notification” marketing function is selected. | Drop-down Lookup value from martketing message screen. |
| | OLS Transaction Code | This filed is actived and required only when “Trigger Campaign Rule” marketing function is selected. | Drop-down Lookup value from OLS Transaction Code screen. Refer “OLS Transaction Code” API under Campaign Management |
| **Step 3: Targeting** **This step is used to config the conditions to get target customer.** | | | |
| | Trigger method \* | There are two options to setup targeting. * + - OMR Criteiria - Upload file | Radio button Lookup value from master data. |
| | **OMR Criteira is selected** | | |
| | ![](data:image/png;base64...) | Depended on the purpose of each OMR request and the criterions list need to be setup to allocate and arrange all criterions into only one or many group. Click on “![](data:image/png;base64...)” button to create new group. | Button |
| | ![](data:image/png;base64...) | This button is used to exclude all the coming transaction meet the rule criteria. Switch NOT button are applied on combinaiton of all group OR on all criteria on each group. | Switch button |
| | Right panel | List all active criteria on the system. Assumed that Each criteria per category will be defined as an attribute. ![](data:image/png;base64...) | View only |
| | Drag/Drop criteria | Each criteria can be drag one more time on each request. The condition and filler value for each criteria will be display base on data type of criteria. See more detail on [Campaign Rule](#_Campaign_Rule_Criteria) Criteria. ![](data:image/png;base64...) | Action |
| | **“Upload file” is selected** ![](data:image/png;base64...) | | |
| | Browse File | Allow users to drag and drop an upload file, or the user can choose a file from their computer to upload it into the system. Use the 'Upload file' option when users have a specific targeting list that they want to use for the campaign. | Button |
* 1. “Save as draft” and “Save as template” feature are applied on this screen.
2. **OMR batch job will trigger marketing request as following processing:**
OMR job (OMR) just trigger effectived marketing requests based on Effective period of each request compare with processing date (batch date/ sysdate). From effectived request list the batch job find the valid job which have run schedule on the day batch job is running.
OMR creates notification messages to be sent to customers selected based on criteria configured by users in the step 3 -OMR criteria e.g., to send an SMS message to customers whose birthday is due in the next N days.
OMR can also be configured to trigger awarding batches generated by extracting transactions from Transaction log table.
OMR can be configrured to trigger CP rule for the customer selected based on based on criteria configured by users in the step 3 -OMR criteria e.g., to award 100 cash back to customers whose birthday in Tet holiday.
OMR will stop send message when limit is reached. The limit based on frequency capping configurued by user in step 4- Frequency capping.
| | |
| --- | --- |
| Batch id | OMR job ==tbd== |
| Description | Processes OneMarketing Requests (OMR) on the configured schedule |
| File Id | Nil |
| Input file | Nil |
| input staging table | ==TBD== |
| Tables read | Its depending in OMR criteria list which should be defined as an attribute for each criteira. == TBD==== |
| Tables updated | =TBD=== |
| Output staging table | Nil |
| Output file | Nil |
| Unwind job | ==TBD== |
#### Post Condition
* + - 1. Marketing content is sent to target customer or Target customer trigger CP rule.
#### Exception Flow
* + 1. Input data are not passed all validations and then user choose cancel the action then use case ends in failure.
### Marketing Frequency Cap
#### Requirement Defintion
* + - 1. By controlling frequency capping, business can provide a more personalized customer expirence. Beside, frequency capping can provide a high level overview of the need for a notification capping system and the expected benefits for the business and its customers.
2. Business able to setup the daily, weekly, monthly capping per customer.
3. The system should automaticly enforcement of notification caps across different communication channels.
#### Process flow
#### Trigger
#### Pre-condition
1. Users have to have access rights in “Frequency Capping” module to able to access this screen.
2. Depending on users access right to user can modify the frequency capping of the marketing campaign.
#### Sktech
* + - * 1. Listing page
![](data:image/png;base64...)
* + - * 1. Edit mode
![](data:image/png;base64...)
* + - * 1. View mode
![](data:image/png;base64...)
#### Business Rule
1. This step is used to set up a limit to the number of times a message has been sent to per uniquie customer on specific period.
2. This step is also used to setup a limit the number of message that a business allow to send to customer through specific message channel.
3. Screen description
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field (EN/VN)** | **Description** | **Data type** |
| **Listing page** | | | |
| | Notification Channel/Kênh thông báo | The name of the notification channel | Display |
| | Effective Date From /Hiệu lực từ ngày | The start date of the cap | Display as date format. The display format should respect the configured format. |
| | Effective Date To/Hiệu lực tới ngày | The last effective date of the cap |
| | Frequency Cap/Giới hạn tần suất | The frequency cap on each channel. Each period unit is displayed as a separate record with the cap | Display |
| | Include White List/Bao gồm danh sách trắng | Whitelist who are excluded from the cap or not | Display |
| **Edit mode** | | | |
| | Frequency Cap Id\*/ Id giới hạn tần suất | The Record inditifier | X(10) |
| | Notification Channel\*/Kênh thông báo | Marketing Frequecny Capping identifier A drop-down to select one channel to apply the capping rules. A list incluse following channel: * + - SMS - Email - Push Notifications | Drop-down Select one |
| | Effective Date From \*/ Hiệu lực từ ngày | The start date of the effective period of the cap | Date The system should only have one effective cap applied on each channel at any given time |
| | Effective Date To\*/Hiệu lực tới ngày | The end date of the effective period of the cap |
| | **Frequency Cap/ Giới hạn tần suất** **Require at least one period unit** | | |
| | + Add Period Unit/ Thêm chu kì | Click to add new period unit to limit for chosen channel. | Button |
| | Capping Period \*/Chu kì | A drop-down to select the following period: * + 1. Daily: Maximum number of notifications per day. 2. Weekly: Maximum number of notifications per week 3. Monthly: Maximun number of notifications per month. | Drop-down Select one Each period should only be configured with one cap value at the same time. |
| | Maximum number \*/Số lần gửi thông báo tối đa | The maximum the number of times a message has been sent to per uniquie customer. | 9(12) |
| | Include Whitelist/Không bao gồm danh sách trắng | This option disallows/allows the white customer list allow to receive a higher notification than normal customer for spefic scenario. | Swith button Defaut OFF |
| | Customer list /Danh sách khách hàng | A drop-down to select the white customer list. This allows the system to recognize the white list customers and ignore the frequency capping rules. This is a condition filed and only active and required if the capping rules include the white customer list. | Drop down Multiple select |
| | Description /Mô tả | The description of the capping. For refer only | X(100) |
* 1. Frequency Capping are applied to all marketing campaigns in the system for customer level.
2. The system should automaticallytrack the number of notifications a customer has received across all notification channels as well as the period unit.
3. If the customer has reached the notification cap then the notification is not delivered to customer.
4. The white list who are excluded from the frequency cap rules should be tracked also.
#### Post condition
#### Exception flow
### A/Bn Testing
#### Requirement Definition
* + - 1. This function is used to evaluate and optimize various elements of the marketing program to improve customer engagement, retention, and overall performance.
2. OLS support both A/Bn content testing and A/Bn target customer testing.
3. For A/Bn content testing, one variation (content A) of the marketing request is sent to a subset of target customers, and one or more different variations (content sample B/ content sample n) are sent to the same subset of target customers. The goal is to identify which content in the marketing request yields the best results.
4. Unlike A/B content testing, A/Bn target customer testing focuses solely on the target customers. In the same testing request, one variation is designated for 'target customer A,' while one or more variations are designated for 'target customer B' or 'target customer n.' The goal is to identify which OMR criteria in the marketing request will reach more customers.
#### Process flow
![](data:image/x-emf;base64...)
#### Trigger
N/A
#### Pre-Condition
* + - * 1. For A/Bn messsage content testing, result testing must be provied from third-party to OLS can collect data and analyze result to introduce report which user can use to make decision which on is better.
2. Users have to have access rights in “A/Bn Testing” module to able to access this screen.
3. Depending on the user's access rights, they can view, add, edit, or approve manually marketing request.
4. All OMR citerions must to be defined as an attribute for each criterion to user can drop/drag to determine target audience.
#### Wireframe
Summary listing page
![](data:image/png;base64...)
* 1. Filter
![](data:image/png;base64...)
* 1. Content marketing testing configuration
**Step1: Choose testing type is “Content message testing”**
![](data:image/png;base64...)
Step 2: Setup general information
![](data:image/png;base64...)
Step 3: Choose target customer
![](data:image/png;base64...)
Step 4: Setup variant content message
![](data:image/png;base64...)
Step 5: Set up run schedule
![](data:image/png;base64...)
* 1. Target customer testing configuration
Step 1: Choose “Target customer testing”
![](data:image/png;base64...)
Step 2: Set up general information
![](data:image/png;base64...)
Step 3: Setup variant target customer
![](data:image/png;base64...)
Step 4: Setup run schedule
![](data:image/png;base64...)
#### Business rules
1. The same approach as Campaign Rule Criteria, each of marketing criterions are accessed directly by drag/drop on the right **Criteria** panel as illustrated in the wireframe.
2. OLS system will use Query Builder to build query for OMR criteria when user setup target customer.
3. All criterions will be listed on selection criteria panel (right panel). User can drag/drop criteria from right panel to set up rule. Criterion list will be defined as attribute so that user can define needed criteritions.
4. Click on the “A/Bn Testing” in Main icon to bring up the screen for accessing the A/Bn Testing listing page. The detail as illustrated in the [wireframe](#_Wireframe_16).
5. Click on Add button (![](data:image/png;base64...)) in the screen to bring up the edit form; clicking on the MoreOutLined icon (⋮) then click on Edit icon (!) also brings up the same edit form. The edit form for A/B testing screen is illustrated in the [wireframe](#_Wireframe_16)s.
6. **Screen description:**
**Create/Edit mode**
| | | | | |
| --- | --- | --- | --- | --- |
| **Index** | **Field** | | **Descriptions** | **Data type** |
| * + - * 1. **A/B message content testing** | | | | |
| **Step 1: Campaign information** | | | | |
| | | Campaign ID \* | Marketing Campaign ID Unique and Not allow specical characters | X(20) |
| | | Campaign Description | Description of Marketing Campaign ID | X(100) |
| | | Effective Date From | The start date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| | | Effective End date\* | The end date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| | | Message channel \* | SMS Email Push | Checkbox Allow to select only one value Lookup from master data. |
| **Step 2: Choose target customer** The OMR criteria list must be the same as the OMR criteria list on “[Marketing request”](#_Marketing_Request). | | | | |
| | ![](data:image/png;base64...) | | Depended on the purpose of each OMR request and the criterions list need to be setup to allocate and arrange all criterions into only one or many group. Click on “![](data:image/png;base64...)” button to create new group. | Button |
| | ![](data:image/png;base64...) | | This button is used to exclude all the coming transaction meet the rule criteria. Switch NOT button are applied on combinaiton of all group OR on all criteria on each group. | Switch button |
| | Right panel | | List all active criteria on the system. Assumed that Each criteria per category will be defined as an attribute. ![](data:image/png;base64...) | View only |
| | Drag/Drop criteria | | Each criteria can be drag one more time on each request . The condition and filler value for each criteria will be display base on data type of criteria. See more detail on [Campaign Rule](#_Campaign_Rule_Criteria) Criteria. ![](data:image/png;base64...) | Action |
| **Step 3: Set up varial content** ![](data:image/png;base64...) | | | | |
| | Variant A Users can rename and should be unique value on one each campaign | | Depending in Message channel : SMS/ Email/ Push notification, this tab is display as step 2 of Marketing message screen according to each message channel. See more on [Marketing message](#_Business_Rules). Content varial A will be added here. | Tab |
| | Varial B Users can rename and should be unique value on one each campaign | | Depending in Message channel : SMS/ Email/ Push notification, this tab is display as step 2 of Marketing message screen according to each message channel. See more on [Marketing message](#_Business_Rules). Content varial B will be added here. | |
| | Add | | Click to add to introduce new tab to create new content varial. System will automation populate varinant name as default and users can rename and should be unique value on one each campaign. | Button |
| **Step 4: Running schedule** | | | | |
| | Run Schedule \* | | * This field is activated and required when “Schedule” method is selected only. * Schedule to run OneMarketing Request Batch, include: *[O] Once Time [D] - Daily* *[W] - Weekly [M] - Monthly* *[A] - Annually* | Drop-down Select one Lookup value from master data |
| | One time | | ![](data:image/png;base64...) * 1. This option includes following fields: 1. Fixed date\* : This field is activated and required when “One time” schedule is selected. This field is Date format . This field is actived and required when “Schedule” method is selected only. 2. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campaign will run only one time when process date is equal to the fixed date at the selected time. | |
| | Daily | | ![](data:image/png;base64...) * + - 1. This option includes following fields: 1. Repeat every\* : The drop-down list to select the frequency on every n day where n from 1 to 100. This is select one field. 2. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campign will run and repeat on every n day at the selected time. | |
| | Weekly | | ![](data:image/png;base64...) * + - 1. This option includes following fields: 1. Repeat every\* : The drop-down list to select the frequency on every n week where n from 1 to 52. This is select one field. 2. Day of the week: The drop -down list to select the day of week the request will be occurred. The list includes list of day of week (from Monday to Sunday). This is multiple select field. 3. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campign will run and repeat on every n weeks on selected day of the week and at the selected time | |
| | Monthly | | * 1. Option 1 ![](data:image/png;base64...) This option includes following fields: * + 1. Repeat every: The drop-down list to select the frequency on every n month where n from 1 to 12. This is select one filed. 2. Repeat on the: The drop-down list to select the repeat type. The list includes : Each /On the.”Each” is selected. 3. Day of month: The drop-down list to select day of month the request will be occurred. The list includes 31 day from 1 to 31. This field is activied and required only when “Each” is slected on “Repeat on the” filed. This is multiple select field. 4. Last day of month: This field is activied and required only when “Each” is slected on “Repeat on the” filed. This is checkbox field with default as uncheck. If this field is checked then in case the last day of month is less than the “Day of month” then request will be occurred on last day of month instead. 5. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campaign will trigger and repeat on every n month on each selected day of the month and at the selected time. * 1. Option 2 ![](data:image/png;base64...) This option includes following fields: * + 1. Repeat every: The drop-down list to select the frequency on every n month where n from 1 to 12. This is select one filed. 2. Repeat on the: The drop-down list to select the repeat type. The list includes : Each /On the. “On the” is selected. 3. In : The drop-dow to select the specific day of the week. The list includes : First/ Second/ Third/ Fouth/ Last. This filed is actived and required only when “On the” is selected. This is select one field. 4. Day of the week: The drop-down list to select day of the week. The list includes: Monday … Sunday. This is multiple field. 5. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campaign will trigger and repeat on every n month on each selected period of day of the weeek and at the selected time. | |
| | Annually | | ![](data:image/png;base64...) This option includes following fields: * + 1. Repeat every: The drop-down list to select the frequency on every n year where n from 1 to 5. This is select one filed. 2. Month of year: Drop-down to select month of year. The list includes 12 months of year from 1 to 12. 3. Day of month: The drop-down list to select day of month the request will be occurred. The list includes 31 day from 1 to 31. 4. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campaign will trigger and repeat every n year on the selected day and selected month. | Drop-down Select one |
| **II: A/B target customer testing** | | | | |
| **Step 1: General information** | | | | |
| | Campaign ID \* | | Marketing Campaign ID Unique and Not allow specical characters | X(20) |
| | Campaign Description | | Description of Marketing Campaign ID | X(100) |
| | Effective Date From | | The start date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| | Effective End date\* | | The end date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| **Step 2: Set up variant target customer** | | | | |
| | Variant A User can rename and should be unique value on one each campaign | | This tab display the all OMR criteria to user can drag/drop to config the criterios to get the target customer. The OMR criteria list must be the same as the OMR criteria list on “[Marketing request”](#_Marketing_Request). Target customer varial A will be added here. The system will use all OMR criteria configuration on this tab to conduct and get target customer A. | Tab |
| | Varial B User can rename and should be unique value on one each campaign | | This tab display the all OMR criteria to user can drag/drop to config the criterios to get the target customer. The OMR criteria list must be the same as the OMR criteria list on “[Marketing request”](#_Marketing_Request). Target customer varial B will be added here. The system will use all OMR criteria configuration on this tab to conduct and get target customer A. | Tab |
| | Add | | Click to add to introduce new tab to create new target customer varial. The OMR criteria list must be the same as the OMR criteria list on “[Marketing request”](#_Marketing_Request). System will automation populate variant name as default and User can rename and should be unique value on one each campaign. | Button |
| **Step 3: Running schedule** | | | | |
| | Run Schedule \* | | * This field is activated and required when “Schedule” method is selected only. * Schedule to run OneMarketing Request Batch, include: *[O] Once Time [D] - Daily* *[W] - Weekly [M] - Monthly* *[A] - Annually* | Drop-down Select one Lookup value from master data |
| | One time | | ![](data:image/png;base64...) * 1. This option includes following fields: 1. Fixed date\* : This field is activated and required when “One time” schedule is selected. This field is Date format. This field is actived and required when “Schedule” method is selected only. 2. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. * Campaign will run only one time when process date is equal to the fixed date at the selected time. | |
| | Daily | | ![](data:image/png;base64...) * + - 1. This option includes following fields: 1. Repeat every\* : The drop-down list to select the frequency on every n day where n from 1 to 100. This is select one field. 2. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campign will run and repeat on every n day at the selected time. | |
| | Weekly | | ![](data:image/png;base64...) * + - 1. This option includes following fields: 1. Repeat every\* : The drop-down list to select the frequency on every n week where n from 1 to 52. This is select one field. 2. Day of the week: The drop -down list to select the day of week the request will be occurred. The list includes list of day of week (from Monday to Sunday). This is multiple select field. 3. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campign will run and repeat on every n weeks on selected day of the week and at the selected time | |
| | Monthly | | * 1. Option 1 ![](data:image/png;base64...) This option includes following fields: * + 1. Repeat every: The drop-down list to select the frequency on every n month where n from 1 to 12. This is select one filed. 2. Repeat on the: The drop-down list to select the repeat type. The list includes : Each /On the.”Each” is selected. 3. Day of month: The drop-down list to select day of month the request will be occurred. The list includes 31 day from 1 to 31. This field is activied and required only when “Each” is slected on “Repeat on the” filed. This is multiple select field. 4. Last day of month: This field is activied and required only when “Each” is slected on “Repeat on the” filed. This is checkbox field with default as uncheck. If this field is checked then in case the last day of month is less than the “Day of month” then request will be occurred on last day of month instead. 5. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campaign will trigger and repeat on every n month on each selected day of the month and at the selected time. * 1. Option 2 ![](data:image/png;base64...) This option includes following fields: * + 1. Repeat every: The drop-down list to select the frequency on every n month where n from 1 to 12. This is select one filed. 2. Repeat on the: The drop-down list to select the repeat type. The list includes : Each /On the. “On the” is selected. 3. In : The drop-dow to select the specific day of the week. The list includes : First/ Second/ Third/ Fouth/ Last. This filed is actived and required only when “On the” is selected. This is select one field. 4. Day of the week: The drop-down list to select day of the week. The list includes: Monday … Sunday. This is multiple field. 5. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campaign will trigger and repeat on every n month on each selected period of day of the weeek and at the selected time. | |
| | Annually | | ![](data:image/png;base64...) This option includes following fields: * + 1. Repeat every: The drop-down list to select the frequency on every n year where n from 1 to 5. This is select one filed. 2. Month of year: Drop-down to select month of year. The list includes 12 months of year from 1 to 12. 3. Day of month: The drop-down list to select day of month the request will be occurred. The list includes 31 day from 1 to 31. 4. Time of day to excute request\* : The time to OMR batch job running to trigger this request. This field is time format field. Campaign will trigger and repeat every n year on the selected day and selected month. | Drop-down Select one |
**Content marketing testing view mode**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| | Campaign ID | Campaign ID | X(20) |
| | Campaign Description | Description of Marketing Campaign ID | X(100) |
| | Message chanel\* | Push or Email or SMS | Display |
| | Effective Date From | The start date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| | Effective End date\* | The end date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| | OMR criteria | View as Rule criteria view mode for this part | Display |
| | Variant A | View as Message Template view mode for message content part | Tab |
| | Variant B | View as Message Template view mode for message content part | Tab |
| | Variant N | View as Message Template view mode for message content part | Tab |
| | Result | =TBD== It is depened on the third-party partner and the goal. We can want to see the total result on each content variation or detail result for each target customer on each content variation. | ==tbd== |
**Targeting marketing testing view mode**
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field** | **Description** | **Data type** |
| | Campaign ID | Campaign ID | X(20) |
| | Campaign Description | Description of Marketing Campaign ID | X(100) |
| | Message chanel\* | Push or Email or SMS | Display |
| | Effective Date From | The start date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| | Effective End date\* | The end date of the effective period of the A/Bn testing request | Date The date format must adhere to the configured format |
| | Variant A | View as Marketing request view mode for OMR criteria part. | Tab |
| | Variant B | View as Marketing request view mode for OMR criteria part. | Tab |
| | Variant N | View as Marketing request view mode for OMR criteria part. | Tab |
| | Result | One gird to view the customer list on each variation | | | | | | | --- | --- | --- | --- | --- | | **Variation** | **Total number of customers** | **Total Female customer** | **Total male customer** | **….** | | Variation A | 100 | 10 | 90 | | | Variation B | 150 | 100 | 50 | | | Variation n | 140 | 50 | 90 | | | ==tbd== **Which criteria should be summarized??** |
* 1. **A/Bn batch job will trigger marketing request as following processing:**
1. A/Bn testing job (ABn) just trigger effectived A/Bn testing requests based on effectived period of each request compare with processing date (batch date/ sysdate). From effectived request list the batch job find the valid job which have run schedule on the day batch job is running.
2. For content testing, ABn creates A/Bn message content selected based on the variation content configured by user. These message to be sent to the same customers selected based on criteria configured by users. E.g to send 3 promotion messages to customers whose birthday is due in the next N days. The result testing should be provied by parter so that OLS can provide the report to user can decide which content messge is better.
3. Regarding to target customer testing, A/Bn locates the target customer based on criteria configured by users. User can verify the result testing after batch job is completed.
4. For A/Bn SMS content testing, we can track click-through rates if SMS includes links or calls to action. By including unique links for different messages or recipients, we can measure how many people clicked on those links to interact with each content. From this result we can have the temporary open rate to user can decide which one is better.
5. For A/Bn Email content testing, open rate = (Number of opens / Number of delivered emails)/100. Number of opens is provided by third-party or we have to send email is in HTML format, as tracking pixels work with HTML emails. The number of opens willl be is the number of times the tracking pixel was downloaded when recipients opened the email.
6. ==tbd==
#### Post-condition
#### Exception flow
### BlackList
#### Requirement Definition
* + - 1. The business need to exclude specific customer or groups from marketing campaigns for strategic reasons, such as fraud customers.
2. Ensuring marketing efforts are focused on the most relevant and engaged audience to improve efficiency and return on investment.
3. A set of customer who will be blocked for reward/promotion notification from a business wil be pre-definiton in this module.
#### Process flow
#### Trigger
* + - * 1. The customer who has fraud behaviors will need to be added into black list.
#### Pre-Condition
* + - * 1. Users have to have access rights in “Black List” module to able to access this screen.
2. Depending on the user's access rights, they can view, add, edit, or approve manually marketing request.
#### Sktech
Listing page
![](data:image/png;base64...)
Edit mode
Step 1: Generral Information
![](data:image/png;base64...)
Step 2: Customer List
![](data:image/png;base64...)
![](data:image/png;base64...)
![](data:image/png;base64...)
Detail Mode
![](data:image/png;base64...)
#### Business rules
Users are able to upload a list of customers who will be blocked from the marketing campaign by uploading a file into the system.
Additionally, users are able to assign customers to the blacklist by selecting a list of cif number belong to OLS system.
Users are able to review the customer list or download the customer list that they have already uploaded to the system.
Screen description
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field (EN/VN)** | **Description** | **Data type** |
| **Listing page** | | | |
| | ID / ID | Blacklist indentifier | Display |
| | Name List/ Tên danh sách | The name of the black list. | Display |
| | Description/Mô tả | More description for this blacklist. | Display |
| | Customer List/Danh sách khách hàng | A list of customer that inputted by user or uploaded by user. Use ellipsis (…) to indicate that the customer list is too long to display in full. Mouseover to see full list. | Display |
| | ![](data:image/png;base64...) | By clicking here to download the customer list. This should be orginal file if this file is uploaded by the user. A file containing a list of customers entered by the user will be generated by the system. This file should under the CSV format as upload sample file. | Button |
| **Edit mode** | | | |
| | **General Information** | | |
| | ID \*/ ID | Blacklist indentifier For refer only | X(10) |
| | Name List\*/ Tên danh sách | The name of the black list. For refere only | X(50) |
| | Description/Mô tả | More description for this blacklist. For refer only | X(200) |
| | **Customer List** | | |
| | Input Type\*/ Kiểu nhập dữ liệu | Users can choose one of following option : * + - Input from screen - Upload file | Radio |
| | Customer List/ Danh sách khách hàng | A drop-down to select the customer who will be blocked from the marketing campaign if “input from screen” is selected in previous step. | Drop-down Multiple select To avoid performance issue, user should enter at least 4 digit of CIF number to select the customer |
| | Upload file/Tải file | This option allow users upload file from their divice. The file shoud follow systems format. Just allow CSV, xls, xlsx extension and file size should less than or equal to 50 MB. User can drag/drop or choose browse fiel from their device. | Button |
| | Customer List | If file upload successful then the customer list will be display here | Display |
Users review and approve the record in the same manner as on other screens
#### Post-condition
The blacklist is stored and accessible to another module.
#### Exception flow
If the file type or size is not valid, the system displays an error message and prompts the customer to select a different file.
The system should clearly display the upload processing status to the user.
### Whitelist
#### Requirement Definition
* + - 1. The business need to exclude a list of customers that are excluded from the standard frequency cap rules.
2. The whitelist ensures your top customers continue receiving your marketing messages without limit. We can use the whitelist for testing and optimizing campaign purposes. We can aslo use the whitelist for user who have shown strong interest in your marketing campaigns.
#### Process flow
#### Trigger
* + - * 1. A set of customers needs to be added to the whitelist to exlcuse them from the frequency cap rules.
#### Pre-Condition
* + - * 1. Users have to have access rights in “Whitelist” module to able to access this screen.
2. Depending on the user's access rights, they can view, add, edit, or approve manually marketing request.
#### Sktech
Listing page
![](data:image/png;base64...)
Edit mode
Step 1: Generral Information
![](data:image/png;base64...)
Step 2: Customer List
![](data:image/png;base64...)
![](data:image/png;base64...)
![](data:image/png;base64...)
Detail Mode
![](data:image/png;base64...)
#### Business rules
Users are able to upload a list of customers who will be excluded from the frequency cap rules by uploading a file into the system.
Additionally, users are able to assign customers to the whitelist by selecting a list of cif number belong to OLS system.
Users are able to review the customer list or download the customer list that they have already uploaded to the system.
Screen description
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field (EN/VN)** | **Description** | **Data type** |
| **Listing page** | | | |
| | ID / ID | Blacklist indentifier | Display |
| | Name List/ Tên danh sách | The name of the black list. | Display |
| | Description/Mô tả | More description for this whitelist. | Display |
| | Customer List/Danh sách khách hàng | A list of customer that inputted by user or uploaded by user. Use ellipsis (…) to indicate that the customer list is too long to display in full. Mouseover to see full list. | Display |
| | ![](data:image/png;base64...) | By clicking here to download the customer list. This should be orginal file if this file is uploaded by the user. A file containing a list of customers entered by the user will be generated by the system. This file should under the CSV format as upload sample file. | Button |
| **Edit mode** | | | |
| | **General Information** | | |
| | ID \*/ ID | Blacklist indentifier For refer only | X(10) |
| | Name List\*/ Tên danh sách | The name of the whitelist. For refere only | X(50) |
| | Description/Mô tả | More description for this blacklist. For refer only | X(200) |
| | **Customer List** | | |
| | Input Type\*/ Kiểu nhập dữ liệu | Users can choose one of following option : * + - Input from screen - Upload file | Radio |
| | Customer List/ Danh sách khách hàng | A drop-down to select the customer who will be excluded from the frequency cap rules if “input from screen” is selected in previous step. | Drop-down Multiple select To avoid performance issue, user should enter at least 4 digit of CIF number to select the customer |
| | Upload file/Tải file | This option allow users upload file from their divice. The file shoud follow systems format. Just allow CSV, xls, xlsx extension and file size should less than or equal to 50 MB. User can drag/drop or choose browse fiel from their device. | Button |
| | Customer List | If file upload successful then the customer list will be display here | Display |
Users review and approve the record in the same manner as on other screens
#### Post-condition
The whitelist is stored and accessible to another module.
The whitelist is excludes from the frequency cap rules as default. If there is any cap rules should need to include the whitelist then the user should indicate those whitelist.
#### Exception flow
If the file type or size is not valid, the system displays an error message and prompts the customer to select a different file.
The system should clearly display the upload processing status to the user.

View File

@@ -0,0 +1,73 @@
## Application Parameter
### Requirement Definition
* The “**Application Parameters**” module provides a means to maintain a set of application control parameters that define the system behavior in relation to user authentication, and user interface. These include password policy parameters session time-outs and system display format.
### Process Flow
### Wireframe
* + 1. Access control
![](data:image/png;base64...)
* + 1. Display setting
![](data:image/png;base64...)
* + 1. Functionality
![](data:image/png;base64...)
### Trigger
### Pre-condition
* Users have to have access right on this screen in order to access this screen.
* Depending on the users access rights, they can view/add/edit/
### Business Rule
* + 1. When the Application Parameters option is selected (under the System Management module in the navigation panel), the screen is displayed with the "Access Control" tabs as the default, as illustrated in the following:
![](data:image/png;base64...)
1. There are 3 tabs under the **Application Parameters** modules: **Access Control, System Display, and Functionality**.
2. All parameters under each tab will be pre-defined by the system as default. When any tabs is selected then the parameters are displayed according and allow the user to modify them.
3. Application parameters list detail:
| Label (EN/VN) | Parameter | Data Type |
| --- | --- | --- |
| **Access *Control*** | | |
| Same User Cannot Approve \*/ Người dùng không thể phê duyệt cùng bản ghi | Allow/Disallow the user to approve/reject the record that they themselves created. | Switch button Default OFF |
| Same User Cannot Modify Own Profile \*/ Người dung không thể thay đổi thông tin cá nhân | Allow/Disallow the user to change their profile in the system. | Switch Button Default OFF |
| User Session Inactivity Time-out (minutes)\* / Hết hạn phiên đăng nhập | The user session will be ended if there are no user actions for N minutes. The system will throw an alert message and require the user login again. | 9(2) Default N as 30 minutes |
| Maximum Failed Forgotten Password Attempts \*/ | User id is blocked from further log-ins and the user profile record is suspended (blocked) until it is reset if customer enters more than N invalid passwords consecutively. | 9(2) Default N as 5 tiems |
| Inactivate User Id after N days of no log-ins\*/Tài khoản bị dừng hoạt động sau N ngày không đăng nhập. | User status is automatically inactive until reset if the user has not logged in for more than the number of days specified. | 9(3) Default as 30 days |
| Remind User to Change password N Days Before password expires\*/ Nhắc người dùng đổi mật khẩu trước N ngày trước khi hết hạn. | When the user logs into the system, the system will show an alert message to notify the user has to change the password from N day away before the password expires. | 9(3) Defaut as 5 days |
| Password expiration [days] \*/ Số ngày hiệu lực của mật khẩu | The number of days after which a new password will be expired. This determines how long a password remains valid before the user must change it. After this period, the account is locked and the user is unable to log in until the administrator unlocks the account. | 9(3) Default as 180 days |
| Disallow re-use of the last N passwords \*/ Cho phép dùng lại mật khẩu trong N lần gần nhất | The system just allows the user to re-use the last N password only. These options help to ensure passwords are regularly updated and not recycled. User can not re-use any of their last 2 passwords. | 9(1) Default as 2 times |
| Maximum password length \*/ Độ tài tối đa của mật khẩu | When the user is setting a new password or when changing an existing password, the new password must be not greater than this length | 9(2) Default as 50 |
| Minimum password length\* /Độ dài tối thiểu của mật khẩu | When the user is setting a new password or when changing an existing password, the new password must be at least this length | 9(2) Default as 8 |
| Password must at least N numeric digit \*/ Mật khẩu phải có ít nhất N số | When the user sets a new password or when changing an existing password, the new password must be at least N numeric digits. | 9(2) Default as 1 digit |
| Password must have at least [N] upper case alphabet\*/ Mật khẩu có ít nhất N kí tự in hoa | When the user sets a new password or when changing an existing password, the new password must be at least N upper case alphabet. | 9(2) Default as 1 |
| Password must have at least [N] lower case alphabet \*/ Mật khẩu có ít nhất N chữ cái thường | When the user sets a new password or when changing an existing password, the new password must be at least N lowercase alphabet. | 9(2) Default as 1 |
| Password must have at least [N] special character\*/ Mật khẩu có ít nhất N kí tự đặc biệt | When the user sets a new password or when changing an existing password, the new password must be at least N special character. | 9(2) Default as 1 |
| **Display Setting** | | |
| Date format \* / Định dạng ngày | A drop-down to select the following date display format: * DD/MM/YYYY * DD-MM-YYYY * DDMMYYYY * MM/DD/YYYY * MM-DD-YYYY * YYYY/MM/DD * YYYY-MM-DD * DD,MM,YYYY This determines how dates are displayed throughout the system. This is the default display. | Dropdown Select one Default as DD/MM/YYYY |
| Time format\* /Định dạng giờ | A drop-down to select the following time display format: * HH:mm: ss * HHmmss * HH, mm, ss * HH;mm;ss * HH/mm/ss This determines how times are displayed throughout the system. This is the default display. | Drop-down Select one Default as HH:mm: ss |
| Amount display format \*/ Định dạng số | This parameter determines how amounts are displayed throughout the system: * American [999,999,99] * European [999.999,99] | X(20) |
| **Functionality** | | |
| Processing Date / Ngày xử lí | The date on which a particular transaction or event is processed or recorded in the OLS system for the online transaction instead of the system. This parameter must be used for testing only. In production the processing date should be empty then the system always uses the system to process or record the online transaction. | Date Default is empty |
| Allow Cross Function Update\* / Cho phép cập nhật chéo | This allows or disallows cross-updates between data created by users and data created. The following functions apply to this parameter: * Customer data * Account data * Card data | Switch button Default ON |
### Post-Condition
* The application now uses the new, standardized parameter format.
* All existing parameter settings have been successfully migrated to the new format.
* The application's functionality remains uninterrupted, and end-users can continue using the application without any noticeable changes.
* The application's parameter management is more maintainable, scalable with other systems.
### Exception flow

View File

@@ -0,0 +1,72 @@
## Application Parameter
### Requirement Definition
* The “**Application Parameters**” module provides a means to maintain a set of application control parameters that define the system behavior in relation to user authentication, and user interface. These include password policy parameters session time-outs and system display format.
### Process Flow
### Wireframe
* + 1. Access control
![](data:image/png;base64...)
* + 1. Display setting
![](data:image/png;base64...)
* + 1. Functionality
![](data:image/png;base64...)
### Trigger
### Pre-condition
* Users have to have access right on this screen in order to access this screen.
* Depending on the users access rights, they can view/add/edit/
### Business Rule
* + 1. When the Application Parameters option is selected (under the System Management module in the navigation panel), the screen is displayed with the "Access Control" tabs as the default, as illustrated in the following:
![](data:image/png;base64...)
1. There are 3 tabs under the **Application Parameters** modules: **Access Control, System Display, and Functionality**.
2. All parameters under each tab will be pre-defined by the system as default. When any tabs is selected then the parameters are displayed according and allow the user to modify them.
3. Application parameters list detail:
| Label (EN/VN) | Parameter | Data Type |
| --- | --- | --- |
| **Access *Control*** | | |
| Same User Cannot Approve \*/ Người dùng không thể phê duyệt cùng bản ghi | Allow/Disallow the user to approve/reject the record that they themselves created. | Switch button Default OFF |
| Same User Cannot Modify Own Profile \*/ Người dung không thể thay đổi thông tin cá nhân | Allow/Disallow the user to change their profile in the system. | Switch Button Default OFF |
| User Session Inactivity Time-out (minutes)\* / Hết hạn phiên đăng nhập | The user session will be ended if there are no user actions for N minutes. The system will throw an alert message and require the user login again. | 9(2) Default N as 30 minutes |
| Maximum Failed Forgotten Password Attempts \*/ | User id is blocked from further log-ins and the user profile record is suspended (blocked) until it is reset if customer enters more than N invalid passwords consecutively. | 9(2) Default N as 5 tiems |
| Inactivate User Id after N days of no log-ins\*/Tài khoản bị dừng hoạt động sau N ngày không đăng nhập. | User status is automatically inactive until reset if the user has not logged in for more than the number of days specified. | 9(3) Default as 30 days |
| Remind User to Change password N Days Before password expires\*/ Nhắc người dùng đổi mật khẩu trước N ngày trước khi hết hạn. | When the user logs into the system, the system will show an alert message to notify the user has to change the password from N day away before the password expires. | 9(3) Defaut as 5 days |
| Password expiration [days] \*/ Số ngày hiệu lực của mật khẩu | The number of days after which a new password will be expired. This determines how long a password remains valid before the user must change it. After this period, the account is locked and the user is unable to log in until the administrator unlocks the account. | 9(3) Default as 180 days |
| Disallow re-use of the last N passwords \*/ Cho phép dùng lại mật khẩu trong N lần gần nhất | The system just allows the user to re-use the last N password only. These options help to ensure passwords are regularly updated and not recycled. User can not re-use any of their last 2 passwords. | 9(1) Default as 2 times |
| Maximum password length \*/ Độ tài tối đa của mật khẩu | When the user is setting a new password or when changing an existing password, the new password must be not greater than this length | 9(2) Default as 50 |
| Minimum password length\* /Độ dài tối thiểu của mật khẩu | When the user is setting a new password or when changing an existing password, the new password must be at least this length | 9(2) Default as 8 |
| Password must at least N numeric digit \*/ Mật khẩu phải có ít nhất N số | When the user sets a new password or when changing an existing password, the new password must be at least N numeric digits. | 9(2) Default as 1 digit |
| Password must have at least [N] upper case alphabet\*/ Mật khẩu có ít nhất N kí tự in hoa | When the user sets a new password or when changing an existing password, the new password must be at least N upper case alphabet. | 9(2) Default as 1 |
| Password must have at least [N] lower case alphabet \*/ Mật khẩu có ít nhất N chữ cái thường | When the user sets a new password or when changing an existing password, the new password must be at least N lowercase alphabet. | 9(2) Default as 1 |
| Password must have at least [N] special character\*/ Mật khẩu có ít nhất N kí tự đặc biệt | When the user sets a new password or when changing an existing password, the new password must be at least N special character. | 9(2) Default as 1 |
| **Display Setting** | | |
| Date format \* / Định dạng ngày | A drop-down to select the following date display format: * DD/MM/YYYY * DD-MM-YYYY * DDMMYYYY * MM/DD/YYYY * MM-DD-YYYY * YYYY/MM/DD * YYYY-MM-DD * DD,MM,YYYY This determines how dates are displayed throughout the system. This is the default display. | Dropdown Select one Default as DD/MM/YYYY |
| Time format\* /Định dạng giờ | A drop-down to select the following time display format: * HH:mm: ss * HHmmss * HH, mm, ss * HH;mm;ss * HH/mm/ss This determines how times are displayed throughout the system. This is the default display. | Drop-down Select one Default as HH:mm: ss |
| Amount display format \*/ Định dạng số | This parameter determines how amounts are displayed throughout the system: * American [999,999,99] * European [999.999,99] | X(20) |
| **Functionality** | | |
| Processing Date / Ngày xử lí | The date on which a particular transaction or event is processed or recorded in the OLS system for the online transaction instead of the system. This parameter must be used for testing only. In production the processing date should be empty then the system always uses the system to process or record the online transaction. | Date Default is empty |
| Allow Cross Function Update\* / Cho phép cập nhật chéo | This allows or disallows cross-updates between data created by users and data created. The following functions apply to this parameter: * Customer data * Account data * Card data | Switch button Default ON |
### Post-Condition
* The application now uses the new, standardized parameter format.
* All existing parameter settings have been successfully migrated to the new format.
* The application's functionality remains uninterrupted, and end-users can continue using the application without any noticeable changes.
* The application's parameter management is more maintainable, scalable with other systems.
### Exception flow

View File

@@ -0,0 +1,139 @@
## OneTargeting
### Segmentation Definiiton
#### Requirement Definition
* 1. Segmentation is one proessing to divide a customer base into smaller, that provides a way to narrow down the target audience based on the types of products or services the customers have previously purchased.
2. This screen allows businesses to create more personalized and effective marketing strategies for each segment, rather than adopting a one-size-fits-all approach.
3. In the system sides, segement is one combination of more than one criteria, that allows same criteria set may be re-used many times. The most importantly, it allows a more efficient way to setup the targeting customer.
#### Process Flow
#### Trigger
* + 1. User access to the OneTargeting Module to create/update new segment.
#### Pre-Condition
1. Users have to have access rights in “Segmentation” module to able to access this screen.
2. Depending on the user's access rights, they can view, add, edit, or manually approval.
3. Assume that all criteria are defined as attribute and appear in right panel in message content part to user can drag/drop to setup.
#### Sktech
* + - 1. Create /Edit mode
![](data:image/png;base64...)
![](data:image/png;base64...)
* + - 1. View mode
#### Business Rule
1. The same approach as Campaing Rule Crireria screen, OLS system will use Query Builder to build query for this screen.
2. Refer to [Rule Criteria](#_Business_rules_1) section to get more detail about the business rule of this screen. The criterion list are described in the #3.
3. Here are some way that business segment their targeting customer :
| **Index** | **Segement Group** | **Criteria Group** | **Combination by following Criteia** | **Segment Example** |
| --- | --- | --- | --- | --- |
| | Demographic Segmentation | Customer Profile | Age | Life Cycle segment: Children: 0 -14 Youth: 15- 24 Adults: 24- 64 Seniors: 65 and above |
| Last Name | |
| First Name | |
| Income | **Income segment**: High-Income Customer Middle Icome Customer Low-Income Customer |
| Gender | Male customer Female customer |
| Marital Status | Singel customer Married customer |
| DOB | **Generation segment:** Gen Z: Year DOB from 1997 2012 Gen Y: 1981 1996 Gen X: 1965 1980 Gen W (Baby Boomers): 1946- 1964 |
| Location: Country/State/City/Zip Code | **Geography segement:** International customer Urban customer Suburban customer Mountain Customer |
| Customers Tenure | **Customers Tunure** **Segment** (Use Customer Registration) : New customer: under 1 year Early- tenured customer: 1- 2 years Mid-Tenured customer: 2- 5 years Long - tenured customer: above 5 years |
| Account s Tenure | **Accounts Tunure** **Segment** (use AOD) : New customer: under 1 year Early - tenured customer: 1- 2 years Mid-Tenured customer: 2- 5 years Long tenured customer: above 5 years |
| Accounts Status | |
| Next AOD | |
| Customers staus | Used in the many segment that |
| | Behavior Segmentation | Transaction | Last transaction /Integration | **Churned customer :** E.g Last transaction is more than 6 months ago and customer status is active |
| Transaction Frequency: Should be tracked in the specific period such as day/week/month / Quarter/Year/Custom period to determine for following criteria : * + 1. **Total number txn frequency on the specific period.** 2. **Avegare txn frequency** | **Customer Segment:** High-Value Customers: frequency range depend on each business rule Medium-Value Customers: frequency range depend on each business rule Low-Value Customers: frequency range depend on each business rule |
| Customer Recency: When was the last transaction/ integration. |
| Total spending value: How much customer spends (total nett transaction amount) |
| Transaction Date | **Peak Time customer:** E.g Transaction date is on special day Transaction date on weekend (day of the week) Midnight transaction (Time of the transaction) **Consistent-Time Customers**: E.g Transaciton do on each the first day of the month **Flexible-Time Customers** E.g Transaciton is on specific day |
| Transaction Time |
| Merchant: Coporation/Chain/Store/MCC | Use with another crieteria or itself only to create specific segment |
| Merchant Group: Coporation/Chain/Store/MCC Group |
| Transaction Description |
| Transaction Category |
| Transaction Gross Amount |
| Transaction Nett Amount |
| | Flexible segment | Attribute | Attribute Criteria | |
| | Psychographic Segmentation | Item | Favorite Category | **Life Style segment** **Interest segment** **Opinion segment** |
| Favorite Item |
| To be added when implement onedisplay so that we can have the data source for collect the Psychographic Segmentation from survey to decision the marketing strategy |
#### Post-Condition
* + - * 1. Each segment are used to define the targeting customer on the marketing module.
#### Exception Flow
### Audience Upload
#### Requirement Definition
Provide a user friendly interface to marketers to manage audience uploads.
#### Process flow
#### Trigger
#### Pre-Condition
1. Users have to have access rights in “Audience Upload” module to able to access this screen.
2. Depending on the user's access rights, they can view, add, edit, or manually approval.
#### Sktech
#### Business rules
Users are able to upload a customer data for targeted marketing campaigns by uploading a file into the system.
The system should allow users map data from their source files to the required platform fields by accepting the CSV, excel spreadsheets.
The system validates the uploaded data to ensure all required fields are present and in the correct format
Screen descrition
| | | | |
| --- | --- | --- | --- |
| **Index** | **Field (EN/VN)** | **Description** | **Data Type** |
| **Listing page** | | | |
| | Audience Name /Tệp khán giả | Name of the audience | Dipslay |
| | Description /Mô tả | Audience description For use refer only | Display |
| | File size /Dung lượng tệp | The file size | Display as number format |
| | ![](data:image/png;base64...) | By clicking here to download the audience. This should be orginal file tha user already uploaded. | Button |
| **Create/Edit Mode** | | | |
| | File ID \*/ ID tệp | Audience identifier For system refer only | X(10) |
| | Audience Name \*/ Tệp khán giả | The name of the audience Should be uniquie value in the system. | X(50) |
| | Description /Mô tả | Audience description | X(200) |
| | Upload file \*/ Đăng tệp tin lên | This option allow users upload file from their divice. The file shoud follow systems format. Just allow CSV, xls, xlsx extension and file size should less than or equal to 50 MB. User can drag/drop or choose browse file from their device. | Button |
| | | | |
#### Post-condition
#### Exception Condition
### Customer Audience
#### Requirement Definition
#### Process flow
#### Trigger
#### Pre-Condition
#### Wireframe
#### Business rules
#### Post-condition
#### Exception flow