Loyalty service
The Loyalty service calculates loyalty points both when selling items and when using them for payments and/or discounts. The service also authorizes loyalty point payments by checking the point status of the loyalty card being used for payment.
Possible customization includes a calculation of awarded loyalty points, rounding and local/external loyalty payment authorization.
Configurations
There are various configurations of loyalty cards, barcodes, schemes and etc. that must be concluded before the POS can start using the loyalty functionality. Please see the section on loyalty functionality on our online help for more information about all of these configurations.
Main functionality
Name | Description |
---|---|
AddCustomerToLoyaltyCard | Displays a dialog where a customer and a loyalty card can be connected. |
AddLoyaltyCardToTransaction | This function adds a loyalty card and the customer attached to the loyalty card to the transaction. This function also calculates the points that are on the transaction (if the loyalty card was added after some items were added to the sale). |
AddLoyaltyPayment | This function is called from the Pay loyalty operation. It retrieves loyalty card information from the user and the number of points that should be used for payment. |
AddLoyaltyPoints | This function calculates the points on each item and the total number of points on the transaction. This function is called from the ConcludeTransaction from the Transaction service when the POS is finishing the sale. |
AddLoyaltyPointsDiscount | Uses GetLoyaltyCardInfo to retrieve information about a loyalty card and the number of points that should be used for the discount. The points are then turned into a discount and divided between all the items on the transaction. |
GetLoyaltyCardInfo | Displays a dialog where the user must enter a loyalty card number and information about the loyalty card is retrieved including point status, point value and etc. It depends on the context of what operation and/or functionality is calling this function how the dialog is displayed. The same dialog is used to view loyalty card status, pay with loyalty cards and add a loyalty point discount. |
LoyaltyDiscountRecalculationNeeded | Returns true if the loyalty discount needs to be recalculated due to the total amount having changed. |
LoyaltyCardExistsForLoyaltyScheme | Checks if the scheme is in use by any card. |
UpdateIssuedLoyaltyPoints | Updates the central database with the loyalty points that have been issued (accrued) during the sale or when a sale with a loyalty points tender line is being returned. This function is called from the ConcludeTransaction from the Transaction service when the POS is finishing the sale. |
UpdateUsedLoyaltyPoints | Updates the central database with the loyalty points that have been used as a discount during the sale or when a sale is being paid for with loyalty points tender line. This function is called from the ConcludeTransaction from the Transaction service when the POS is finishing the sale. |
VoidLoyaltyPayment | This function is called from the Void payment operation if the payment line that is selected for voiding is a loyalty point tender line. |
POS Operations
Many operations in the POS directly call the Loyalty service. Here below is a list of all the operations and which functions they call
Name | Description |
---|---|
Add customer to loyalty card | Calls function AddCustomerToLoyaltyCard |
Get loyalty card information | Calls function GetLoyaltyCardInfo |
Loyalty request | Calls function AddLoyaltyCardToTransaction |
Loyalty point discount | Calls function AddLoyaltyPointsDiscount |
Pay loyalty | Calls function AddLoyaltyPayment |
Use loyalty card (on Customer edit dialog) | Calls function AddLoyaltyCardToTransaction |
Void payment | Calls function VoidLoyaltyPayment |
Development pack
To find this service in the development pack go to DevPack\Source\POS\Services
See also