Skip to main content

Key POS Extension Points

Overview​

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

info

In the Enactor Eclipse Toolkit, you can find extension points using the Resource Library.

StartUp​

Process ID Pos/StartUp

StartupExtension​

  • extensionPointId: StartupExtension
  • inputs
NameType
enactor.coreUI.Usercom.enactor.core.signOn.ISignedOnUser
enactor.coreUI.UserLocalecom.enactor.core.localisation.ILocale
enactor.mfc.BaseCurrencycom.enactor.mfc.currency.ICurrency
enactor.mfc.Devicecom.enactor.mfc.device.IDevice
enactor.mfc.Locationcom.enactor.mfc.location.ILocation
enactor.mfc.PosTerminalcom.enactor.mfc.posTerminal.IPOSTerminal
  • outcome
    • Fail
    • Success
    • StopExtensionLinking

SetupMainViewDevicesExtension​

  • extensionPointId: SetupMainViewDevicesExtension

  • outcome

    • Fail
    • Success
    • SkipDefault

SignOn​

Process ID Pos/SignOn/WaitForSignOn

SignedOnExtension​

  • extensionPointId: SignedOnExtension
  • inputs
NameType
enactor.coreUI.Usercom.enactor.core.signOn.ISignedOnUser
enactor.coreUI.UserLocalecom.enactor.core.localisation.ILocale
enactor.mfc.BaseCurrencycom.enactor.mfc.currency.ICurrency
enactor.mfc.Devicecom.enactor.mfc.device.IDevice
enactor.mfc.Locationcom.enactor.mfc.location.ILocation
enactor.mfc.PosTerminalcom.enactor.mfc.posTerminal.IPOSTerminal
  • outcome
    • Fail
    • Success
    • SignOff
    • StopExtensionLinking

New Transaction​

Process ID Pos/Transaction/NewTransaction

NewTransactionExtension​

  • extensionPointId: NewTransactionExtension

  • inputs

    NameType
    enactor.coreUI.AuthorisingUsercom.enactor.core.signOn.ISignedOnUser
    enactor.coreUI.Usercom.enactor.core.signOn.ISignedOnUser
    enactor.mfc.Customercom.enactor.mfc.customer.ICustomer
    enactor.mfc.CustomerGroupKeyListjava.util.List
    enactor.mfc.Devicecom.enactor.mfc.device.IDevice
    enactor.mfc.Locationcom.enactor.mfc.location.ILocation
    enactor.mfc.PosTerminalcom.enactor.mfc.posTerminal.IPOSTerminal
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.AdditionalSaleDatajava.lang.Object
    enactor.pos.NewTransactionDatacom.enactor.pos.packages.transaction.INewTransactionData
    enactor.pos.SellProductCodejava.lang.String
    enactor.pos.SellProductQuantityjava.lang.String
    enactor.pos.TransactionRecalledjava.lang.Boolean
  • outcome

    • Fail
    • Success
    • NewTransaction
    • NotInUse
    • SignOn
    • StopExtensionLinking

PreLaunchScreenExtension​

  • extensionPointId: PreLaunchScreenExtension

  • outcome

    • Fail
    • Success
    • StopExtensionLinking

PostLaunchScreenExtension​

  • extensionPointId: PostLaunchScreenExtension

  • outcome

    • Fail
    • Success
    • StopExtensionLinking

PreprocessNewTransactionExtension​

  • extensionPointId: PreprocessNewTransactionExtension

  • inputs

    NameType
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.SavedTransactionDatacom.enactor.pos.packages.transaction.INewTransactionData
  • outcome

    • Success

Sale​

Process ID Pos/Sale/Sale

PreBasketSaleExtension​

  • extensionPointId: PreBasketSaleExtension

  • inputs

    NameType
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
  • outcome

    • Fail
    • Success
    • EndTransaction
    • ExitWithEvent
    • NewTransaction
    • SignOff
    • SignOn
    • Total
    • StopExtensionLinking

