Skip to main content

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

POS Application Processes Flow

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

SignOn

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

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

Sell Item

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

Tender

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