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.
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 typecom.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 typecom.enactor.mfc.retail.transaction.IRetailTransactionHandler
enactor.pos.TransactionReversal
of typejava.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 typecom.enactor.core.transaction.ITransaction
- outcome:
- Success - This is the only outcome that an extension implementation should