SaleExtension​

  • extensionPointId: enactor.uc.SaleExtension

  • inputs

    NameType
    enactor.coreUI.CurrentEventcom.enactor.core.events.IEvent
  • outcome

    • EndTransaction
    • Tender

Handle Functions​

Process ID Pos/Sale/HandleFunctions

HandleFunctionExtension​

  • extensionPointId: HandleFunctionExtension

  • inputs

    NameType
    enactor.coreUI.CurrentEventcom.enactor.core.events.IEvent
    enactor.coreUI.SelectedItemjava.lang.Object
  • outcome

    • Fail
    • Success
    • BackToSale
    • CRM_POS
    • Cancel
    • ForceNewTransaction
    • HeaderTerminalCashManagementPressed
    • LaunchMenuPressed
    • MenuBack
    • RichProductSearch
    • SalePressed
    • SuccessfulExecution
    • Total
    • Unknown
    • StopExtensionLinking

SellItem​

Process ID Pos/Product/SellItem

CallPostSellItemExtension​

  • extensionPointId: PostSellItemExtension

  • inputs

    NameType
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.mfc.SalesItemcom.enactor.mfc.basket.items.ISalesItem
  • outcome:

    • Fail
    • Success
    • StopExtensionLinking

PreSellItemExtension​

  • extensionPointId: PreSellItemExtension

  • inputs

    NameType
    enactor.coreUI.CurrentEventcom.enactor.core.events.IEvent
    enactor.mfc.ProductCodejava.lang.String
    enactor.pos.ExternalDataMapjava.util.Map
    enactor.pos.ProductCodeScannedjava.lang.String
  • outcome

    • Fail
    • Success
    • Cancel
    • SkipDefault
    • StopExtensionLinking

PreSellKnownProductExtension​

  • extensionPointId: PreSellKnownProductExtension

  • inputs

    NameType
    enactor.mfc.Basketcom.enactor.mfc.basket.IBasket
    enactor.mfc.ProductIdjava.lang.String
    enactor.mfc.Quantityjava.lang.Double
  • outcome

    • Fail
    • Success
    • AddToOrder
    • Skip
    • SkipDefault
    • TakeNow
    • StopExtensionLinking

Process ID Pos/Product/ValidateSaleItem

CheckUpdateExistingItemOrSellNew​

  • extensionPointId: UpdateExistingItem

  • inputs

    NameType
    enactor.mfc.ProductIdjava.lang.String
  • outcome

    • Success
    • UpdateExistingItem

SetEmbeddedQuantityExtension​

  • extensionPointId: SetEmbeddedQuantityExtension

  • inputs

    NameType
    enactor.mfc.FieldValidatorDefinitionIdjava.lang.String
    enactor.mfc.InputCodejava.lang.String
    enactor.mfc.ParsedDatajava.lang.Object
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.mfc.ProductCodejava.lang.String
    enactor.pos.EmbeddedPricejava.lang.Long
    enactor.pos.EmbeddedQuantityjava.lang.Double
  • outcome

    • Success

Process ID Pos/Product/ValidateProductSale

AgeRestrictedSaleRefused​

  • extensionPointId: AgeRestrictedSaleRefusedExtension

  • inputs

    NameType
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.NonInteractivejava.lang.Boolean
  • outcome

    • Fail
    • Success
    • Cancel
    • StopExtensionLinking

CallCustomerAgeCheck​

  • extensionPointId: CustomerAgeCheckExtension
  • inputs
NameType
enactor.mfc.Productcom.enactor.mfc.product.IProduct
enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
enactor.pos.NonInteractivejava.lang.Boolean
enactor.pos.SelfServiceModejava.lang.Boolean
  • outcome
    • Fail
    • Success
    • Cancel
    • StopExtensionLinking

ValidatePosOperation​

  • extensionPointId: ValidatePosOperationsExtension

  • inputs

    NameType
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.Operationjava.lang.String
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

