Skip to main content

Main Application Process Extensions

Overview

This document describes the main application process extensions that are available. For an overview of the main POS application process, please see Key Application Processes page.

info

In the Enactor Eclipse Toolkit, you can find those extensions using the Resource Library. For instance, type ext:PreEndTransaction to search for the PreEndTransaction extension. You can then locate where the extension is called from. For more information on how to add an extension point implementation, see Process Extension tutorial.

StartUp

Process ID Pos/StartUp

SignOn

Process ID Pos/SignOn/WaitForSignOn

New Transaction

Process ID Pos/Transaction/NewTransaction

Sale

Process ID Pos/Sale/Sale

Handle Functions

Process ID Pos/Sale/HandleFunctions

SellItem

Process ID Pos/Product/SellItem

Process ID Pos/Product/ValidateSaleItem

Process ID Pos/Product/ProductLookUp

Process ID Pos/Product/ValidateProductSale

Process ID Pos/Product/SellKnownProduct

Process ID Pos/Product/LookupItemPrice

Process ID Pos/Product/CreateBasketItem

Process ID Pos/Product/SellProductItem

Process ID Pos/Product/HandleProductOptionSetsHook

Process ID Pos/Product/AddItemToBasketNoUpdate

Tendering

Process ID Pos/Tender/DoTender

End Transaction

Process ID Pos/Transaction/EndTransaction

The following extensions are part of the EndTransaction process, which is the last steps in a transaction and is responsible for committing (e.g. coupon redemption), submitting (the transaction to the EM), printing the receipt. The extensions can be implemented to enhance the behaviour of the POS during this final step of a retail transaction.

  • PreEndTransaction - Extension called at the start of EndTransaction
  • EndTransactionExtension - Extension called in the middle of EndTransaction (before the transaction is committed)
  • EndTransactionSuccessExtension - Extension called at the end of EndTransaction, if the process was successful

PreEndTransaction

  • extensionPointId: PreEndTransaction

  • inputs:

    • enactor.mfc.TransactionHandler of type com.enactor.mfc.retail.transaction.IRetailTransactionHandler
  • outcome:

    • Fail - If this outcome is returned, the EndTransaction process will stop and the POS will return to the Sales Screen.
    • Success - If this outcome is returned, the EndTransaction process will continue its execution.

EndTransactionExtension

This extension is called further down the line in EndTransaction process. Customer Loyalty Processes, Gift Cards and Voucher redemption will have been executed by the time this extension is called but the transaction has not yet been committed (i.e. it has not been sent to the Estate Manager) and the receipt has not been printed yet. It is still possible to abort the transaction by returning Fail as the extension outcome. Please note that what has already been executed thus far in the process will not be reversed.

  • extensionPointId: EndTransactionExtension

  • inputs:

    • enactor.mfc.TransactionHandler of type com.enactor.mfc.retail.transaction.IRetailTransactionHandler
    • enactor.pos.TransactionReversal of type java.lang.Boolean
  • outcome:

    • Fail - If this outcome is returned, the EndTransaction process will stop and the POS will return to the Sales Screen.
    • Success - If this outcome is returned, the EndTransaction process will continue its execution.

EndTransactionSuccessExtension

This extension is called when the EndTransaction process complete successfully. An implementation of this extension must only return a Success outcome.

  • extensionPointId: EndTransactionSuccessExtension
  • inputs:
    • enactor.mfc.Transaction of type com.enactor.core.transaction.ITransaction
  • outcome:
    • Success - This is the only outcome that an extension implementation should