The following table describes the collection properties for the Loyalty microservice:

S. No.AttributeDefault ValueDescription
1minimumRewardsValueForRedemption1Indicates the minimum rewards value where a user can redeem in a single transaciton.
2cycleperiod1Specifies the cycle period (in days).
3defaultlocaleen_USIndicates the default locale of the collection. The locale should be mentioned in the Java standard locale format.
4applicablelocalesen_USIndicates the list of locales applicable to the collection. The locale should be mentioned in the Java standard locale format.
5isRewardApprovalRequiredTRUEIndicates whether the reward approval is required or not.
Enable or disable the status of the property key to mention if the reward approval is required or not.
  • enable the toggle to approve the reward manually. This is default.
  • disable the toggle to approve the reward automatically.
6synchronousRedemptiontrueIndicates whether to redeem the approved points synchronously (if the value is true) or asynchronously (if the value value is false).
  • Synchronous: Before return redemption, removes the approved points.
  • Asynchronous: After return redemption, removes the approved points.
7customActionTypesConfigNAContains the custom actions of the rule settings. This field is used to customize the action configuration of loyalty rules. This field contains a valid JSON string.
For example, see, customActionTypesConfig
8expirationPeriod1Indicates the loyalty points expiration period (in days).
9roundOffValue2Indicates the number of decimal places.
10loyaltyPropertynullIndicates the default properties of Events APIs to define loyalty event modal attributes. This field contains a valid JSON string.
11allowedRewardTypesForOptIn nullHolds a list of default reward types. The list of reward types configured here will be eligible based on opt-in functionality. When the user opts-in to the loyalty program, the user will be able to earn these rewards.
Note:
  • Before providing values here, you need to create reward types. For more details, see Configuring Loyalty Rewards.
  • You MUST mention the reward type.
12duplicateTransactionCheckfalseSpecifies whether duplicate transactions are allowed or not. The value can be:
  • true - Indicates duplicate transactions are not allowed. Here, to maintain the uniqueness a unique value is set to the field `sourceSystemUniqueId` of the `TransactionRequest` model. This value is obtained from third-party services.
  • false - Indicates more than one transaction with the same loyalty rule condition is allowed.
13enrollBankOnTransaction trueSpecifies whether to show the validation error message or create a reward bank for a new user who does not exist in the loyalty database. If this flag is true, shows the validation error message if the user is not available in the loyalty database. If the value is false, creates a reward bank for a new user even though the user does not exist in the database.
14frequencyFeedCurrentTimeInMs NAHolds the current time in milliseconds which overrides the existing current time to update any missing transactions.
15frequencyTransactionConfig NAHolds the transaction frequency configurations. This configuration helps to automatically perform the transactions on the given frequenci(es). For example, to provide loyalty points monthly to all the Gold users. The frequency can be weekly, monthly, quarterly, halfyearly, and yearly. The transaction details are given using the TransactionRequest model. Multiple frequencies with their transaction details can be given as comma-separated.
For example,
{
""weekly"": [
{
""rewardType"": ""Points"",
""type"": ""EARN"",
""eventId"": ""Frequency reward"",
""properties"": {
""items"": ""{\""customEvent\"":[{\""frequency\"":{\""Type\"":\""weekly\""}}]}""
}
}
],
""monthly"": [
{
""rewardType"": ""Points"",
""type"": ""EARN"",
""eventId"": ""Frequency reward"",
""properties"": {
""items"": ""{\""customEvent\"":[{\""frequency\"":{\""Type\"":\""monthly\""}}]}""
}
}
],
""quarterly"": [
{
""rewardType"": ""Points"",
""type"": ""EARN"",
""eventId"": ""Frequency reward"",
""properties"": {
""items"": ""{\""customEvent\"":[{\""frequency\"":{\""Type\"":\""quarterly\""}}]}""
}
}
]
}
16isInternalUser trueSpecifies whether the user is from the User (Customers) service or not. If the value is true, the user is from the User service.
17pointsExpiryDays NAHolds the number of days for which the expiry points will be calculated and sent as an event. Here, the points that will expire in the next three days, four days and five days will be calculated and sent in the event.
18profilePropertyNADefines the dynamic profile properties based on business requirements. These properties are used as operands while configuring loyalty conditions. For example,
{
""properties"": {
""numOrdersThisMonth"": {
""name"": ""Number of Orders this month"",
""type"": ""NumericIncrement"",
""timeBasis"": ""Monthly""
},
""numOrdersThisWeek"": {
""name"": ""Number of Orders this Week"",
""type"": ""NumericIncrement"",
""timeBasis"": ""Weekly""
}
}
}

Note: Updated the existing field timeBasis with the new value CustomPeriod and added the new fields startTime and endTime. Based on the start time and end time mentioned in the property, loyalty points will be reset.
19reasonstoCreditRewardsNAHolds a list of reasons to credit or debit reward points (Store Credit or Loyalty) by a CSR. These reasons are shown as options when a CSR credits or debits the reward points.
20roundOffMode HALF_UPHolds the round-off mode. The value can be:
  • HALF_UP - Indicates the value is rounded up or down based on the decimal value. If the decimal value is 5 or above, the value is rounded up to the nearest whole number. If the decimal value is 4 or below, the value is rounded down to the nearest whole number.
  • FLOOR - Indicates the value is rounded down to the nearest whole number.
  • CEILING - Indicates the value is rounded up to the nearest whole number.
21tierConfigSpecifies the current tier and next tier mappings which are used to track the loyalty events.
22timeZoneUTCHolds the timezone value of the respective collection. The timezone should be mentioned in the Java standard timezone format.
23enableExtendedFeaturefalse When this property is set to:
  • true: Campaign functionality is enabled and available under Loyalty Rewards.
  • false: Campaign functionality is disabled. If this feature is not enabled, campaigns cannot be used in the rules, even though you can see the Campaigns in the left navigation of the Loyalty Admin console. This is default.




Revision History
2024-09-13 | SD – Updated collection properties.
2024-03-05 | SD – Updated collection properties.
2023-10-22 | JP – Updated content for 8.15.4 release.
2023-08-03 | AN – Updated content for 8.15.0 release.
2022-12-22 | AN – Updated content for 8.13 release.
2021-01-21 | SW – Updated the descriptions.
2020-10-08 | HM – Updated content with properties.
2020-05-26 | AN – Updated content for June 2020 release.
2020-01-14 | AN – Updated content for February 2020 release.
2019-10-31 | AN – Page created and content uploaded.