CallPostValidateProductExtension​

  • extensionPointId: PostValidateProductExtension

  • inputs

    NameType
    enactor.mfc.Locationcom.enactor.mfc.location.ILocation
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.mfc.RelatedPartyIdjava.lang.String
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

Process ID Pos/Product/SellKnownProduct

SellKnownProductAdditionalDataExtension​

  • extensionPointId: SellKnownProductAdditionalDataExtension

  • inputs

    NameType
    enactor.inventoryManagement.OnlineStockAvailabilityCheckResultjava.lang.Integer
    enactor.mfc.SalesItemcom.enactor.mfc.basket.items.ISalesItem
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.SavedAuthorisingUsercom.enactor.core.signOn.ISignedOnUser
  • outcome

    • Fail
    • Success

GetItemQuantityExtension​

  • extensionPointId: GetItemQuantityExtension

  • inputs

    NameType
    enactor.coreUI.UserLocalecom.enactor.core.localisation.ILocale
    enactor.mfc.Devicecom.enactor.mfc.device.IDevice
    enactor.mfc.InputCodejava.lang.String
    enactor.mfc.Locationcom.enactor.mfc.location.ILocation
    enactor.mfc.PosTerminalcom.enactor.mfc.posTerminal.IPOSTerminal
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.EmbeddedPricejava.lang.Long
    enactor.pos.EmbeddedQuantityjava.lang.Double
    enactor.pos.ForOrderjava.lang.Boolean
    enactor.pos.IsReturnjava.lang.Boolean
    enactor.pos.IsSerialNumberedProductjava.lang.Boolean
    enactor.pos.Quantityjava.lang.Double
  • outcome

    • Success
    • Cancel
    • NotEnoughStock
    • QuantityCaptured
    • ZeroStock

Process ID Pos/Product/CreateBasketItem

PreCreateBasketItemExtension​

  • extensionPointId: PreCreateBasketItem

  • inputs

    NameType
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.pos.BasketItemEntityNamejava.lang.String
    enactor.pos.BasketItemEntityNamespacejava.lang.String
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

PostCreateBasketItemExtension​

  • extensionPointId: PostCreateBasketItem

  • inputs

    NameType
    enactor.mfc.SalesItemcom.enactor.mfc.basket.items.ISalesItem
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

Process ID Pos/Product/SellProductItem

SetExternalDataOnSalesItem​

  • extensionPointId: SetExternalDataOnSalesItem

  • inputs

    NameType
    enactor.mfc.SalesItemcom.enactor.mfc.basket.items.ISalesItem
    enactor.pos.ExternalDataMapjava.util.Map
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

Process ID Pos/Product/HandleProductOptionSetsHook

HandleProductOptionSets​

  • extensionPointId: HandleProductOptionSetsExtension

  • inputs

    NameType
    enactor.coreUI.Usercom.enactor.core.signOn.ISignedOnUser
    enactor.coreUI.UserLocalecom.enactor.core.localisation.ILocale
    enactor.mfc.Devicecom.enactor.mfc.device.IDevice
    enactor.mfc.PriceTypejava.lang.String
    enactor.mfc.Productcom.enactor.mfc.product.IProduct
    enactor.mfc.SalesItemcom.enactor.mfc.basket.items.ISalesItem
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.ExternalDataMapjava.util.Map
    enactor.pos.SalesItemWithOptionscom.enactor.mfc.basket.items.SalesItemWithOptions
  • outcome

    • Fail
    • Success
    • Cancel
    • StopExtensionLinking

Process ID Pos/Product/AddItemToBasketNoUpdate

