Enactor Pos Overview of Key Application Processes
Overview
This guide will walk you through the primary logical flow of the POS Application, providing insights into key Application Processes.
What You Will Learn
- The names (Process IDs) of key Application Processes
- Resource Location of key Application Processes
- Key insights into key Application Processes
StartUp
Process ID Pos/StartUp
The Start Up process is the initial Application Process executed when the POS Application is launched. Its primary objective is to load and initialize key configuration data and peripherals.
Configuration data
Configuration data is primarely loaded from the database and can consists of
- Device
- Location
- Pos Terminal
- Theme
- Base Currency
Configurations are saved to the application view (memory). To facilitate the saving and retrieval of view data, the following actions are employed:
com.enactor.coreUI.actions.UISetViewDataAction
com.enactor.coreUI.actions.UIGetViewDataAction
Peripheral initialisation and startup
Additionally, the StartUp process is responsible for the initiation and initialization of various peripherals, encompassing payment devices, printers, scanners, cash drawers, customer views, and more.
Branding and Theming
The default styling of the POS Application is loaded during the StartUp process and subsequently saved to the view. This encompasses the theme and branding styles configured for a POS Terminal Entity.
SignOn
Process ID Pos/SignOn/WaitForSignOn
The Wait For Sign On process marks the initial stage of the user journey within the Enactor POS. A subprocess with a Process ID of Pos/SignOn/SignOn
is invoked, enabling the user to enter their credentials.
After a user has been validated, the WaitForSignOn process ensures the user is saved to the view, accompanied by various additional checks, including:
- Verification of whether the signed-on user is in training mode.
- Examination for any stored transactions associated with the user. If found, the application proceeds with the loaded transaction; otherwise, it initiates the creation of a new transaction.
When signing a user out, the logical flow returns to the WaitForSignOn process. Before advancing to the SignOn Process, the application conducts several checks:
- Inspecting the Device Status to determine if the device has been marked as not in use.
- Assessing whether new configuration data has been sent to the application.
New Transaction
Process ID Pos/Transaction/NewTransaction
The New Transaction process is tasked with the creation of a new transaction or the retrieval of a stored transaction when required. Additionally, the process is responsible for converting a transaction to and from an Employee transaction upon request.
Sale
Process ID Pos/Sale/Sale
The core application process of the POS Application during a transaction is Sale. This process serves as the focal point for the majority of functions. Key events within this process include:
- SellProduct
- PriceOverride
- ItemDiscount
- TransactionDiscount
- CaptureLoyalty
- Total
In addition to event handling, the Sale process also manages promotion engine event handling.
SellItem
Process ID Pos/Product/SellItem
When a product code is scanned or entered, a sequence of application processes is triggered. Initially, the event is evaluated within a crucial process Pos/Sale/HandleFunctions
.
Once the event is identified, the primary process for selling a product, Pos/Product/SellItem
, is executed. This process involves various actions, such as:
-
Pos/Product/ValidateSaleItem
Validates the sale item.Pos/Product/ProductLookUp
Loads information about the selected product.Pos/Product/ValidateProductSale
Validates if the selected product can be sold, including age verification.
-
Pos/Product/SellKnownProduct
Executes the sale of the known product.Pos/Product/LookupItemPrice
Retrieves the price of the product.Pos/Product/CreateBasketItem
Creates a basket item.
-
Pos/Product/SellProductItem
Initiates the sale of the product item.Pos/Product/HandleProductOptionSetsHook
Manages and offers any selectable options the product might have.Pos/Basket/AddItemToBasketNoUpdate
Adds the finalized basket item to the transaction's basket.
Tendering
Process ID Pos/Tender/DoTender
The Tender process is tasked with handling the tendering of a transaction. This process incorporates a primary UI prompt, which awaits user selection of a tender option.
End Transaction
Process ID Pos/Transaction/EndTransaction
The concluding process in the life cycle of a transaction is End Transaction. End Transaction is responsible for finalizing a transaction, which includes:
- Updating Loyalty Points (Remote Service Call)
- Updating a customers account balance (if tendered using an account)
- Submitting the transaction for processing
- Printing/Email receipts
- Tax refund request