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

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,86 @@
# OLS Loyalty Marketing System FSD
## Reference
## Introduction
### Scope of Document
### Terminology
### Structure of Document
## OneAccess
### Overview
### User Group
### Permission Management
### User Profile
## OneAdmin™
### Overview
### Types of Screen Layouts
### Home Page
### Summary Listing Screens
### Detail View
### Add/ Edit Screen
### Approve Pending Record
### Record History
## Application Parameter
### Requirement Definition
### Process Flow
### Wireframe
### Trigger
### Pre-condition
### Business Rule
### Post-Condition
### Exception flow
## Reward Campaign Management
### Highlights
### Structure of a Campaign (HAVE TO BE ADJUSTED)
### About Loyalty Marketing Campaigns (HAVE TO BE ADDED)
### External Transaction Code
### OLS Transaction Code
### Pool Definition
### Pool Conversion Rate
### Counter Definition
### Transaction Category
### Account Type Group
### Reward Campaign
### Reward Campaign Rule
### Campaign Rule Criteria
### Campaign Rule Formula
### Campaign Rule Contributor Settings
### Counter Extract & Process (CEP) Request
### Redemption Extract & Process (REP) Rule
### Item Redemtion Rule Type (ITRD)
### Transaction Rule Analysis (HAVE TO BE ADDED)
### Campaign Insight
### One tester (HAVE TO BE ADDED)
## Customer management
### Customer profile
### Customer 360
### Account
### Card
### Pool Balance Detail
### Transaction History
### No Hit CP Transaction IF “RULE EVALUATION” IMPLEMENTED THEN THIS SCREEN IS REDUNDANT
### Statement
### Attribute
### Counter
### Adjustment
### Transfer balance
### Re-instatement
### Item Redemption
### Award Transaction
## OneMarketing
### Overview
### Marketing message
### Marketing Campaign
### Marketing Frequency Cap
### A/Bn Testing
### BlackList
### Whitelist
## OneCatalogue
### About Redemption Item in OLS system
### Catalogue
### Category
### Item master
### Item price
### Voucher Code
## OneTargeting
### Segmentation Definiiton
### Audience Upload
### Customer Audience