AddItemToBasketNoUpdateExtension​

  • extensionPointId: AddItemToBasketNoUpdateExtension

  • inputs

    NameType
    enactor.coreUI.Usercom.enactor.core.signOn.ISignedOnUser
    enactor.mfc.BasketItemcom.enactor.mfc.basket.items.IBasketItem
    enactor.mfc.Locationcom.enactor.mfc.location.ILocation
    enactor.mfc.PosTerminalcom.enactor.mfc.posTerminal.IPOSTerminal
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.mfc.TransactionItemProcessorcom.enactor.core.transaction.ITransactionItemProcessor
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

Tendering​

Process ID Pos/Tender/DoTender

Call PreLoadRefundMenuExtension​

  • extensionPointId: preLoadRefundMenuExtension

  • inputs:

    NameType
    enactor.mfc.RetailTransactioncom.enactor.mfc.retail.transaction.IRetailTransaction
  • outcome

    • Fail
    • Success
    • SkipDefault

HandlePostTenderSelection​

  • extensionPointId: HandlePostTenderSelection

  • inputs

    NameType
    enactor.coreUI.CurrentEventcom.enactor.core.events.IEvent
    enactor.mfc.TenderIdjava.lang.String
    enactor.mfc.VoucherTypeIdjava.lang.String
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

PostTenderCompleteExtension​

  • extensionPointId: PostTenderCompleteExtension

  • inputs:

    NameType
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
  • outcome

    • Fail
    • Success

PostTenderExtension​

  • extensionPointId: PostTenderExtension

  • outcome:

    • Success
    • SkipDefault

PreTender​

  • extensionPointId: PreTenderExtension

  • inputs

    NameType
    PrimaryPrintercom.enactor.coreUI.peripherals.printer.IPrinter
    enactor.coreUI.AuthorisingUsercom.enactor.core.signOn.ISignedOnUser
    enactor.coreUI.Usercom.enactor.core.signOn.ISignedOnUser
    enactor.coreUI.UserLocalecom.enactor.core.localisation.ILocale
    enactor.mfc.Basketcom.enactor.mfc.basket.IBasket
    enactor.mfc.Devicecom.enactor.mfc.device.IDevice
    enactor.mfc.Locationcom.enactor.mfc.location.ILocation
    enactor.mfc.PosTerminalcom.enactor.mfc.posTerminal.POSTerminal
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
    enactor.pos.PassedInCardTrack2java.lang.String
  • outcome

    • Fail
    • Success
    • Cancel
    • ForceEndTransaction
    • NewTransaction
    • ReturnToSales
    • SignOn
    • StopExtensionLinking

TestBasketBalanceExtension​

  • extensionPointId: TestBasketBalanceExtension

  • inputs

    NameType
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandler
  • outcome

    • Success
    • BasketEmpty
    • RefundRequired
    • TenderRequired

End Transaction​

Process ID Pos/Transaction/EndTransaction

PreEndTransaction​

  • extensionPointId: PreEndTransaction

  • outcome

    • Fail
    • Success
    • StopExtensionLinking

EndTransactionExtension​

  • extensionPointId: EndTransactionExtension

  • inputs:

    NameType
    enactor.mfc.TransactionHandlercom.enactor.mfc.retail.transaction.IRetailTransactionHandlerr
    enactor.pos.TransactionReversaljava.lang.Boolean
    enactor.pos.TransactionVoidedjava.lang.Boolean
  • outcome

    • Fail
    • Success
    • StopExtensionLinking

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:

    NameType
    enactor.coreUI.Usercom.enactor.core.signOn.ISignedOnUser
    enactor.mfc.Basketjcom.enactor.mfc.basket.IBasket
    enactor.mfc.Locationcom.enactor.mfc.location.ILocation
    enactor.mfc.PosTerminalcom.enactor.mfc.posTerminal.POSTerminal
    enactor.mfc.Transactioncom.enactor.core.transaction.ITransaction
    enactor.pos.TransactionReversaljava.lang.Boolean
    enactor.pos.TransactionVoidedjava.lang.Boolean
  • outcome:

    • Success
    • ExitWithEvent
    • StopExtensionLinking