Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <statefile>
- <event name="Keyboard.F61" ppi="HelpPPI"/>
- <event name="Keyboard.help" ppi="HelpPPI"/>
- <event name="Keyboard.web" callSubstate="Web.state" substateNext="0"/>
- <event name="Keyboard.F2" ppi="PriceEnquirePPI" next=",@priceEnquire"/>
- <event name="Keyboard.priceEnquire" ppi="PriceEnquirePPI" next=",@priceEnquire"/>
- <event name="@priceEnquire" callSubstate="priceEnquire.state" substateNext="0,@priceEnquireCancel,@priceEnquireSold"/>
- <event name="@priceEnquireCancel"/>
- <event name="@priceEnquireSold"/>
- <event name="Keyboard.F40" callSubstate="DisplayPage.state" substateNext="0"/>
- <event name="Mail.UpdateClient" ppi="TillUpdateClientPPI" next=",@updateAppData"/>
- <event name="@updateAppData" ppi="PosAppInit" next="@updateAppData2,@updateAppData2"/>
- <event name="@updateAppData2" ppi="EvaluateSCOTenderOptions"/>
- <event name="remoteInterventionLogon" next="logon"/>
- <event name="remoteInterventionLogonInit" next="logonInit"/>
- <event name="remoteInterventionLogonCDO" next="logonCDO"/>
- <event name="Keyboard.NTEP" ppi="showNTEP"/>
- <!-- Web browser toggle control -->
- <event name="Keyboard.browserToggle" ppi="SetDialogDisposed" next=",@callBrowser"/>
- <event name="@callBrowser" callSubstate="browser.state" next="@setDialogNotDisposedExternalOrder"/>
- <event name="Keyboard.popupKeyboardLogin" ppi="ToggleKeyboardLogin"/>
- <event name="Keyboard.popupKeyboard" ppi="ToggleKeyboard"/>
- <event name="Keyboard.popupNumberPad" ppi="ToggleNumericKeyboard"/>
- <event name="Keyboard.popupKeyboardLogin" ppi="ToggleKeyboardLogin"/>
- <event name="Keyboard.popupKeyboard" ppi="ToggleKeyboard"/>
- <event name="Keyboard.popupNumberPad" ppi="ToggleNumericKeyboard"/>
- <event name="Keyboard.popupKeyboardLogin" ppi="ToggleKeyboardLogin"/>
- <event name="Keyboard.popupKeyboard" ppi="ToggleKeyboard"/>
- <event name="Keyboard.popupNumberPad" ppi="ToggleNumericKeyboard"/>
- <event name="Keyboard.externalOrderButton" permission="CheckOperatorLoggedOn" permissionFail="@callExternalOrderPickBrowser" ppi="SetDialogDisposed" next=",@callExternalOrderPickBrowser"/>
- <event name="@callExternalOrderPickBrowser" callSubstate="externalOrderPickBrowser.state" next="@setDialogNotDisposedExternalOrder,@setDialogNotDisposedExternalOrder"/>
- <event name="@setDialogNotDisposedExternalOrder" ppi="SetDialogNotDisposed"/>
- <state name="startSaleEx">
- <event name="Init" ppi="CheckPersonalityTypeSelfCheckout" next="startSaleExRetail,startSaleExSelfCheckout,startSaleExRetail"/>
- <event name="@resetSLEJ" ppi="ResetSLEJ" next="@checkCashDrawerClosed,@checkCashDrawerClosed"/>
- <event name="@checkCashDrawerClosed" ppi="CheckCashDrawerClosed" next="@preloadAccessPoints,@preloadAccessPoints"/>
- <event name="@preloadAccessPoints" ppi="PreloadAccessPoints" next="logonInitialisations,logonInitialisations"/>
- </state>
- <state name="startSaleExRetail" page="screenLayout.phtm,customerDisplayLoggedOn.phtm" frame="centreFrame,vgacd" like="startSaleEx">
- <event name="Init" next="@resetSLEJ"/>
- </state>
- <state name="startSaleExSelfCheckout" page="startScreenLayout.phtm,customerDisplayLoggedOn.phtm" frame="centreFrame,vgacd" like="startSaleEx">
- <event name="Init" next="@resetSLEJ"/>
- </state>
- <include file="change.state"/>
- <state name="baseChange" prompt="GiveChange" picture="%0s">
- <!-- NOTE: ProcessEpasTenders and ClearFuelTransactions are mutually exclusive, you should not do paypal refunds on Fuel transactions-->
- <event name="Init" ppi="CloseKeyboard" next=",@sendTransLineExternalCallBeforeEOT"/>
- <event name="@sendTransLineExternalCallBeforeEOT" permission="AutoVoidTransactionPPI" permissionFail="@processEpasTenders" callSubstate="sendTransLineExternal.substate" substateNext="@tenderNameAddress,@autoVoidTendersLines"/>
- <event name="@autoVoidTendersLines" ppi="AutoVoidTenderLines" next="@autoVoidTransactionWithReasonCode,@autoVoidTransactionWithReasonCode"/>
- <event name="@autoVoidTransactionWithReasonCode" ppi="AutoVoidTransactionWithReasonCode" next="@clearRefundAppData,@clearRefundAppData,@clearRefundAppData"/>
- <event name="@clearRefundAppData" ppi="ClearRefundAppData" next="startSale,startSale"/>
- <event name="@processEpasTenders" permission="ProcessEpasTenders" permissionFail="@clearFuelTransactions" ppi="ProcessEpasTenders" next="@processFailedEpasTenders,@clearFuelTransactions"/>
- <event name="@processFailedEpasTenders" ppi="FailedEpasTenders" next="tender,tender"/>
- <event name="@clearFuelTransactions" permission="ClearFuelTransactions" permissionFail="@eftConfirm" ppi="ClearFuelTransactions" next="voidAllTenders,@eftConfirm"/>
- <event name="@eftConfirm" callSubstate="eftconfirm.state" substateNext="@validateMoneyLaunderingIfEnabled"/>
- <event name="@validateMoneyLaunderingIfEnabled" ppi="ValidateMoneyLaundering" next="@sendGiftCardAuthorisation,@sendGiftCardAuthorisation" />
- <!-- if CHM is not enabled just pass to our 3rd party handlers; otherwise flow through CHM then do 3rd party handlers. -->
- <event name="@sendGiftCardAuthorisation" next="@sendTransLineExternal" />
- <event name="@tenderNameAddress" ppi="TenderNameAddress" next="@cashDrawerEarly,@nameAddressMessage"/>
- <event name="@cashDrawerEarly" ppi="CashDrawerOpen" next="@etopupEOTCDO,@etopupEOTCDO,@etopupEOT,@showCashDrawerItemMessages"/>
- <event name="@showCashDrawerItemMessages" ppi="ShowCashDrawerItemMessages" next="@etopupEOTCDO,@etopupEOTCDO"/>
- <event name="@etopupEOTCDO" ppi="ETopUpAuthorise" next="@displayPurchaseFailuresCDO,@displayPurchaseFailuresCDO"/>
- <event name="@displayPurchaseFailuresCDO" ppi="ShowPurchaseFailures" next="@customerPrintPromptCDO,@customerPrintPromptCDO"/>
- <event name="@customerPrintPromptCDO" ppi="CustomerPrintPrompt" next="@EOTCDO,@EOTCDO"/>
- <event name="@EOTCDO" ppi="EOT" next="@promptCashbackCDO,@promptCashbackCDO"/>
- <event name="@promptCashbackCDO" permission="PromptCashback" permissionFail="@storeCopyReceiptCDO" ppi="PromptCashback" next="@storeCopyReceiptCDO,@storeCopyReceiptCDO"/>
- <event name="@storeCopyReceiptCDO" ppi="StoreCopyReceipt" next="@oldTransCDO,@oldTransCDO"/>
- <event name="@oldTransCDO" ppi="OldTrans" next="@checkForCombinedEftPrintFailuresCDO,@checkForCombinedEftPrintFailuresCDO"/>
- <event name="@checkForCombinedEftPrintFailuresCDO" ppi="CheckForCombinedEftPrintFailures" next="@sendCustomerAccountPaymentConfirmationMessageCDO,@sendCustomerAccountPaymentConfirmationMessageCDO"/>
- <event name ="@sendCustomerAccountPaymentConfirmationMessageCDO" ppi="SendPaymentConfirmationMessage" next="@cashdrawer,@paymentConfirmationOfflineCDO,@cashdrawer,@paymentConfirmationNotRequiredCDO" />
- <event name ="@paymentConfirmationNotRequiredCDO" ppi="CheckDefaultCustomerAccountSelection" next="@cashdrawer,@cashdrawer" />
- <event name ="@paymentConfirmationOfflineCDO" ppi="PaymentConfirmationOfflineMessage" next="@cashdrawer,@cashdrawer" />
- <event name="@cashdrawer" next="cashdrawer"/>
- <event name="@etopupEOT" ppi="ETopUpAuthorise" next="@displayPurchaseFailures,@displayPurchaseFailures"/>
- <event name="@displayPurchaseFailures" ppi="ShowPurchaseFailures" next="@customerPrintPrompt,@customerPrintPrompt"/>
- <event name="@customerPrintPrompt" ppi="CustomerPrintPrompt" next="@selfCheckoutEOT,@selfCheckoutEOT"/>
- <event name="@selfCheckoutEOT" ppi="CheckPersonalityTypeSelfCheckout" next="@EOT,@transactionCompleteAudioClip,@EOT"/>
- <event name="@transactionCompleteAudioClip" ppi="transactionCompleteAudioClip" next="@EOT,@EOT"/>
- <event name="@EOT" ppi="EOT" next="@promptCashback,@promptCashback"/>
- <event name="@promptCashback" permission="PromptCashback" permissionFail="@storeCopyReceipt" ppi="PromptCashback" next="@storeCopyReceipt,@storeCopyReceipt"/>
- <event name="@storeCopyReceipt" ppi="StoreCopyReceipt" next="@oldTrans,@oldTrans"/>
- <event name="@oldTrans" ppi="OldTrans" next="@checkForCombinedEftPrintFailures,@checkForCombinedEftPrintFailures"/>
- <event name="@checkForCombinedEftPrintFailures" ppi="CheckForCombinedEftPrintFailures" next="@checkTillPickup,@checkTillPickup"/>
- <event name="@checkTillPickup" permission="CheckTillPickup" permissionFail="@sendCustomerAccountPaymentConfirmationMessage" ppi="CheckTillPickup" next="@sendCustomerAccountPaymentConfirmationMessage,@sendCustomerAccountPaymentConfirmationMessage"/>
- <event name ="@sendCustomerAccountPaymentConfirmationMessage" ppi="SendPaymentConfirmationMessage" next="eot,@paymentConfirmationOffline,eot,@paymentConfirmationNotRequired" />
- <event name ="@paymentConfirmationNotRequired" ppi="CheckDefaultCustomerAccountSelection" next="eot,eot" />
- <event name ="@paymentConfirmationOffline" ppi="PaymentConfirmationOfflineMessage" next="eot,eot" />
- <event name="EJ"/>
- <event name="CustEJ"/>
- <event name="SIPSEJ"/>
- <event name="Exit" ppi="CashDrawerDelayTimer"/>
- <event name="@sendTransLineExternal" callSubstate="sendTransLineExternal.substate" substateNext="@eftSessionEnd,@eftSessionEnd"/>
- <event name="@eftSessionEnd" callSubstate="eftSessionEnd.state" substateNext="@tenderNameAddress,@tenderNameAddress" />
- <event name="@nameAddressMessage" permission="NameAddressMessage" permissionFail="@captureNameAddressAutoLogoffStop" next="@cashDrawerEarly"/>
- <event name="@captureNameAddressAutoLogoffStop" ppi="DeactivateAutoLogoff" next="@cashDrawerEarly,@captureNameAddress"/>
- <event name="@captureNameAddress" callSubstate="CustomerCaptureChoice.state" substateNext="0,@autoLogoffStart,@autoLogoffStart"/>
- <event name="@autoLogoffStart" ppi="ActivateAutoLogoff" next="@cashDrawerEarly,@cashDrawerEarly"/>
- <data name="priceEnquire" value="10"/>
- <data name="escKey" value="0"/>
- <data name="manager" value="0"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- <data name="EJ" value="10"/>
- <data name="CustEJ" value="10"/>
- <data name="SIPSEJ" value="10"/>
- <data name="Enter" value="10"/>
- </state>
- <state name="voidAllTenders">
- <event name="Init" ppi="DisplayInitialCard"/>
- <event name="Keyboard.voidSelectedTender" permission="VoidSelectedTender" ppi="VoidSelectedTender" next=",@checkBalance"/>
- <event name="@checkBalance" ppi="CheckTenders" next=",sale"/>
- <data name="voidSelectedTender" calculate="VoidSelectedTender"/>
- <data name="voidTender" calculate="VoidSelectedTender"/>
- </state>
- <state name="changeTODO" prompt="GiveChange" picture="%0s">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="CashDrawerOpen" next="@EOT,@EOT,@EOTStartSale"/>
- <event name="@EOT" ppi="EOT" next="@OldTrans,@OldTrans"/>
- <event name="@OldTrans" ppi="OldTrans" next="cashdrawer,cashdrawer"/>
- <event name="@EOTStartSale" ppi="EOT" next="@OldTransStartSale,@OldTransStartSale"/>
- <event name="@OldTransStartSale" ppi="OldTrans" next="startSale,startSale"/>
- <event name="EJ"/>
- <event name="SIPSEJ"/>
- <event name="CustEJ"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="0"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- <data name="EJ" value="10"/>
- <data name="SIPSEJ" value="10"/>
- <data name="CustEJ" value="10"/>
- <event name="@continue" next="@init"/>
- </state>
- <include file="managerMenu.state"/>
- <state name="baseManagerMenu" prompt="ManagerMenu" picture="%0s" page="manager.phtm" frame="rightFrame">
- <event name="Init" ppi="ManagerInit" next="startSale,@initCashOffice"/>
- <event name="@initCashOffice" callSubstate="InitCashOffice.state" subStateNext="0,"/>
- <event name="Network" ppi="NetworkError"/>
- <event name="Keyboard.Esc" ppi="RemoveAuthority" next=",startSale"/>
- <event name="Keyboard.F1" ppi="RemoveAuthority" next=",startSale"/>
- <event name="Keyboard.removeAuthority" ppi="RemoveAuthority" next=",startSale"/>
- <event name="Keyboard.F3" permission="ManagerAuthNoSale,NoSale" next="noSale,noSale"/>
- <event name="Keyboard.noSale" permission="ManagerAuthNoSale,NoSale" next="noSale,noSale"/>
- <event name="Keyboard.F6" ppi="GoToCTMManager" next=",@printCTMReport"/>
- <event name="Keyboard.gotoCTMManager" ppi="GoToCTMManager" next=",@printCTMReport"/>
- <event name="@printCTMReport" ppi="PrintCTMReport"/>
- <data name="gotoCTMManager" calculate="SelfCheckoutCTMExistsChecker"/>
- <event name="Keyboard.F5" next="mediaexchange"/>
- <!--event name="Keyboard.F6" next="pettycashin"-->
- <!--event name="Keyboard.F7" next="pettycashout"-->
- <event name="Keyboard.F8" callSubstate="displayREMMessages.state" substatenext=",@logoffTraining"/>
- <event name="@logoffTraining" ppi="TrainingMode" permission="ManagerAuthTrainingMode,TrainingMode" next=",@logoff"/>
- <event name="Keyboard.trainingMode" callSubstate="displayREMMessages.state" substatenext=",@logoffRemoveAuthTraining"/>
- <event name="@logoffRemoveAuthTraining" ppi="TrainingMode" permission="ManagerAuthTrainingMode,TrainingMode" next=",@logoffRemoveAuth"/>
- <event name="Keyboard.F10" permission="ManagerAuthXRead" ppi="DeactivateAutoLogoff" next=",@chooseXRead"/>
- <event name="Keyboard.Xread" permission="ManagerAuthXRead" ppi="DeactivateAutoLogoff" next=",@chooseXRead"/>
- <event name="@chooseXRead" callSubstate="chooseXRead.state" substateNext="0,@autoLogoffStart,@autoLogoffStart"/>
- <event name="Keyboard.F12" ppi="RemoveAuthority" next=",@rekey"/>
- <event name="@rekey" ppi="RekeyMode" permission="RekeyMode" next="startSale,startSale"/>
- <event name="Keyboard.F30" permission="ManagerAuthZRead" ppi="DeactivateAutoLogoff" next=",@chooseZRead"/>
- <event name="Keyboard.Zread" callSubstate="displayREMMessages.state" substatenext=",@authZRead"/>
- <event name="@authZRead" permission="ManagerAuthZRead" ppi="DeactivateAutoLogoff" next=",@chooseZRead"/>
- <event name="@chooseZRead" callSubstate="chooseZRead.state" substateNext="0,@logoffRemoveAuth,@logoffRemoveAuth"/>
- <event name="Keyboard.endSession" callSubstate="displayREMMessages.state" substatenext=",@endSessionTransaction"/>
- <event name="@endSessionTransaction" ppi="InitiateNewTransaction" next=",@endSession"/>
- <event name="@endSession" permission="ManagerAuthEndSession" ppi="EndSession" next=",@clearFloatInAppData,@clearFloatInAppData"/>
- <event name="@clearFloatInAppData" ppi="ClearFloatInAppData" next="@clearSpotCheckData,@clearSpotCheckData"/>
- <event name="@clearSpotCheckData" ppi="ClearSpotCheckData" next="@CashDrawerForceOpen,@CashDrawerForceOpen"/>
- <event name="@CashDrawerForceOpen" ppi="CashDrawerForceOpen" next="@logoffRemoveAuth,@logoffRemoveAuth,@logoffRemoveAuth"/>
- <event name="Keyboard.pettyCashIn" permission="PettyCashIn" callSubstate="pettyCashIn.state" substateNext="0"/>
- <event name="Keyboard.pettyCashOut" permission="PettyCashOut" callSubstate="pettyCashOut.state" substateNext="0"/>
- <!--event name="Keyboard.mediaExchange" next="mediaexchange"-->
- <event name="Keyboard.postVoid" ppi="PostVoid" permission="ManagerAuthPostVoid,PostVoid" next="startSale,startSale,startSale"/>
- <event name="Keyboard.unknownItem" permission="ManagerAuthUnknownItem" next="addItemUnknown" />
- <event name="Keyboard.showItemUnknown" ppi="ShowItemUnknown"/>
- <!-- No Password Logon -->
- <event name="Keyboard.noPasswordLogon" permission="ManagerAuthNoPasswordLogon" callSubstate="noPasswordLogon.state" substateNext="0,,,@logoffRemoveAuth"/>
- <!-- logoff cascade switches the autologoff timer off -->
- <event name="@logoffRemoveAuth" ppi="RemoveAuthority" next="@logoff,@logoff"/>
- <event name="@logoff" callSubstate="operatorLogoff.state" substateNext="@eftSessionEnd,@eftSessionEnd"/>
- <event name="@eftSessionEnd" callSubstate="eftSessionEnd.state" substateNext="logon,logon"/>
- <event name="Keyboard.forceChangePassword" permission="ManagerAuthForcePwdChange" next="@pwdChangeRemoveAuth"/>
- <event name="@pwdChangeRemoveAuth" ppi="RemoveAuthority" next="@keyboardForceChangePassword,@keyboardForceChangePassword"/>
- <event name="@keyboardForceChangePassword" permission="IsServerAliveNoMessage" permissionFail="@forceChangePasswordOfflineMessage" next="@logoffOff"/>
- <event name="@forceChangePasswordOfflineMessage" ppi="ForceChangePasswordOfflineMessage" next="startSale"/>
- <event name="@logoffOff" ppi="DeactivateAutoLogoff" next="@OperatorCheckValid,@OperatorCheckValid"/>
- <event name="Keyboard.seqrPosRegistration" callSubstate="seqrPosRegister.state" substatenext="0"/>
- <event name="Keyboard.seqrPosDeRegistration" ppi="SeqrUnregisterTerminal"/>
- <event name="@OperatorCheckValid" ppi="OperatorCheckValid" next="@quitForceChange,@forceChangePasswordForm"/>
- <event name="@quitForceChange" ppi="ActivateAutoLogoff"/>
- <event name="@forceChangePasswordForm" callSubstate="forceChangePassword.state" substateNext="0,@forceChangePassword,@changePassword,@logoffOn"/>
- <event name="@forceChangePassword" ppi="OperatorForceChangePassword" next="@forceChangePasswordFailureFinalise,@forceChangePasswordSuccessFinalise"/>
- <event name="@changePassword" ppi="NoPasswordRequiredPPI" next="@quitForceChange,@changePasswordState"/>
- <event name="@changePasswordState" callSubState="changePassword.state" substateNext="0,,@changePasswordFailure,@forceChangePassword,@logoffOn"/>
- <event name="@changePasswordFailure" ppi="forceChangePasswordFailureMessage" next="@logoffOn"/>
- <!--event name="@forceChangePasswordSuccessFinalise" ppi="ChangePasswordFinalise" next="@quitForceChange,@forceChangePasswordSuccess"-->
- <event name="@forceChangePasswordSuccessFinalise" ppi="ChangePasswordFinalise" next="@quitForceChange,@auditForceChangePassword"/>
- <event name="@auditForceChangePassword" ppi="AuditForceChangePassword" next="@quitForceChange,@forceChangePasswordSuccess"/>
- <event name="@forceChangePasswordSuccess" ppi="forceChangePasswordSuccessMessage" next="@logoffOn,@logoffOn"/>
- <event name="@forceChangePasswordFailureFinalise" ppi="ChangePasswordFinalise" next="@quitForceChange,@forceChangePasswordFailure"/>
- <event name="@forceChangePasswordFailure" ppi="forceChangePasswordFailureMessage" next="@logoffOn,@logoffOn"/>
- <event name="@logoffOn" ppi="ActivateAutoLogoff" next="startSale,startSale"/>
- <event name="@resetSaleState" permission="CheckNoTransNoWarning" next="startSale"/>
- <!-- Restart and shutdown commands -->
- <event name="@restartLogoff" ppi="OperatorLogoff" next="601,601"/>
- <event name="Keyboard.restart" permission="OperatorLogoff,RestartPOSPermission" ppi="RemoveAuthority" next="@restartLogoff,@restartLogoff"/>
- <event name="@shutdownLogoff" ppi="OperatorLogoff" next="701,701"/>
- <event name="Keyboard.shutdown" permission="CheckNoTrans,OperatorLogoff" ppi="RemoveAuthority" next="@shutdownLogoff,@shutdownLogoff"/>
- <!--event name="Keyboard.addFloat" callSubstate="floatEntry.state"/-->
- <event name="Keyboard.addFloat" permission="ManagerAuthFloat" ppi="DeactivateAutoLogoff" next=",@addFloat"/>
- <event name="@addFloat" callSubstate="addFloat.state" substateNext="@autoLogoffStart,@autoLogoffStart"/>
- <event name="Keyboard.pickup" permission="ManagerAuthPickup" ppi="DeactivateAutoLogoff" next=",@pickup"/>
- <event name="@pickup" callSubstate="pickup.state" substateNext="@autoLogoffStart,@autoLogoffStart"/>
- <event name="@autoLogoffStart" ppi="ActivateAutoLogoff"/>
- <event name="Keyboard.blindSpotCheck" permission="ManagerAuthBlindSpotCheck" ppi="DeactivateAutoLogoff" next=",@tillSpotCheck"/>
- <!--event name="@tillSpotCheck" callSubstate="tillSpotCheck.state" substateNext="@autoLogoffStart,@autoLogoffStart"/-->
- <event name="@tillSpotCheck" ppi="DeactivateAutoLogoff" next="@tillSpotCheckNext,@tillSpotCheckNext"/>
- <event name="@tillSpotCheckNext" callSubstate="tillSpotCheck.state" substateNext="@reactivateAutoLogoff,@reactivateAutoLogoff"/>
- <event name="@reactivateAutoLogoff" ppi="ReactivateAutoLogoff" next="@autoLogoffStart,@autoLogoffStart"/>
- <event name="Keyboard.cashSummary" ppi="CashSummarySetSession" next=",@cashSummary"/>
- <event name="@cashSummary" ppi="CashSummaryReportPPI" next=",@print"/>
- <event name="@print" ppi="Print"/>
- <event name="Keyboard.spotCheck" permission="ManagerAuthSpotCheck" callSubstate="spotCheck.state" substateNext=","/>
- <!--event name="Keyboard.payingAccount" callSubstate="payingAccount.state"/>
- <event name="Keyboard.F42" callSubstate="payingAccount.state"/-->
- <event name="Keyboard.F42" next="accountPayIn"/>
- <event name="Keyboard.goodwillCash" permission="GoodwillPopup" ppi="GoodwillCash" next="sale,@total,sale"/>
- <event name="@total" ppi="Total" next="@cancelGoodwill,@cashTender,change,@cashTender,@noLinesToTender"/>
- <event name="@noLinesToTender" ppi="DisplayMessageBoxNoLinesToTender"/>
- <event name="@cashTender" permission="CashTender" ppi="CashTender" next="@cancelGoodwill,@cancelGoodwill,change"/>
- <event name="@cancelGoodwill" ppi="VoidTransactionNoPrompt" next="startSale,startSale"/>NoSaleInteraction
- <event name="Keyboard.giftCardBalanceAdjustment" next="baseGiftCardBalanceAdjustment"/>
- <event name="Keyboard.checksumSpotCheck" ppi="ChecksumSpotCheck"/>
- <!-- This simply records an information line and completes the transaction, there is no Total or Checkout involved -->
- <event name="Keyboard.postOfficePayout" permission="PostOfficePayout" ppi="PostOfficePayout" next="startSale,change"/>
- <data name="postOfficePayout" calculate="CheckNoTrans"/>
- <event name="@giftCardTotal" ppi="RemoveAuthority" next="@goToTotal,@goToTotal"/>
- <event name="@goToTotal" ppi="Total" next=",tenderSelect,change,tenderSelect,@noLinesToTender"/>
- <event name="@checkForGiftCardTransactionToVoid" permission="CheckForGiftCardTransactionToVoid" permissionFail="@clearGiftCardBalanceAdjustTenders"
- ppi="VoidTransactionNoPrompt" next="@clearGiftCardBalanceAdjustTenders,@clearGiftCardBalanceAdjustTenders" />
- <event name="@clearGiftCardBalanceAdjustTenders" ppi="StartSaleInit" next="0,managerMenu"/>
- <event name="@noLinesToTender" ppi="DisplayMessageBoxNoLinesToTender"/>
- <event name="Keyboard.advanceTradeDate" permission="ManagerAuthAdvanceTradeDate" ppi="AdvanceTradeDate" next=",@logoff"/>
- <include file="fuelManagerMenu.state" exclude="beanstore.reducedMemoryMode.fuelOff"/>
- <!-- Transaction Comments -->
- <event name="Keyboard.transactionCommentsSales" permission="TransactionCommentsSalesPermission" next="@startTransactionComments"/>
- <event name="@startTransactionComments" callSubState="TransactionComments.state"/>
- <data name="transactionCommentsSales" calculate="SaleHasItems"/>
- <!-- Stock Adjustment -->
- <event name="Keyboard.stockAdjustment" next="stockAdjustment"/>
- <data name="stockAdjustment" value="10"/>
- <data name="goodwillCash" calculate="GoodwillCash"/>
- <data name="Goodwill" value="10"/>
- <data name="noSale" calculate="CheckNoTrans"/>
- <data name="giftCardBalanceAdjustment" calculate="CheckNoTrans"/>
- <data name="pettyCashIn" value="10"/>
- <data name="pettyCashOut" value="10"/>
- <data name="postVoid" value="10"/>
- <data name="trainingMode" calculate="CheckNoTrans"/>
- <data name="Xread" value="10"/>
- <data name="Zread" value="10"/>
- <data name="endSession" value="10"/>
- <data name="forceChangePassword" calculate="CheckNoTrans"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- <data name="addItemUnknown" calculate="AddItemUnknown"/>
- <data name="removeItemUnknown" calculate="RemoveItemUnknown"/>
- <data name="showItemUnknown" calculate="ShowItemUnknown"/>
- <data name="noPasswordLogon" calculate="CheckNoTrans"/>
- <data name="unknownItem" value="10"/>
- <data name="restart" value="10"/>
- <data name="Maintenance" value="10"/>
- <data name="addFloat" calculate="CheckForTrainingMode,SidekeyModeCheck"/>
- <data name="pickup" calculate="CheckForTrainingMode,SidekeyModeCheck"/>
- <data name="blindSpotCheck" calculate="CheckForTrainingMode,SidekeyModeCheck"/>
- <data name="cashSummary" calculate="CheckForTrainingMode,SidekeyModeCheck"/>
- <data name="spotCheck" value="10"/>
- <data name="checksumSpotCheck" value="10"/>
- <data name="advanceTradeDate" calculate="CheckNoTrans,AdvanceTradeDate"/>
- <event name="Keyboard.serviceCheck" permission="ManagerAuthUnknownItem" next="@serviceCheck"/>
- <event name="@serviceCheck" ppi="DeactivateAutoLogoff" callSubstate="serviceCheck.state"/>
- <data name="serviceCheck" value="10"/>
- <data name="tab1" value="10"/>
- <data name="tab2" value="10"/>
- <data name="tab3" calculate="SidekeyModeCheck"/>
- <data name="tab4" value="10"/>
- <data name="seqrPosRegistration" calculate="SeqrButtonAccess"/>
- <data name="seqrPosDeRegistration" calculate="SeqrButtonAccess"/>
- </state>
- <state name="accountPayIn">
- <event name="Init" next="@accountCardPayment"/>
- <event name="Keyboard.accountPayIn" next="@accountCardPayment"/>
- <event name="@accountCardPayment" permission="CheckAccountPayment" callSubstate="payingAccount.state" substateNext="0,sale,sale"/>
- <data name="staffPayIn" calculate="CheckAccountPayment"/>
- <data name="escKey" value="10"/>
- </state>
- <!--state name="tenderAccountPayIn" page="left.phtm,right.phtm,saletabs.phtm" frame="leftFrame,rightFrame,toptabs"-->
- <state name="tenderAccountPayIn">
- <event name="Init" ppi="Total" next=",accountTender,change,accountTender,@noLinesToTender"/>
- <event name="@noLinesToTender" ppi="DisplayMessageBoxNoLinesToTender"/>
- <data name="staffSale" calculate="StaffSaleButtonEnabled,DisableFunctionAfterTender"/>
- </state>
- <state name="recall" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="Keyboard.Esc" next="startSale"/>
- <event name="Init" ppi="TransactionRecall" next="startSale,sale,refund"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- </state>
- <state name="customerloyaltyrefund" prompt="EnterLoyaltyCard" picture="%19x" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="MSR" ppi="CustomerLoyalty" next=",refund"/>
- <event name="Keyboard.Esc" next="refund,refund"/>
- <event name="Keyboard.Enter" ppi="CustomerLoyalty" next=",refund"/>
- <event name="Scanner" ppi="CustomerLoyalty" next=",refund"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- </state>
- <state name="serverError" prompt="ServerError" picture="%0s" page="openingPage.phtm" frame="centreFrame">
- <event name="Init" next="@waitStoreOpen"/>
- <event name="@waitStoreOpen" ppi="WaitStoreOpen"/>
- <event name="WaitStoreOpen" next="@checkStoreOpen"/>
- <event name="@checkStoreOpen" ppi="CheckStoreOpen" next="start,start,@waitStoreOpen"/>
- <event name="Keyboard.Esc" next="@openStore"/>
- <event name="Keyboard.Enter" next="@openStore"/>
- <event name="@openStore" ppi="OpenStore" next="@waitStoreOpen,@startTill"/>
- <event name="@startTill" ppi="StartTill" next="@waitStoreOpen,logonInit"/>
- <data name="escKey" value="10"/>
- </state>
- <state name="CTMGiveChange" prompt="TakeChange" picture="%0s">
- <event name="Init" ppi="takeChangeAudioClip" next=",@giveChange"/>
- <event name="@giveChange" ppi="DispenseChange" next="@checkChange,@checkChange"/>
- <event name="@checkChange" ppi="CheckDispenseLevels" next="checkTillPickup,checkTillPickup"/>
- </state>
- <state name="cashdrawer" prompt="GiveChange" picture="%0s" page="right.phtm" frame="rightFrame">
- <event name="Init" ppi="SelfCheckoutCTMChecker" next="@init,CTMGiveChange"/>
- <event name="Error.Network" next="@continue,@continue"/>
- <event name="@init" permission="CashDrawerSupport" ppi="CashDrawerSupport" next=",checkTillPickup,checkTillPickup,checkTillPickup"/>
- <event name="CashDrawer" ppi="CashDrawerSupport" next=",checkTillPickup,checkTillPickup"/>
- <!-- event name="Keyboard.Enter" next="eot" -->
- <event name="EJ"/>
- <event name="SIPSEJ"/>
- <event name="CustEJ"/>
- <event name="@continue" next="@init"/>
- <event name="CashDrawerDelayTimer" next="@showMessage"/>
- <event name="CashDrawerBeepTimer" next="@showMessage"/>
- <event name="@showMessage" sound="1" ppi="CloseCashDrawerMessage" next="@repeatDelay,@repeatDelay"/>
- <event name="@repeatDelay" sound="1" ppi="CashDrawerBeepTimer"/>
- <event name="Exit" ppi="CashDrawerTimerStop"/>
- <data name="priceEnquire" value="0"/>
- <data name="escKey" value="0"/>
- <data name="logoff" value="0"/>
- <data name="manager" value="0"/>
- <data name="total" value="0"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- <data name="EJ" value="10"/>
- <data name="SIPSEJ" value="10"/>
- <data name="CustEJ" value="10"/>
- </state>
- <state name="checkTillPickup">
- <event name="Init" permission="CheckTillPickup" permissionFail="startSale" ppi="CheckTillPickup" next="startSale,startSale"/>
- <event name="@continue" next="startSale"/>
- </state>
- <state name="startrefund" prompt="ItemNumber" picture="%13x" page="left.phtm,right.phtm" frame="leftFrame,rightFrame" like="refund">
- <event name="Init" permission="RefundInit" permissionFail="startSale" ppi="StartRefundInit" next=",refund"/>
- </state>
- <state name="start" prompt="StoreClosed" picture="%0s" page="openingPage.phtm" frame="centreFrame">
- <event name="Init" next="@init"/>
- <event name="@init" next="@resetLanguage"/>
- <event name="@resetLanguage" ppi="ResetLanguage" next="@clearReceiptAdImageFolder,@clearReceiptAdImageFolder"/>
- <event name="@clearReceiptAdImageFolder" ppi="ClearReceiptAdImageFolder" next="@posAppInit,@posAppInit"/>
- <event name="@posAppInit" ppi="PosAppInit" next="@updateAppData2,@updateAppData2,@ceaseTradingCacheUnusable"/>
- <event name="@updateAppData2" ppi="EvaluateSCOTenderOptions" next=",@transactionSigningInitialisation"/>
- <event name="@transactionSigningInitialisation" ppi="TransactionSigningInitialisation" next="@ceaseTradingSystemValidationFailed,@checkApplicationFingerprint"/>
- <event name="@checkApplicationFingerprint" ppi="CheckApplicationFingerprint" next="@ceaseTradingSystemValidationFailed,@checkStoreOpen"/>
- <event name="@ceaseTradingSystemValidationFailed" callSubstate="systemValidation.state" substateNext="0,@transactionSigningInitialisation"/>
- <event name="@ceaseTradingCacheUnusable" callSubstate="cacheUnusableCeaseTrading.state" substateNext="0,@posAppInit"/>
- <event name="@waitStoreOpen" ppi="WaitStoreOpen"/>
- <event name="WaitStoreOpen" next="@checkStoreOpen"/>
- <event name="@checkStoreOpen" ppi="CheckStoreOpen" next="@waitStoreOpen,@startTill,serverError"/>
- <event name="Keyboard.Esc"/>
- <event name="@startTill" ppi="StartTill" next="@waitStoreOpen,@cacheUtilities"/>
- <event name="@cacheUtilities" ppi="CacheUtilities" next=",@checkCacheStatus"/>
- <event name="@checkCacheStatus" ppi="CheckCacheStatus" next="@ceaseTradingNoOptions,@checkCacheVersion"/>
- <event name="@checkCacheVersion" permission="CheckCacheVersionNoTimer" permissionFail="logonInit" ppi="CheckCacheVersionNoTimer" next="@badCacheVersion,logonInit"/>
- <event name="@badCacheVersion" callSubstate="badCacheVersionPreSale.state" substateNext="0,@ceaseTrading,logonInit,@ceaseTradingNoOptions"/>
- <event name="@ceaseTrading" callSubstate="badCacheVersionCeaseTrading.state" substateNext="0,logonInit"/>
- <event name="@ceaseTradingNoOptions" callSubstate="badCacheVersionCeaseTradingNoOptions.state" substateNext="0,logonInit"/>
- <event name="Cache" ppi="CacheUtilities"/>
- <event name="@continue" next="@init"/>
- <!-- Overriden - don't call @continue -->
- <event name="Error.DeviceStartup" ppi="DeviceStartupErrorHandler" next="0,"/>
- </state>
- <state name="refund" page="left.phtm,right.phtm" frame="leftFrame,rightFrame" like="sale">
- <event name="Init" ppi="RefundInit" next="startSale,"/>
- <event name="Keyboard.F7" ppi="CancelQuantity" next="@total,@total,@total"/>
- <event name="@total" ppi="Total" next=",tenderSelect,change,tenderSelect,@noLinesToTender"/>
- <event name="@noLinesToTender" ppi="DisplayMessageBoxNoLinesToTender"/>
- <event name="Keyboard.F15" permission="CustomerLoyalty" callSubstate="customerloyaltysale.state" substateNext="0,"/>
- <event name="Keyboard.customerLoyalty" permission="CustomerLoyalty" callSubstate="customerloyaltysale.state" substateNext="0,"/>
- <event name="Keyboard.F16"/>
- <data name="priceOverride" calculate="PriceOverride"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- </state>
- <include file="accountTender.state"/>
- <include file="tender.state"/>
- <state name="tenderSelect">
- <event name="Init" next="@tenderSelectProperty"/>
- <event name="@tenderSelectProperty" ppi="TenderSelectProperty" next="tender,tenderNoDefault,customizeTender"/>
- </state>
- <state name="tenderNoDefault" prompt="SelectTenderType" picture="%e" like="tender">
- <event name="Keyboard.Enter" next="tenderNoDefault"/>
- <event name="Keyboard.cashTenderAmount" next="tenderCashSelected"/>
- <event name="@createRoundingTenderPPI" permission="ClearRoundingTenderPPI" permissionFail="@checkRecallPaycard" ppi="ClearRoundingTenderPPI" next="@checkRecallPaycard,@checkRecallPaycard"/>
- <event name="@resetRoundingTender" permission="ClearRoundingTenderPPI" ppi="ClearRoundingTenderPPI" next=""/>
- <data name="cashTenderAmount" value="10"/>
- </state>
- <state name="customizeTender" prompt="SelectTenderType" picture="%e" like="tenderNoDefault">
- <event name="Keyboard.Enter" next="customizeTender"/>
- <data name="cashTenderAmount" calculate="AvailableRefundTender"/>
- <event name="Keyboard.changeTenderType" permission="ChangeTenderType" ppi="ChangeTenderType" next=",tenderSelect"/>
- <event name="@createRoundingTenderPPI" permission="ClearRoundingTenderPPI" permissionFail="@checkRecallPaycard" ppi="ClearRoundingTenderPPI" next="@checkRecallPaycard,@checkRecallPaycard"/>
- <event name="@resetRoundingTender" permission="ClearRoundingTenderPPI" ppi="ClearRoundingTenderPPI" next=""/>
- </state>
- <state name="tenderCashSelected" like="tender">
- <event name="Keyboard.Esc" next="tenderSelect"/>
- <event name="Keyboard.cancel" next="tenderSelect"/>
- <event name="Keyboard.Enter" ppi="CashTenderNoDefault" next="tenderCashSelected,tenderSelect,change"/>
- <event name="Keyboard.changeTenderType" permission="ChangeTenderType" ppi="ChangeTenderType" next=",tender"/>
- <data name="cashTenderAmount" value="0"/>
- <data name="voidSelectedTender" value="0"/>
- <data name="staffSale" value="0"/>
- <data name="Cash" value="0"/>
- <data name="CardCheque" value="0"/>
- <data name="Discounts" value="0"/>
- <data name="Foreign" value="0"/>
- <data name="Voucher" value="0"/>
- <data name="Coupon" value="0"/>
- <data name="Other" value="0"/>
- </state>
- <state name="CTMTender" prompt="UseCTM" picture="%q" page="tenderCTMLeft.phtm" frame="leftFrame">
- <event name="Init" ppi="cashPaymentAudioClip" next=",@checkForRefund"/>
- <event name="@checkForRefund" ppi="TotalsGateway" next="@initScreen,@initScreen,@initScreen,CTMGiveChange"/>
- <event name="@initScreen" ppi="InitCTMDeposit" />
- <event name="BillAcceptor" ppi="RecordCTMDeposit"/>
- <event name="BillAcceptorComplete" next ="@recordTenderAndExit"/>
- <event name="Keyboard.backToTender" next ="@recordTenderAndExit"/>
- <data name="backToTender" value="10"/>
- <event name="@recordTenderAndExit" ppi="RecordCTMTender" next="tenderSelect,tenderSelect,change"/>
- </state>
- <state name="baseTender" prompt="EnterAmount" picture="%q" page="tenderLeft.phtm,tender.phtm" frame="leftFrame,rightFrame">
- <event name="Init" next="@recalculateCoupons"/>
- <event name="@recalculateCoupons" callSubstate="recalculateCoupons.state" substateNext="@ProcessUpSellsConcatenated,@ProcessUpSellsConcatenated,@ProcessUpSellsConcatenated"/>
- <event name="@ProcessUpSellsConcatenated" ppi="ProcessUpSellsConcatenated" next="@recalulateTotalLine,@recalulateTotalLine"/>
- <event name="@recalulateTotalLine" ppi="TotalLineSupport" next="@createRoundingTenderPPI,@createRoundingTenderPPI"/>
- <event name="@createRoundingTenderPPI" permission="CreateRoundingTenderPPI" permissionFail="@pinpadEJUpdates" ppi="CreateRoundingTenderPPI" next="@pinpadEJUpdates,@pinpadEJUpdates"/>
- <event name="@pinpadEJUpdates" permission="LineItemDisplayPPI" permissionFail="@checkRecallPaycard" ppi="LineItemDisplayPPI" next="@checkRecallPaycard,@checkRecallPaycard"/>
- <event name="@checkRecallPaycard" ppi="CheckRecallPaycard" next="@autoRefundConfigured,@cardPayment"/>
- <event name="@autoRefundConfigured" ppi="IsAutoRefundConfigured" next=",@autoCardRefund"/>
- <event name="@initialCard" ppi="DisplayInitialCard"/>
- <!-- Target for override by CHM in tender.state -->
- <event name="@autoCardRefund"/>
- <event name="@cardPayment"/>
- <!-- card payment return values-->
- <event name="@paymentExit" next="@initialCard"/>
- <event name="@paymentFail" next="@initialCard"/>
- <event name="@paymentCompleteBalanceRemaining" next="@initialCard"/>
- <event name="@paymentCompleteBalanceCleared" next="change"/>
- <event name="@paymentSuspended" next="startSale"/>
- <event name="@cardVoided"/>
- <event name="@cardVoided0"/>
- <event name="@cardVoided1"/>
- <event name="Scanner" permission="CheckLotteryTrans" ppi="ScannedGiftCardCheck" next=",@giftCardTenderKeyed,@scannedCouponCheck"/>
- <event name="@scannedCouponCheck" ppi="ScannedCouponCheck" next="@scannedCardCheck,@voucher,@validateManufacturerCoupon"/>
- <event name="@scannedCardCheck" ppi="ScannedCardCheck" next=",,@scannedGiftVoucherCheck"/>
- <event name="@scannedGiftVoucherCheck" ppi="ScannedGiftVoucherCheck" next="@barcodeRouterTender,@giftVoucher,"/>
- <event name="@barcodeRouterTender" ppi="BarcodeRouter" next=",,@invalidScanInTender,,@invalidScanInTender,,,"/>
- <event name="BarcodeRouterSupport.BasicItemBarcode" next="@basicItem"/>
- <event name="BarcodeRouterSupport.OfferCodeBarcode" next="@basicItem"/>
- <event name="BarcodeRouterSupport.LoyaltyCardBarcode" next="@loyaltyCardScannedDuringTender"/>
- <event name="BarcodeRouterSupport.PromotionalCouponBarcode" permission="PromotionCoupons" permissionFail="@invalidScanInTender" ppi="PromotionCoupons"/>
- <event name="@basicItem" permission="ScanItemInTenderConfigCheck" ppi="ScanItemInTenderPPI" permissionFail="@invalidScanInTender" next=",@cancelTender"/>
- <event name="@error" ppi="PartialTenderError" next=""/>
- <event name="@invalidScanInTender" ppi="InvalidScanInTender"/>
- <event name="EJ"/>
- <event name="CustEJ"/>
- <event name="SIPSEJ"/>
- <event name="Keyboard.Enter" ppi="CashTenderNoDefault" next=",,change"/>
- <!-- Normal cash tendering -->
- <!--<event name="Keyboard.F27" next="@cashTender"/>
- <event name="Keyboard.cashTender" next="@cashTender"/>
- <event name="@cashTender" ppi="CashTender" next=",,change"/>
- <event name="Keyboard.tender50" ppi="CashTender50" next=",,change"/>
- <event name="Keyboard.tender20" ppi="CashTender20" next=",,change"/>
- <event name="Keyboard.tender10" ppi="CashTender10" next=",,change"/>
- <event name="Keyboard.tender5" ppi="CashTender5" next=",,change"/>
- <data name="tender50" calculate="CashTender50"/>
- <data name="tender20" calculate="CashTender20"/>
- <data name="tender10" calculate="CashTender10"/>
- <data name="tender5" calculate="CashTender5"/>-->
- <include file="fuelTender.state" exclude="beanstore.reducedMemoryMode.fuelOff"/>
- <!-- Dynamic cash tendering -->
- <event name="Keyboard.cashTender" permission="CashTender" ppi="CashTender" next=",,change"/>
- <event name="Keyboard.cashTender2" permission="CashTender2" ppi="CashTender2" next=",,change"/>
- <event name="Keyboard.cashTender3" permission="CashTender3" ppi="CashTender3" next=",,change"/>
- <event name="Keyboard.cashTender4" permission="CashTender4" ppi="CashTender4" next=",,change"/>
- <event name="Keyboard.cashTender5" permission="CashTender5" ppi="CashTender5" next=",,change"/>
- <data name="cashTender" calculate="CashTender,AvailableRefundTender"/>
- <data name="cashTender2" calculate="AvailableRefundTender,CashTender2"/>
- <data name="cashTender3" calculate="AvailableRefundTender,CashTender3"/>
- <data name="cashTender4" calculate="AvailableRefundTender,CashTender4"/>
- <data name="cashTender5" calculate="AvailableRefundTender,CashTender5"/>
- <event name="Keyboard.cashTenderAmount" next="tender"/>
- <event name="Keyboard.giftCardTender" permission="GiftCardExternalCaptureConfigPPI" permissionFail="@giftCardTender" next="@externalCaptureGiftCardTender"/>
- <event name="@giftCardTender" permission="ClearRoundingTenderPPI" permissionFail="@applyValueCard" ppi="ClearRoundingTenderPPI" next="@applyValueCard,@applyValueCard"/>
- <event name="Keyboard.externalCaptureGiftCardTender" next="@externalCaptureGiftCardTender"/>
- <event name="@externalCaptureGiftCardTender" permission="ClearRoundingTenderPPI" permissionFail="@giftCardTenderScanned" ppi="ClearRoundingTenderPPI" next="@giftCardTenderScanned,@giftCardTenderScanned"/>
- <data name="externalCaptureGiftCardTender" calculate="AvailableRefundTender,AvailableGiftCardTender"/>
- <event name="@applyValueCard" callSubstate="valueCardTender.substate" substatenext="@resetRoundingTender,@resetRoundingTender,change,@giftCardTenderKeyed,@giftCardTenderScanned"/>
- <data name="giftCardTender" calculate="AvailableRefundTender,AvailableGiftCardTender"/>
- <event name="@giftCardTenderKeyed" permission="CheckLotteryTrans" ppi="GiftCardTenderKeyed" next=",@resetPreSwipData,change,@suspendNoConfirm,giftCardAsChange"/>
- <event name="@giftCardTenderScanned" permission="CheckLotteryTrans" ppi="GiftCardTenderScanned" next=",@resetPreSwipData,change,@suspendNoConfirm,giftCardAsChange"/>
- <event name="@resetPreSwipData" ppi="PreSwipeResetPPI" next="@initialCard,@initialCard"/>
- <data name="snapEbtCardTender" calculate="EbtCardPPI,AvailableRefundTender"/>
- <event name="Keyboard.snapEbtCardTender" next="@ebtPayment"/>
- <event name="@ebtPayment" comment="DO NOT change this, as this is just stub. Definition in tender.state"/>
- <data name="paperWICTender" calculate="PaperWICTender,AvailableRefundTender"/>
- <event name="Keyboard.paperWICTender" permission="PaperWICTender" ppi="PaperWICTender" next="@resetRoundingTender,@resetRoundingTender,change"/>
- <event name="Keyboard.electronicWICTender" ppi="ElectronicWICTender" next="@eWicTransaction"/>
- <event name="Keyboard.eWICBalanceInquiry" next="@eWicTransaction"/>
- <event name="@eWicTransaction" callSubstate="eWic.state"/>
- <data name="electronicWICTender" calculate="ElectronicWICTender,AvailableRefundTender" />
- <data name="eWICBalanceInquiry" calculate="ElectronicWICTender,AvailableRefundTender" />
- <data name="otcCardTender" calculate="OtcPayment"/>
- <event name="Keyboard.otcCardTender" permission="OtcPayment" callSubstate="otcCardTender.state" substateNext=",@processOtcTender"/>
- <event name="@processOtcTender" comment="DO NOT change this, as this is just stub. Definition in tender.state"/>
- <data name="payPalTender" calculate="PayPalTender,FailedEpasTenders"/>
- <event name="Keyboard.payPalTender" next="@calculatePayPalRefunds" />
- <event name="@calculatePayPalRefunds" ppi="CalculateOnlineSaleRefundValuePPI" next="@payPalTender,@payPalRefundTender,,@amendOrderNumber" />
- <event name="@calculatePayPalRefundsAfterAmend" ppi="CalculateOnlineSaleRefundValueWithExistingTenders" next="@payPalTender,@payPalRefundTender,,@amendOrderNumber" />
- <event name="@amendOrderNumber" ppi="OnlineSaleRefundPPI" next=",@calculatePayPalRefundsAfterAmend"/>
- <event name="@payPalTender" ppi="PayPalTender" next=",,change"/>
- <event name="@payPalRefundTender" ppi="PayPalRefundTender" next=",,change"/>
- <data name="brandedHealthCardTender" calculate="CheckCardAuthorization,FsaCard,AvailableRefundTender"/>
- <event name="Keyboard.brandedHealthCardTender" next="@brandedHealthCardTender"/>
- <event name="@brandedHealthCardTender" comment="DO NOT change this, as this is just stub. Definition in tender.state"/>
- <event name="Keyboard.F24" permission="GiftVoucherTender" next="@giftVoucher"/>
- <event name="Keyboard.giftVoucherTender" next="@giftVoucher"/>
- <event name="Keyboard.F14" permission="GiftVoucherTender" next="@giftVoucherTenderList"/>
- <event name="Keyboard.giftVoucherTenderList" next="@giftVoucherTenderList"/>
- <event name="Keyboard.F17" permission="CheckLotteryTrans" ppi="GiftVoucherT5" next="@resetRoundingTender,@resetRoundingTender,change"/>
- <event name="Keyboard.F18" permission="CheckLotteryTrans" ppi="GiftVoucherT10" next="@resetRoundingTender,@resetRoundingTender,change"/>
- <event name="@voucher" permission="CheckLotteryTrans" ppi="VoucherTender" next="@resetRoundingTender,@resetRoundingTender,change"/>
- <event name="@giftVoucher" permission="CheckLotteryTrans" ppi="GiftVoucherTender" next="@resetRoundingTender,@resetRoundingTender,change"/>
- <event name="@giftVoucherTenderList" permission="CheckLotteryTrans" ppi="GiftVoucherTenderList" next="@resetRoundingTender,@resetRoundingTender,change"/>
- <event name="Keyboard.giftVoucherTenderMediaList" next="@giftVoucherTenderMediaList"/>
- <event name="@giftVoucherTenderMediaList" permission="CheckLotteryTrans" ppi="GiftVoucherTenderMediaList" next="@resetRoundingTender,@resetRoundingTender,change"/>
- <!-- coupons/vouchers -->
- <!--event name="Keyboard.voucherTender" ppi="VoucherTender" next=",,change"-->
- <event name="Keyboard.supplierCoupon" permission="SupplierCoupon,DisableFunctionAfterTender" ppi="SupplierCoupon" next=",,change,giftCardAsChange"/>
- <event name="Keyboard.newsCoupon" permission="NewsCouponTender,DisableFunctionAfterTender" ppi="NewsCouponTender" next=",,change"/>
- <event name="Keyboard.postalOrder" permission="DisableFunctionAfterTender" ppi="PostalOrderTender" next=",,change"/>
- <event name="Keyboard.milkTokens" permission="DisableFunctionAfterTender" ppi="MilkTokenTender" next=",,change"/>
- <event name="Keyboard.savingStamps" ppi="SavingsStampsTender" next=",,change"/>
- <event name="Keyboard.luncheonVouchers" ppi="LuncheonVoucherTender" next=",,change"/>
- <event name="Keyboard.carParkVouchers" ppi="CarParkVoucherTender" next=",,change"/>
- <event name="Keyboard.productVoucher" ppi="ProductVoucherTender" next=",,change"/>
- <event name="Keyboard.visaVoucher" ppi="VisaVoucherTender" next=",,change"/>
- <event name="Keyboard.eCoupon" permission="LoyaltyElectronicCoupon" callSubstate="ecouponView.state"/>
- <data name="eCoupon" calculate="LoyaltyElectronicCoupon"/>
- <!-- Cash Voucher Tender -->
- <event name="Keyboard.cashVoucher" permission="ClearRoundingTenderPPI" permissionFail="@applyCashVoucherCoupon" ppi="ClearRoundingTenderPPI" next="@applyCashVoucherCoupon,@applyCashVoucherCoupon"/>
- <event name="@applyCashVoucherCoupon" callSubstate="cashVoucherCouponTender.substate" substateNext=",change,@resetRoundingTender"/>
- <!-- Supplier coupon tendering -->
- <event name="Keyboard.supplierCouponValue" permission="SupplierCouponValue,DisableFunctionAfterTender" ppi="SupplierCouponValue" next=",,change,giftCardAsChange"/>
- <event name="Keyboard.supplierCouponBarcode" permission="DisableFunctionAfterTender" ppi="DetermineCouponValidationPPI" next=",@validateLegacySupplierCoupon,@validateManufacturerCoupon"/>
- <event name="@validateLegacySupplierCoupon" ppi="EnterLegacyCouponBarcode" next="@tenderLegacySupplierCoupon,@invalidCoupon,,@couponNotAccepted"/>
- <event name="@tenderLegacySupplierCoupon" permission="CheckLotteryTrans" ppi="LegacySupplierCouponTender" next=",,change"/>
- <event name="@validateManufacturerCoupon" permission="DisableFunctionAfterTender" ppi="EnterManufacturerCouponBarcode" next="@processValidCoupon,@invalidCoupon,,@couponNotAccepted,@callForHelp"/>
- <event name="@processValidCoupon" callSubState="recalculateCoupons.state" substateNext=",,change"/>
- <event name="@invalidCoupon" ppi="InvalidCouponPNP" next=","/>
- <event name="@couponNotAccepted" ppi="SupplierCouponNotAccepted" next=","/>
- <data name="supplierCouponValue" calculate="ManufacturerCouponTender,CheckLotteryTrans,DisableFunctionAfterTender,DisableTendersForFSA"/>
- <data name="supplierCouponBarcode" calculate="ManufacturerCouponTender,CheckLotteryTrans,DisableFunctionAfterTender,DisableTendersForFSA"/>
- <event name="Keyboard.F4" ppi="TravelChequeTender" permission="CheckLotteryTrans,TravelChequeTender" next=",,change"/>
- <event name="Keyboard.travelChequeTender" ppi="TravelChequeTender" permission="CheckLotteryTrans,TravelChequeTender" next=",,change"/>
- <event name="Keyboard.chequeTender" permission="ChequeTenderAllowed,CheckLotteryTrans" ppi="DeactivateAutoLogoff" next=",@cheque"/>
- <event name="@cheque" callSubstate="chequePayment.state" substateNext="0,@autoLogoffStart,@autoLogoffStart,@autoLogoffStart,@autoLogoffStartChange"/>
- <event name="@autoLogoffStart" ppi="ActivateAutoLogoff"/>
- <event name="@autoLogoffStartChange" ppi="ActivateAutoLogoff" next=",change"/>
- <event name="Keyboard.F21" ppi="PercentDiscount" permission="CheckLotteryTrans,PercentDiscount,DisableFunctionAfterTender" next=",,change"/>
- <event name="Keyboard.percentDiscount" ppi="PercentDiscount" permission="CheckLotteryTrans,PercentDiscount,DisableFunctionAfterTender" next="@refreshPEDEJDiscount,@refreshPEDEJDiscount,@refreshPEDEJDiscountChange"/>
- <event name="Keyboard.F22" ppi="ValueDiscount" permission="CheckLotteryTrans,ValueDiscount,DisableFunctionAfterTender" next=",,change"/>
- <event name="Keyboard.valueDiscount" ppi="ValueDiscount" permission="CheckLotteryTrans,ValueDiscount,DisableFunctionAfterTender" next="@refreshPEDEJDiscount,@refreshPEDEJDiscount,@refreshPEDEJDiscountChange"/>
- <event name="@refreshPEDEJDiscount" permission="LineItemDisplayPPI" ppi="LineItemDisplayPPI" />
- <event name="@refreshPEDEJDiscountChange" permission="LineItemDisplayPPI" ppi="LineItemDisplayPPI" next="change,change"/>
- <event name="Keyboard.staffSale" permission="StaffSalePermission,CheckStaffDiscountAlreadyActive" ppi="CancelTenderForDiscountRetotal" next=",@staffSale,@staffSale"/>
- <event name="@staffSale" callSubstate="staffDiscount.state" substateNext="0,@retotal,@retotal,@retotal"/>
- <event name="@retotal" ppi="Total" next="@resetRoundingTender,@resetRoundingTender,change,@resetRoundingTender,@noLinesToTender"/>
- <event name="@noLinesToTender" ppi="DisplayMessageBoxNoLinesToTender"/>
- <event name="Keyboard.F5" next="@lock"/>
- <event name="Keyboard.tenderLock" next="@lock"/>
- <event name="Keyboard.F8" permission="VoidSelectedTender" ppi="VoidSelectedTender" next=",,"/>
- <event name="Keyboard.voidSelectedTender" permission="VoidSelectedTender" ppi="VoidSelectedTender" next="@resetRoundingTender,@resetRoundingTender,@resetRoundingTender"/>
- <event name="Keyboard.voidTender" ppi="VoidSelectedTender" permission="VoidSelectedTender" next=",,"/>
- <event name="Keyboard.F47" ppi="ReprintReceiptWithTotal" permission="ReprintReceipt"/>
- <event name="Keyboard.reprintReceipt" ppi="ReprintReceiptWithTotal" permission="ReprintReceipt"/>
- <event name="Keyboard.Esc" permission="CancelTender,CancelTenderGiftCardValidator" next="@checkTxnExclusiveVoidItem"/>
- <event name="@voidTenderPromotion" ppi="VoidTenderPromotion" next=",@refreshEJAfterVoid"/>
- <event name="@refreshEJAfterVoid" ppi="RefreshEJPerItem" next="sale,sale"/>
- <event name="Keyboard.cancel" permission="CancelTender,CancelTenderGiftCardValidator" next="@checkTxnExclusiveVoidItem"/>
- <event name="@checkTxnExclusiveVoidItem" ppi="CheckTransactionExclusive" next="@removeOriginalTender,@voidTxnExclusiveTransaction"/>
- <event name="@voidTxnExclusiveTransaction" ppi="VoidTxnExclusiveTransaction" next=",startSale"/>
- <event name="@removeOriginalTender" ppi="RemoveOriginalTenderPPI" next=",@cancelTender"/>
- <event name="@cancelTender" ppi="CancelTender" next=",refund,@voidTenderPromotion,extendedRefund,sale"/>
- <event name="Keyboard.customerLoyalty" callSubstate="customerloyaltysale.state" substateNext="0,"/>
- <event name="Keyboard.transactionSuspend" next="@suspend"/>
- <event name="@suspend" ppi="TransactionSuspend" permission="TransactionSuspend,CheckSeqrSuspendTrans" next=",startSale,@deactivateAutoLogoffNameCapture"/>
- <event name="@suspendNoConfirm" ppi="TransactionSuspendNoConfirm" permission="TransactionSuspend" next=",startSale,@deactivateAutoLogoffNameCapture"/>
- <event name="@deactivateAutoLogoffNameCapture" ppi="DeactivateAutoLogoff" next=",@nameCapture"/>
- <event name="@nameCapture" callSubstate="CustomerCaptureChoice.state" substateNext=",@suspend"/>
- <event name="Keyboard.voidTransaction" ppi="VoidTransaction" permission="VoidTransaction" next=",startSale"/>
- <event name="Keyboard.transactionRecall" permission="TransactionRecall" next="recall"/>
- <event name="Keyboard.printLastReceipt" ppi="PrintLastReceipt" permission="PrintLastReceipt"/>
- <event name="Keyboard.customerAddress" ppi="DeactivateAutoLogoff" next=",@customerAddress"/>
- <event name="@customerAddress" callSubstate="NameAddress.state" substateNext="@autoLogoffStart2,@autoLogoffStart2,@saveCustomerAddress"/>
- <event name="@saveCustomerAddress" ppi="AddCustomerInfoPPI" next="@clearCustomerAddress,@clearCustomerAddress"/>
- <event name="@clearCustomerAddress" ppi="ClearCustomerInfoPPI" next="@autoLogoffStart2,@autoLogoffStart2"/>
- <data name="customerAddress" calculate="NameAddressCaptureComputation, AddressCaptureButtonEnabled"/>
- <!-- Store Card Payment-->
- <data name="storeCard" calculate="(CheckStoreCardPresentInTransaction AND CheckStorePaymentCardType) OR AccountTenderButtonEnabled"/>
- <event name="Keyboard.storeCard" ppi="StoreCardTenderFlowConfiguration AND AccountTenderButtonEnabled" next="@checkStorePaymentCardType,@digitalProfileTenderAmountCapture"/>
- <!-- Store Card Payment Original Flow -->
- <event name="@checkStorePaymentCardType" ppi="CheckStorePaymentCardType" next="@resetStoreCardData,@captureStoreCardTenderAmount,@customerAccountsSelectionForm"/>
- <event name="@customerAccountsSelectionForm" callSubstate="customerAccountSelection.state" substateNext="@resetStoreCardData,@captureStoreCardTenderAmount,@resetStoreCardData"/>
- <event name="@captureStoreCardTenderAmount" ppi="CaptureStoreCardTenderAmount" next="@resetStoreCardData,@authoriseStoreCard"/>
- <event name="@authoriseStoreCard" ppi="AuthoriseStoreCard" next="@resetStoreCardData,@doStoreCardTender,@printStoreCardSlip"/>
- <event name="@printStoreCardSlip" ppi="PrintStoreCardSlip" next="@signatureNotVerified,@signatureVerified"/>
- <event name="@signatureNotVerified" ppi="AuthoriseStoreCardSignatureNotVerified" next="@resetStoreCardData,@doStoreCardTender,@printStoreCardSlip"/>
- <event name="@signatureVerified" ppi="AuthoriseStoreCardSignatureVerified" next="@resetStoreCardData,@doStoreCardTender,"/>
- <event name="@doStoreCardTender" ppi="StoreCardTender" next="@resetStoreCardData,,change"/>
- <event name="@resetStoreCardData" ppi="ResetStoreCardData" next=",tenderSelect"/>
- <!-- Store Card Payment Enhanced Flow -->
- <event name="@digitalProfileTenderAmountCapture" ppi="CaptureLoyaltyTenderAmount" next=",@digitalProfileAuthorizeStoreCardAccountPayment"/>
- <event name="@digitalProfileAuthorizeStoreCardAccountPayment" ppi="AuthorizeStoreCardAccountPayment" next=",@digitalProfileSignatureCapture"/>
- <event name="@digitalProfileSignatureCapture" permission="AllowStoreCardAccountTenderSignatureCapture" permissionFail="@digitalProfileAccountTender" callSubstate="signatureCapture.state" substateNext="@voidDigitalProfileAccountPayment,@digitalProfileAccountTender"/>
- <event name="@voidDigitalProfileAccountPayment" ppi="VoidStoreCardAccountPayment" next="@digitalProfileAccountTender,"/>
- <event name="@digitalProfileAccountTender" ppi="StoreCardAccountTender" next=",,change"/>
- <event name="Keyboard.accountTender" permission="AccountTenderPermission" next="@clearRoundingTender"/>
- <event name="@clearRoundingTender" permission="ClearRoundingTenderPPI" permissionFail="@accountTenderMode" ppi="ClearRoundingTenderPPI" next="@accountTenderMode,@accountTenderMode"/>
- <event name="@accountTenderMode" permission="UseTransactionCustomerForAccounts" permissionFail="@accountTender" ppi="UseTransactionCustomerForAccounts" next="@activeAccountOnly2,@customerCardCapture"/>
- <event name="@activeAccountOnly2" ppi="DeactivateAutoLogoff" next=",@setActiveAccountsOnly"/>
- <event name="@customerCardCapture" callSubstate="customerCardCapture.state" substateNext="0,@setActiveAccountsOnly,@selectAccount,@customerAddress,@recalculateCoupons,@accountTender"/>
- <event name="@autoLogoffStart2" ppi="ActivateAutoLogoff" next="@accountTender,@accountTender,@accountTender"/>
- <event name="@setActiveAccountsOnly" ppi="SetActiveAccountsOnly" next="@selectAccount,@selectAccount"/>
- <event name="@selectAccount" callSubstate="selectAccount.state" substateNext="0,@autoLogoffStart,@accountTenderAutoLogoffStart"/>
- <event name="@accountTenderAutoLogoffStart" ppi="ActivateAutoLogoff" next="@accountTender,@accountTender"/>
- <event name="@accountTender" callSubstate="invoicePayment.state" substateNext="@resetRoundingTender,@resetRoundingTender,change,@voidLastTenderNotChange"/>
- <event name="@voidLastTenderNotChange" ppi="VoidLastTenderNotChange"/>
- <event name="Keyboard.newsAccountTender" permission="NewsAccountTender,NewsEnabledSupport" ppi="DeactivateAutoLogoff" next=",@initNewsAccountTender"/>
- <event name="@initNewsAccountTender" ppi="InitTenderCustomerAccountSubTypes" next=",@newsAccount"/>
- <event name="@newsAccount" callSubstate="newsAccount.state" substateNext="0,@autoLogoffStart,@invoicePaymentAutoLogoffStart"/>
- <event name="@invoicePaymentAutoLogoffStart" ppi="ActivateAutoLogoff" next="@invoicePayment,@invoicePayment"/>
- <event name="@invoicePayment" callSubstate="invoicePayment.state" substateNext=",,change"/>
- <event name="@resetRoundingTender" permission="CreateRoundingTenderPPI" ppi="CreateRoundingTenderPPI" next=""/>
- <event name="Keyboard.foreignCurrencyTender" permission="ForeignCurrencyTender" ppi="ForeignCurrencyTender" next=",,change"/>
- <event name="Keyboard.loyaltyCardTender" ppi="LoyaltyCardTenderFlowChecker" next="@captureCardInTenderMode,@loyaltyCardTender"/>
- <event name="@captureCardInTenderMode" ppi="LoyaltyCardTenderMode" next=",@promptForNoPromotions"/>
- <event name="@promptForNoPromotions" ppi="LoyaltyCaptureDuringTenderPrompt" next=",@captureCard"/>
- <event name="@captureCard" callSubstate="loyalty.state" substateNext=",,@loyaltyCardTender"/>
- <event name="@loyaltyCardTender" ppi="LoyaltyCardTender" next=",@signatureVerificationPartialTender,@signatureVerificationBalancePaid"/>
- <event name="@signatureVerificationPartialTender" ppi="SignatureVerificationRequired"/>
- <event name="@signatureVerificationBalancePaid" ppi="SignatureVerificationRequired" next=",change"/>
- <event name="Keyboard.F2"/>
- <event name="Keyboard.specialTenderType" ppi="SpecialTender" permission="CheckLotteryTrans,SpecialTender" next=",,change"/>
- <event name="Keyboard.seqrPayment" ppi="SeqrTenderRouter" next=",@seqrRefund,@seqrPayment"/>
- <!-- Auto-add scanned loyalty card to transaction -->
- <event name="@loyaltyCardScannedDuringTender" ppi="SetLoyaltyValues" next=",@getLoyaltyCard"/>
- <event name="@getLoyaltyCard" callSubstate="loyalty.state"/>
- <!-- Customer Language -->
- <event name="Keyboard.selectCustomerLanguage" ppi="SelectCustomerLanguage"/>
- <data name="selectCustomerLanguage" value="10"/>
- <!-- SEQR Payment -->
- <event name="@seqrPayment" permission="SeqrPayment" permissionFail="@clearSeqr" ppi="SeqrPayment" next="@clearSeqr,@submitPaymentReceipt,@submitPaymentReceiptChange"/>
- <event name="@submitPaymentReceipt" ppi="SubmitPaymentReceipt" next="@clearSeqr,@clearSeqr"/>
- <event name="@submitPaymentReceiptChange" ppi="SubmitPaymentReceipt" next="@changeAndClearSeqr,@changeAndClearSeqr" />
- <!-- SEQR Refund -->
- <event name="@seqrRefund" permission="SeqrPaymentRefund" permissionFail="@clearSeqr" ppi="SeqrPaymentRefund" next="@clearSeqr,@clearSeqr,@changeAndClearSeqr"/>
- <event name="@clearSeqr" ppi="ClearTransactionSeqr"/>
- <event name="@changeAndClearSeqr" ppi="ClearTransactionSeqr" next=",change"/>
- <!-- MI Vouchers -->
- <event name="Keyboard.miVoucherProcess" ppi="MIVoucherProcessPPI" next=",@addMIVoucher"/>
- <event name="@addMIVoucher" ppi="MIVoucherAdd" next=",,change"/>
- <event name="Keyboard.loyaltyStoredValue" permission="LoyaltyStoredValuedPermission" next=","/>
- <!-- Transaction Comments -->
- <event name="Keyboard.transactionCommentsTender" permission="TransactionCommentsTenderPermission" next="@startTransactionComments"/>
- <event name="@startTransactionComments" callSubState="TransactionComments.state"/>
- <data name="transactionCommentsTender" value="10" />
- <!-- Remote Event Service -->
- <event name="Keyboard.remoteEventManagement" permission="DisplayRemMenuButtonPPI" ppi="DeactivateAutoLogoff" next=",@remoteEventManagement"/>
- <event name="@remoteEventManagement" callSubstate="RemItemImages.state" substateNext="@autoLogoffStart,@autoLogoffStart,@autoLogoffStart"/>
- <!-- Self-Checkout specific events -->
- <event name="Keyboard.scoCallForHelp" next="@manualCallForHelp"/>
- <event name="@manualCallForHelp" ppi="AmberBlinkLight" next="@callForHelpAudio,@callForHelpAudio"/>
- <event name="@callForHelpAudio" ppi="callForHelpAudioClip" next=",@callForHelpMsg"/>
- <event name="@callForHelpMsg" ppi="ManualCallForHelp" next="@greenLight,@greenLight"/>
- <event name="@greenLight" ppi="GreenLight"/>
- <event name="@callForHelp" ppi="AmberBlinkLight" next="@sysCallForHelpAudio,@sysCallForHelpAudio"/>
- <event name="@sysCallForHelpAudio" ppi="callForHelpAudioClip" next=",@sysCallForHelpMsg"/>
- <event name="@sysCallForHelpMsg" ppi="CallForHelp" next="@sysGreenLight,@sysGreenLight"/>
- <event name="@sysGreenLight" ppi="GreenLight" next="@switchToSupportOperator,@switchToSupportOperator"/>
- <event name="Keyboard.scanAdditionalItems" ppi="GreenLight" next="@Keyboard.Esc,@Keyboard.Esc"/>
- <event name="Keyboard.scoHandoverTxn" ppi="GreenLight" next="@switchToSupportOperator,@switchToSupportOperator"/>
- <event name="@switchToSupportOperator" callSubstate="switchToSupportOperator.state" substateNext="@tenderSelect,startSaleEx"/>
- <event name="Keyboard.returnToSco" callSubstate="switchToSco.state" substateNext="@redrawEJ,@tenderSelect"/>
- <event name="Keyboard.scoLoyaltyCardTender" ppi="loyaltyPaymentAudioClip" next=",@LoyaltyCardTenderSelfCheckout"/>
- <event name="Keyboard.scoLoyaltyCardTenderSmall" ppi="loyaltyPaymentAudioClip" next=",@LoyaltyCardTenderSelfCheckout"/>
- <event name="Keyboard.scoCTMCashTender" next="CTMTender"/>
- <event name="Keyboard.scoPayCardTender" permission="CheckCardAuthorization,CustomerPresentTransaction,CheckAvailableTender" ppi="CustomerPresentTransaction" next="@payWithCardAudio,@payWithCardAudio"/>
- <event name="@payWithCardAudio" ppi="pinpadPaymentAudioClip" next=",@eftPayments"/>
- <event name="@LoyaltyCardTenderSelfCheckout" ppi="LoyaltyCardTenderSelfCheckout" next=",@signatureVerificationPartialTender,@signatureVerificationBalancePaid"/>
- <event name="@tenderSelect" ppi="RefreshEJFull" next=",tenderSelect"/>
- <event name="@redrawEJ" ppi="RefreshEJFull"/>
- <data name="scoCallForHelp" value="10"/>
- <data name="scoHandoverTxn" value="10"/>
- <data name="scanAdditionalItems" calculate="SelfCheckoutCancelTender"/>
- <data name="returnToSco" calculate="ReturnToScoPPI"/>
- <data name="scoLoyaltyCardTender" calculate="LoyaltyCardTenderSelfCheckout,CheckForTrainingMode,AvailableRefundTender" />
- <data name="scoLoyaltyCardTenderSmall" calculate="LoyaltyCardTenderSelfCheckout,CheckForTrainingMode,AvailableRefundTender" />
- <data name="scoCTMCashTender" calculate="SelfCheckoutCTMChecker"/>
- <data name="scoPayCardTender" calculate="CheckCardAuthorization,CustomerPresentTransaction,CheckAvailableTender"/>
- <!-- Set this to 10 to enable miVouchers -->
- <data name="miVoucherProcess" value="0"/>
- <data name="accountTender" calculate="PayingAccountGetAccountNo,CheckLotteryTrans,AvailableRefundTender"/>
- <data name="newsAccountTender" calculate="NewsAccountTender,CheckLotteryTrans,NewsEnabledSupport,AvailableRefundTender"/>
- <data name="foreignCurrencyTender" calculate="ForeignCurrencyTender,AvailableRefundTender"/>
- <data name="giftVoucherTenderMediaList" calculate="GiftVoucherTender,CheckLotteryTrans,AvailableRefundTender"/>
- <data name="cashTender" calculate="CashTender,AvailableRefundTender"/>
- <data name="cancel" calculate="CancelTender"/>
- <data name="giftVoucherTender" calculate="GiftVoucherTender,CheckLotteryTrans,AvailableRefundTender"/>
- <data name="giftVoucherTenderList" calculate="GiftVoucherTender,CheckLotteryTrans,AvailableRefundTender"/>
- <data name="visaVoucher" calculate="VisaVoucherTender,CheckLotteryTrans,AvailableRefundTender"/>
- <data name="supplierCoupon" calculate="ManufacturerCouponTender,CheckLotteryTrans,DisableFunctionAfterTender,DisableTendersForFSA"/>
- <data name="newsCoupon" calculate="NewsCouponTender,CheckLotteryTrans,DisableFunctionAfterTender,DisableTendersForFSA"/>
- <data name="postalOrder" calculate="PostalOrderTender,CheckLotteryTrans,DisableFunctionAfterTender"/>
- <data name="milkTokens" calculate="MilkTokenTender,CheckLotteryTrans,DisableFunctionAfterTender"/>
- <data name="savingStamps" calculate="SavingsStampsTender,CheckLotteryTrans"/>
- <data name="luncheonVouchers" calculate="LuncheonVoucherTender,CheckLotteryTrans"/>
- <data name="carParkVouchers" calculate="CarParkVoucherTender,CheckLotteryTrans"/>
- <data name="productVoucher" calculate="ProductVoucherTender,CheckLotteryTrans"/>
- <data name="travelChequeTender" calculate="TravelChequeTender,CheckLotteryTrans"/>
- <data name="chequeTender" calculate="ChequeTenderAllowed,CheckLotteryTrans"/>
- <data name="percentDiscount" calculate="CheckLotteryTrans,PercentDiscount,DisableFunctionAfterTender,DisableTendersForFSA"/>
- <data name="valueDiscount" calculate="CheckLotteryTrans,ValueDiscount,DisableFunctionAfterTender,DisableTendersForFSA"/>
- <data name="staffSale" calculate="StaffSaleButtonEnabled,DisableFunctionAfterTender,DisableTendersForFSA"/>
- <data name="tenderLock" value="10"/>
- <data name="specialTenderType" calculate="SpecialTender"/>
- <data name="voidSelectedTender" calculate="VoidSelectedTender"/>
- <data name="voidTender" calculate="VoidSelectedTender"/>
- <data name="reprintReceipt" calculate="ReprintReceiptWithTotal"/>
- <data name="customerLoyalty" value="10"/>
- <data name="transactionSuspend" calculate="TransactionSuspend,CheckLotteryTrans,IsServerAlive,CheckMoneyOrderItem"/>
- <data name="voidTransaction" calculate="VoidTransaction"/>
- <data name="transactionRecall" calculate="TransactionRecall"/>
- <data name="printLastReceipt" calculate="PrintLastReceipt"/>
- <data name="priceEnquire" calculate="PriceEnquire,CheckMediaExchange"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans,CheckMediaExchange"/>
- <data name="total" value="0"/>
- <data name="help" value="10"/>
- <data name="EJ" value="10"/>
- <data name="CustEJ" value="10"/>
- <data name="SIPSEJ" value="10"/>
- <data name="Discounts" value="10"/>
- <data name="remoteEventManagement" calculate="DisplayRemMenuButtonPPI"/>
- <data name="loyaltyCardTender" calculate="LoyaltyButtonsEnabled,LoyaltyCardTenderFlowChecker,LoyaltyCardTender,CheckForTrainingMode,AvailableRefundTender" />
- <data name="changeTenderType" calculate="ChangeTenderType"/>
- <data name="seqrPayment" calculate="SeqrTenderButtonAllowed"/>
- <data name="cashVoucher" calculate="CashVoucherTender,CheckLotteryTrans"/>
- <!--event name="Keyboard.imprintFuelCardMsrRefundTender" ppi="ImprintFuelCardMsrRefundTender" next=",,change" comment="event fired by datacash/EndCardTransaction"/-->
- <data name="tab1" value="10"/>
- <data name="tab2" value="10"/>
- <data name="tab3" value="10"/>
- <data name="tab4" value="10"/>
- <data name="tab5" value="10"/>
- <data name="tab6" value="10"/>
- <data name="tab7" value="10"/>
- </state>
- <include file="sale.state"/>
- <include file="fuelItemSale.state" exclude="beanstore.reducedMemoryMode.fuelOff"/>
- <include file="extendedRefund.state"/>
- <include file="rainCheck.state"/>
- <include file="stockAdjustment.state"/>
- <include file="mediaExchange.state"/>
- <include file="moneyTransfer.state"/>
- <state name="baseSale" keyboard="keyboardSale.properties" prompt="ItemNumber" picture="%99s" page="screenLayout.phtm" frame="centreFrame">
- <event name="Init" ppi="ETopupRefund" next="@autoRefundExitAsRequired,@autoRefundExitToTender" comment="if refunding failed etopup go straight to tendering after checking for failed gift card topups"/>
- <event name="@autoRefundExitToTender" ppi="AutoRefundCheck" next="@total,@total" comment="failed etopups so go to tender after checking gift cards"/>
- <event name="@autoRefundExitAsRequired" ppi="AutoRefundCheck" next="@init,@total" comment="no failed etopups so check gift cards and go to tender if any failures if not init the sale"/>
- <event name="@priceEnquireSold" next="@init"/>
- <event name="@init" ppi="PendingTradingDate" next="@autoAdvanceTradeDate,@saleInit"/>
- <event name="@autoAdvanceTradeDate" ppi="AutoAdvanceTradeDate" next="@saleInit"/>
- <event name="@saleInit" ppi="SaleInit" next=",@SetTransactionProperties,,@SetTransactionProperties,,@SetTransactionProperties"/>
- <event name="@SetTransactionProperties" ppi="SetTransactionProperties" next=",@barcodeRouterInputClear"/>
- <event name="@barcodeRouterInputClear" ppi="BarcodeRouterInputClear" next=",@recalculateCoupons"/>
- <!-- PROD-34556 Recalculate coupons moved into a substate to allow for loop behavior in dealing with ecoupons, etc. -->
- <event name="@recalculateCoupons" callSubstate="recalculateCoupons.state" substateNext="@removeDeliveryAddress,@removeDeliveryAddress,@removeDeliveryAddress"/>
- <event name="@removeDeliveryAddress" permission="RemoveDeliveryAddress" permissionFail="@recalculateShellKits" ppi="RemoveDeliveryAddress" next=",@recalculateShellKits"/>
- <event name="@recalculateShellKits" ppi="RecalculateShellKitsPPI" next="@pinpadEJUpdates,@pinpadEJUpdates"/>
- <event name="@pinpadEJUpdates" permission="LineItemDisplayPPI" permissionFail="@checkLineRefund" ppi="LineItemDisplayPPI" next="@checkLineRefund,@checkLineRefund"/>
- <!-- Overriding global event so that the state is maintained for sale and refund -->
- <event name="@priceEnquireCancel" next="@checkLineRefund"/>
- <event name="Timer" ppi="CloseTill" permission="CloseTill" permissionFail="@timer" next=",@shutDown"/>
- <event name="@shutDown" ppi="OperatorLogoff" next=",start"/>
- <event name="@timer" ppi="Timer"/>
- <event name="Network" ppi="NetworkError"/>
- <event name="EJ" next=","/>
- <event name="SIPSEJ" next=","/>
- <event name="CustEJ" next=","/>
- <event name="Keyboard.Enter" ppi="BarcodeRouter" next=",,@receiptSelfCheckout,,@giftReceipt,,,,"/>
- <event name="Scanner" ppi="BarcodeRouter" next=",,@receiptSelfCheckout,,@giftReceipt,,,," />
- <event name="BarcodeRouterSupport.BasicItemBarcode" next="@basicItem"/>
- <event name="BarcodeRouterSupport.LoyaltyCardBarcode" next="@parseAsLoyaltyCard"/>
- <event name="BarcodeRouterSupport.ManufacturerCouponBarcode" next="@validateManufacturerCoupon"/>
- <event name="BarcodeRouterSupport.OfferCodeBarcode" next="@offerCode"/>
- <event name="BarcodeRouterSupport.UnidentifiedCustomerCouponBarcode" next="@unidentifiedCustomerCoupon"/>
- <event name="BarcodeRouterSupport.PromotionalCouponBarcode" ppi="PromotionCoupons"/>
- <event name="MSR" ppi="ValueCardMSRInputPPI" next=",,@item"/>
- <event name="@basicItem" ppi="BasicItemData" next=",@item"/>
- <event name="@item" callSubstate="itemSale.state" substateNext="0,@resetRefundByPriceHistory,@resetRefundByPriceHistory,@resetRefundByPriceHistory,@resetRefundByPriceHistory,@init,@cancelLineRefund,startSale"/>
- <event name="@unidentifiedCustomerCoupon" ppi="UnidentifiedCustomerCoupon" next="@showCouponValidationResponse,@showCouponValidationResponse"/>
- <event name="@showCouponValidationResponse" ppi="ShowMessage"/>
- <event name="@offerCode" ppi="CustomerOfferCodePPI" next="@refreshPEDEJOfferCode,@refreshPEDEJOfferCode" />
- <event name="@parseAsLoyaltyCard" ppi="SetLoyaltyValues" next=",@getLoyaltyCard"/>
- <event name="@refreshPEDEJOfferCode" permission="LineItemDisplayPPI" ppi="LineItemDisplayPPI" next="," />
- <event name="@receipt" permission="CheckParkedOrdersAllowed" permissionfail="@deactivateAutoLogoffReceipt" ppi="SetDialogDisposed" next=",@receipt2"/>
- <event name="@deactivateAutoLogoffReceipt" ppi="DeactivateAutoLogoff" next=",@receipt2"/>
- <event name="@receipt2" ppi="LineRefundByPriceHistoryCancel" next=",@receipt3"/>
- <event name="@receipt3" ppi="CancelLineRefund" next="@receipt4,@receipt4,@receipt4"/>
- <event name="@receipt4" permission="TransactionExists" callSubState="transactionSearchDisplay.state" substateNext="0,@autoLogoffStart,@recall,@autoLogoffStart,@refund,@autoLogoffStart,tenderSelect,@autoLogoffStart,tenderSelect,@autoLogoffStartStartSale,@refundDeposit,@iouReceipt,@driveOffReceipt,@refundPeriodAuthorise,@retrospectivePoints,@refundPeriodAuthorise,@transactionSearchReprintReceipt"/>
- <event name="@recall" ppi="RecallTransaction" next="@autoLogoffStart,@autoLogoffStart,@setRecallEligibility"/>
- <event name="@setRecallEligibility" ppi="CheckMediaEligibilityOnTransaction" next="tenderSelect,tenderSelect"/>
- <event name="@refundPeriodAuthorise" ppi="CheckRefundPeriod" next=",@refund"/>
- <event name="@giftReceipt" ppi="DeactivateAutoLogoff" next=",@giftReceipt2"/>
- <event name="@giftReceipt2" ppi="SetGiftReceiptRefund" next=",@giftReceipt3"/>
- <event name="@giftReceipt3" permission="TransactionExists" ppi="CancelLineRefund" next="@giftReceipt4,@giftReceipt4"/>
- <event name="@giftReceipt4" permission="CheckGiftRefundPeriod" permissionFail="@giftRefundPeriodAuthorise" next="@giftReceipt5"/>
- <event name="@giftRefundPeriodAuthorise" ppi="CheckGiftRefundPeriod" next="@giftReceiptReset,@giftReceipt5"/>
- <event name="@giftReceipt5" ppi="DeactivateAutoLogoff" next=",@refund"/>
- <event name="@giftReceiptReset" ppi="ResetGiftReceiptRefund"/>
- <event name="@resetRefundByPriceHistory" ppi="LineRefundByPriceHistoryCancel" next="@init,@init"/>
- <!-- PROD-34556 Refactor how manufacture coupons work -->
- <event name="@validateManufacturerCoupon" permission="DisableFunctionAfterTender" ppi="EnterManufacturerCouponBarcode" next="@processValidCoupon,@invalidCoupon,,@couponNotAccepted,@couponNotAcceptedInSco"/>
- <event name="@processValidCoupon" callSubState="recalculateCoupons.state" substateNext=",@init,@init"/>
- <event name="@invalidCoupon" ppi="InvalidCouponPNP" next=",@init"/>
- <event name="@couponNotAccepted" ppi="SupplierCouponNotAccepted" next=",@init"/>
- <event name="@couponNotAcceptedInSco" permission="CheckCouponAcceptedSCOSaleState" permissionFail="@supplierCouponNotAcceptedInSale" next="@callForHelp,@callForHelp"/>
- <event name="@supplierCouponNotAcceptedInSale" ppi="SupplierCouponNotAcceptedInSale" next=","/>
- <event name="@iouReceipt" permission="FuelIOURecall" ppi="FuelIOURecall"/>
- <event name="@driveOffReceipt" permission="FuelDriveOffRedemptionRecall" ppi="FuelDriveOffRedemptionRecall"/>
- <event name="Keyboard.void" next="@voidSelectedLineItem" />
- <event name="EJ.rightToLeftSwipeGesture" next="@voidSelectedLineItem" />
- <event name="@voidSelectedLineItem" permission="VoidSelectedItem" ppi="VoidSelectedItem" next="@voidTenderPromotion,@voidTenderPromotion,@autoVoidTransaction" />
- <event name="EJ.editQuantity" ppi="CancelLineRefund" next="@editQuantity,@editQuantity" />
- <event name="@editQuantity" ppi="EditQuantity" permission="EditQuantity" next="@cancelQuantity,@updateQuantity,@updateQuantity"/>
- <event name="@updateQuantity" ppi="UpdateQuantity" next="@cancelQuantity, @cancelQuantity"/>
- <event name="Keyboard.transactionSearch" permission="CheckParkedOrdersAllowed" permissionfail="@deactivateAutoLogoffTransactionSearch" ppi="SetDialogDisposed" next=",@transactionSearch"/>
- <event name="@deactivateAutoLogoffTransactionSearch" ppi="DeactivateAutoLogoff" next=",@transactionSearch"/>
- <event name="@transactionSearch" callsubstate="transactionSearch.state" substateNext="0,@autoLogoffStart,@autoLogoffStart,@autoLogoffStart,@refund,@autoLogoffStart,tenderSelect,@autoLogoffStart,@recall,@autoLogoffStartStartSale,@refundDeposit,@retrospectivePoints,,@refundPeriodAuthorise,@transactionSearchReprintReceipt" />
- <event name="@giftReceiptReset" ppi="ResetGiftReceiptRefund"/>
- <event name="@refundDeposit" callSubstate="refundDeposit.state" substateNext="0,@autoLogoffStart,@autoLogoffStart"/>
- <event name="@refund" Permission="RefundViaOMS" permissionFail="@beanstoreRefund" ppi="CheckRecalledTransactionContainsOrder" next="@beanstoreRefund,@gotoExternalBrowserForRefund"/>
- <event name="@beanstoreRefund" ppi="AuthoriseReceiptedRefund" next="@extendedRefundChoice,@authoriseReceiptedRefund"/>
- <event name="@authoriseReceiptedRefund" permission="TransactionRefundPermission" next="@extendedRefundChoice"/>
- <event name="@extendedRefundChoice" ppi="ExtendedRefundChoice" next="@refundProceed,@extendedRefund"/>
- <event name="@extendedRefund" next="extendedRefund"/>
- <event name="@refundProceed" callSubstate="refund.state" substateNext="0,@autoLogoffStart,@autoLogoffStart,@gotoExtendedRefund"/>
- <event name="@gotoExtendedRefund" ppi="ForceExtendedRefund" next=",extendedRefund"/>
- <event name="@autoLogoffStart" ppi="ResetGiftReceiptRefund" next="@officialReceiptReset,@officialReceiptReset"/>
- <event name="@officialReceiptReset" ppi="ResetOfficialReceipt" next="@autoLogoffStart2,@autoLogoffStart2"/>
- <event name="@autoLogoffStart2" ppi="ActivateAutoLogoff" next="@checkLineRefund,@checkLineRefund,@checkLineRefund"/>
- <event name="@autoLogoffStartTotal" ppi="ResetGiftReceiptRefund" next="@autoLogoffStartTotal2,@autoLogoffStartTotal2"/>
- <event name="@transactionSearchReprintReceipt" permission="DetermineReceiptReprintMethodPPI" ppi="DetermineReceiptReprintMethodPPI" next=",@printPaperReceipt,@addressForEmail,@addressForEmailAndPrint"/>
- <event name="@addressForEmailAndPrint" callsubstate="EmailAddressEntry.state" substatenext="@emailAndPrintReceipt,@emailAndPrintReceipt"/>
- <event name="@emailAndPrintReceipt" ppi="EmailRecalledTransactionPersistTxn" next="@printPaperReceipt,@printPaperReceipt"/>
- <event name="@addressForEmail" callsubstate="EmailAddressEntry.state" substatenext="@emailReceipt,@emailReceipt"/>
- <event name="@emailReceipt" ppi="EmailRecalledTransaction" next="@recall,@autoLogoffStart"/>
- <event name="@printPaperReceipt" ppi="TransactionPrintEftPreProcess" next="eftProcess,@transactionPrint" comment="eftProcess means CardAuthorization.printMerchantReceipt and CardAuthorization.printCustomerReceipt will be fired"/>
- <event name="@transactionPrint" ppi="TransactionPrint" next="@recall,@autoLogoffStart"/>
- <event name="@autoLogoffStartTotal2" ppi="ActivateAutoLogoff" next=",@total,"/>
- <event name="@autoLogoffStartStartSale" ppi="ActivateAutoLogoff" next=",startSale,"/>
- <event name="@checkLineRefund" ppi="CheckLineRefund" next="@SelfCheckoutInProgress,@lineRefund"/>
- <event name="@SelfCheckoutInProgress" ppi="SelfCheckoutInProgress" next="@checkTenderItemScan,@selfCheckoutStartSaleAudio,@selfCheckoutStartScanAudio,@barcodeRouter,@callForHelp"/>
- <event name="@checkTenderItemScan" ppi="CheckTenderItemScan" next="@checkTransactionExclusiveItem,@basicItem,@offerCode"/>
- <event name="@checkTransactionExclusiveItem" ppi="CheckTransactionExclusive" next=",@continueToTender"/>
- <event name="@continueToTender" permission="ProcessDelayedAuth" permissionFail="@customerCaptureOnly" callSubstate="delayedAuth.state" substateNext="@VoidTxnExclusiveAuthFail,@customerCaptureOnly"/>
- <event name="@VoidTxnExclusiveAuthFail" ppi="VoidTxnExclusiveTransaction" next="startSale,startSale"/>
- <event name="@selfCheckoutStartSaleAudio" ppi="startSaleAudioClip"/>
- <event name="@selfCheckoutStartScanAudio" ppi="startScanAudioClip" next="@barcodeRouter,@barcodeRouter"/>
- <event name="@retrospectivePoints" callSubstate="loyalty.state" substateNext="@retrospectivePointsCancel,@retrospectivePointsCancel,@retrospectivePointsSuccess"/>
- <event name="@retrospectivePointsSuccess" ppi="LoyaltyCompleteRetrospectivePoints" next=",startSale"/>
- <event name="@retrospectivePointsCancel" ppi="LoyaltyCancelRetrospectivePoints" next=",startSale"/>
- <event name="@loyaltyCard" callSubstate="loyaltyCard.state" substateNext="0,"/>
- <event name="@staffDiscount" callSubstate="staffDiscount.state" substateNext="0,,,"/>
- <event name="Keyboard.Esc" permission="OnlineSaleRefundNotInProgress" ppi="CancelQuantity" next="@cancelPriceOverride,@cancelPriceOverride"/>
- <event name="Keyboard.F1" ppi="CancelQuantity" next="@manager,@manager,@manager"/>
- <event name="Keyboard.F2" permission="CheckNoTrans" next="startrefund"/>
- <event name="Keyboard.F3" next="@departmentSale"/>
- <event name="Keyboard.F4" ppi="RepeatLast" permission="RepeatLast"/>
- <event name="Keyboard.F5" next="@lock"/>
- <event name="Keyboard.F6" ppi="CancelLineRefund" next="@validateQuantity,@validateQuantity"/>
- <!--event name="Keyboard.F7" ppi="CancelQuantity" next="@total,@total,@total"/-->
- <event name="Keyboard.F7" ppi="CancelQuantity" next="@serviceCharge,@serviceCharge,@serviceCharge"/>
- <!-- event name="Keyboard.F10" ppi="CancelQuantity" next="@suspend,@suspend,@suspend" -->
- <event name="Keyboard.F11" ppi="VoidTransaction" permission="VoidTransaction" next=",startSale"/>
- <event name="Keyboard.F12" next="@lineRefund"/>
- <event name="@lineRefund" permission="LineRefund" ppi="LineRefund" next=",,@lineRefundByPriceHistory"/>
- <event name="@lineRefundByPriceHistory" ppi="LineRefundByPriceHistory" />
- <event name="Keyboard.F13" next="@taxExempt"/>
- <event name="Keyboard.F14" ppi="GiftVoucherByList"/>
- <event name="Keyboard.F15" callSubstate="customerloyaltysale.state" substateNext="0,"/>
- <event name="Keyboard.F16" next="@priceOverride"/>
- <event name="Keyboard.F17" ppi="GiftVoucher5"/>
- <event name="Keyboard.F18" ppi="GiftVoucher10"/>
- <event name="Keyboard.F10" next="@logoff"/>
- <event name="Keyboard.F21" ppi="PercentLineDiscount" next="@cancelQuantity,@recalculateCoupons"/>
- <event name="Keyboard.F22" ppi="ValueLineDiscount" next="@cancelQuantity,@recalculateCoupons"/>
- <!--event name="Keyboard.F24" ppi="PresetWeighedItem1"-->
- <!--event name="Keyboard.F25" ppi="TimberDeptSale"-->
- <!--event name="Keyboard.F26" ppi="DecoratingDeptSale"-->
- <event name="Keyboard.F30" permission="TransactionRecall" next="recall"/>
- <event name="Keyboard.F41" ppi="CancelQuantity" next="@loyaltyCard,@loyaltyCard,@loyaltyCard"/>
- <event name="Keyboard.accountPayment" permission="AccountPaymentPermission" next="@accountPayInMode"/>
- <event name="@accountPayInMode" permission="UseTransactionCustomerForAccounts" permissionFail="accountPayIn" ppi="UseTransactionCustomerForAccounts" next="@notActiveAccountOnly2,@customerCardCapture"/>
- <event name="@notActiveAccountOnly2" ppi="DeactivateAutoLogoff" next=",@setNotActiveAccountsOnly"/>
- <event name="@customerCardCapture" callSubstate="customerCardCapture.state" substateNext="0,@setNotActiveAccountsOnly,@selectAccount,@customerAddress,sale,@payingAccountGetAmount"/>
- <event name="@setNotActiveAccountsOnly" ppi="SetNotActiveAccountsOnly" next="@selectAccount,@selectAccount"/>
- <event name="@selectAccount" callSubstate="selectAccount.state" substateNext="0,@autoLogoffStart2,@accountPayment"/>
- <event name="Keyboard.newsAccountPayment" permission="CheckAccountPayment,NewsEnabledSupport" ppi="DeactivateAutoLogoff" next=",@initNewsAccountPayment"/>
- <event name="@initNewsAccountPayment" ppi="InitPaymentCustomerAccountSubTypes" next=",@newsAccount" />
- <event name="@newsAccount" callSubstate="newsAccount.state" substateNext="0,@autoLogoffStart2,@accountPayment"/>
- <event name="@accountPayment" ppi="ActivateAutoLogoff" next="@checkAccount,@checkAccount"/>
- <event name="@checkAccount" ppi="CheckAccountPaymentsAllowed" next=",@payingAccountGetAmount"/>
- <event name="@payingAccountGetAmount" ppi="PayingAccountGetAmount" next=",@payingAccountGetReference,@payingAccountGetAmount"/>
- <event name="@payingAccountGetReference" permission="AllowCapturePaymentReference" permissionFail="@createAccountPayment" callSubstate="capturePaymentReference.state" substateNext="0,,@createAccountPayment"/>
- <event name="@createAccountPayment" ppi="CreateAccountPayment"/>
- <data name="customerCapture" calculate="CustomerCaptureButtonEnabled"/>
- <event name="Keyboard.customerCapture" ppi="InitCaptureCustomerLookup" next=",@customerCaptureSearch"/>
- <event name="@customerCaptureSearch" ppi="UseDeliveryAddress" next="@customerCaptureMode,@saveCustomerAddress"/>
- <event name="@customerCaptureMode" ppi="CaptureCustomerMode" next="@deactivateAutoLogoffCustomerCapture,@deactivateAutoLogoffCustomerCapture,@deactivateAutoLogoffCustomerCapture,@deactivateAutoLogoffCustomerCapture,@checkParkedOrders"/>
- <event name="@deactivateAutoLogoffCustomerCapture" ppi="DeactivateAutoLogoff" next=",@customerCapture"/>
- <event name="@customerCapture" callSubstate="customerCapture.state" substateNext="0,@autoLogoffStart2,@autoLogoffStart2,@customerAddress"/>
- <event name="@checkParkedOrders" permission="CheckParkedOrdersAllowed" permissionfail="@deactivateAutoLogoff" ppi="SetDialogDisposed" next=",@captureCustomerExternal"/>
- <event name="@deactivateAutoLogoff" ppi="DeactivateAutoLogoff" next=",@captureCustomerExternal"/>
- <event name="@captureCustomerExternal" callSubstate="customerCaptureExternal.state" substateNext="0,@setDialogNotDisposedCapCustExternal,@setDialogNotDisposedCapCustExternal"/>
- <event name="@setDialogNotDisposedCapCustExternal" ppi="SetDialogNotDisposed" next=",@autoLogoffStart2"/>
- <event name="Keyboard.taxExempt" next="taxExempt"/>
- <event name="Keyboard.F43" ppi="RepeatSelectedLine" permission="RepeatSelectedLine" next="@refreshPEDEJRepeatItem,@refreshPEDEJRepeatItem"/>
- <event name="Keyboard.F44" ppi="RepeatItem" permission="RepeatItem" next="@refreshPEDEJRepeatItem,@refreshPEDEJRepeatItem"/>
- <event name="Keyboard.F45" permission="SplitPackPpi" ppi="SplitPackPpi" next=",splitpack"/>
- <event name="Keyboard.F46" ppi="PrintLastReceipt" permission="PrintLastReceipt"/>
- <event name="Keyboard.F47" next="@reprintReceipt"/>
- <event name="Keyboard.F53" next="@taxPrint"/>
- <event name="Keyboard.quantity" ppi="CancelLineRefund" next="@validateQuantity,@validateQuantity,@validateQuantity" />
- <event name="@validateQuantity" permission="ValidateQuantity" ppi="ValidateQuantity" next="@cancelQuantity,@updateQuantity,@quantityReductionAsVoid"/>
- <event name="@updateQuantity" ppi="UpdateQuantity" next="@cancelQuantity,@voidTenderPromotion"/>
- <event name="@quantityReductionAsVoid" permission="QuantityReductionAsVoid" permissionFail="@updateQuantity" ppi="QuantityReductionAsVoid" next="@cancelQuantity,@voidTenderPromotion"/>
- <event name="Keyboard.trainingMode" callSubstate="displayREMMessages.state" substatenext=",@toggleTraining"/>
- <event name="@toggleTraining" ppi="TrainingMode" permission="TrainingMode" next=",@logoff"/>
- <event name="Keyboard.noSale" permission="NoSale" next="noSale,noSale"/>
- <event name="Keyboard.repeatSelectedItem" ppi="RepeatSelectedItem" permission="RepeatSelectedItem" next="@refreshEJPerItemOnItemRepeat,@refreshEJPerItemOnItemRepeat"/>
- <event name="Keyboard.repeatSelectedLine" ppi="RepeatSelectedLine" permission="RepeatSelectedLine" next="@refreshPEDEJRepeatItem,@refreshPEDEJRepeatItem"/>
- <event name="@refreshEJPerItemOnItemRepeat" permission="RefreshEJPerItem" ppi="RefreshEJPerItem" next="@refreshPEDEJRepeatItem,@refreshPEDEJRepeatItem"/>
- <event name="@refreshPEDEJRepeatItem" permission="LineItemDisplayPPI" ppi="LineItemDisplayPPI"/>
- <event name="Keyboard.voidSelectedItem" permission="CheckForGiftCardRefundLinesOnVoidSelected" ppi="SelectedLineType" next=",@voidSelectedItem,@voidSelectedTender,@voidSelectedItem"/>
- <event name="@voidSelectedItem" permission="VoidSelectedItem" ppi="VoidSelectedItem" next=",@voidTenderPromotion,@autoVoidTransaction"/>
- <event name="@voidSelectedTender" ppi="VoidSelectedTender" next=",@voidTenderPromotion"/>
- <event name="@voidTenderPromotion" ppi="VoidTenderPromotion" next=",@recalculateCoupons"/>
- <event name="Keyboard.secure" next="@lock"/>
- <event name="Keyboard.customerLoyalty" callSubstate="customerloyaltysale.state" substateNext="0,"/>
- <event name="Keyboard.lotteryDrawTicket" permission="LotteryDrawTicket" ppi="LotteryDrawTicket"/>
- <event name="Keyboard.euroDrawTicket" permission="EuroDrawTicket" ppi="EuroDrawTicket"/>
- <event name="Keyboard.lotteryDrawPrize" permission="LotteryDrawPrize" ppi="LotteryDrawPrize"/>
- <event name="Keyboard.lotteryInstantPrize" permission="LotteryInstantPrize" ppi="LotteryInstantPrize"/>
- <event name="Keyboard.kioskSale" permission="TransactionRecall" next="kioskSale"/>
- <event name="Keyboard.splitPack" permission="SplitPackPpi" ppi="SplitPackPpi" next=",splitpack"/>
- <event name="Keyboard.percentLineDiscount" ppi="PercentLineDiscount" next="@cancelQuantity,@recalculateCoupons"/>
- <event name="Keyboard.valueLineDiscount" ppi="ValueLineDiscount" next="@cancelQuantity,@recalculateCoupons"/>
- <event name="Keyboard.staffSale" permission="StaffSalePermission,CheckStaffDiscountAlreadyActive" ppi="CancelQuantity" next="@staffDiscount,@staffDiscount,@staffDiscount"/>
- <event name="Keyboard.priceOverride" next="@priceOverride"/>
- <event name="@priceOverride" permission="PriceOverride" ppi="PriceOverride" next="@recalculateCoupons,@recalculateCoupons,@scopDiscount"/>
- <event name="@scopDiscount" ppi="ValueLineDiscountSCOP" next="@cancelQuantity,@recalculateCoupons"/>
- <event name="Keyboard.taxByCustomerType" callSubstate="taxByCustomerType.state" substateNext=",,"/>
- <event name="Keyboard.taxExempt" next="@taxExempt"/>
- <event name="Keyboard.lineRefund" next="@lineRefund"/>
- <event name="Keyboard.refund" permission="CheckNoTrans" next="startrefund"/>
- <event name="Keyboard.zeroScales" ppi="ZeroScales" next="@resetSaleState,@resetSaleState,@resetSaleState"/>
- <!-- checks if trans in place and proceeds to continue, or resets to start sale to allow checks of membership etc again-->
- <event name="@resetSaleState" permission="CheckNoTransNoWarning" next="startSale"/>
- <event name="Keyboard.testScales" permission="ScaleInfoPermission" callSubstate="scaleInfo.state" substateNext="@resetSaleState,@resetSaleState"/>
- <event name="Keyboard.departmentSale" next="@departmentSale"/>
- <event name="@departmentSale" permission="DeptSale" ppi="DeptSale" next="@deptSaleRefusalRegisterThenSale,@deptSaleRefusalRegisterThenInit"/>
- <event name="@deptSaleRefusalRegisterThenSale" callSubstate="refusalRegister.state" substateNext=",,startSale"/>
- <event name="@deptSaleRefusalRegisterThenInit" callSubstate="refusalRegister.state" substateNext="@init,@init,startSale"/>
- <event name="Keyboard.GVByList" ppi="GiftVoucherByList"/>
- <event name="Keyboard.GV5" ppi="GiftVoucher5"/>
- <event name="Keyboard.GV10" ppi="GiftVoucher10"/>
- <event name="Keyboard.printLastReceipt" ppi="PrintLastReceipt" permission="PrintLastReceipt"/>
- <event name="Keyboard.reprintReceipt" next="@reprintReceipt"/>
- <event name="@reprintReceipt" permission="ReprintReceipt" ppi="ReprintReceipt" next=",@reprintStoreReceipt"/>
- <event name="@reprintStoreReceipt" ppi="StoreCopyReprintReceipt"/>
- <event name="Keyboard.taxReceipt" permission="TaxServicePPI" ppi="TaxServicePPI"/>
- <event name="Keyboard.taxPrint" next="@taxPrint"/>
- <event name="Keyboard.transactionSuspend" ppi="CancelQuantity" permission="CancelQuantity,CheckSeqrSuspendTrans,CheckForGiftCardRefundLinesOnSuspend" next="@suspend,@suspend,@suspend"/>
- <event name="Keyboard.voidTransaction" ppi="VoidTransaction" permission="CheckForGiftCardRefundLinesOnVoidTransaction,VoidTransaction" next=",@eftSessionEndNewSale"/>
- <event name="@eftSessionEndNewSale" callSubstate="eftSessionEnd.state" substateNext="startSale,startSale"/>
- <event name="@autoVoidTransaction" permission="CheckForGiftCardRefundLinesOnVoidTransaction,VoidItemVoidTransaction" ppi="VoidItemVoidTransaction" next=",@eftSessionEndNewSale"/>
- <event name="Keyboard.transactionRecall" permission="TransactionRecall" next="recall"/>
- <event name="Keyboard.takeDeposit" permission="CheckTakeDeposit" ppi="TakeDeposit" next=",@checkIfAddressRequired" />
- <event name="@checkIfAddressRequired" permission="DepositNameAddressEntryAllow" permissionFail="@createTakeDepositLine" next="@deactivateAutoLogoffGetNameAndAddress"/>
- <event name="@deactivateAutoLogoffGetNameAndAddress" ppi="DeactivateAutoLogoff" next=",@getNameAndAddress"/>
- <event name="@getNameAndAddress" callSubstate="CustomerCaptureChoice.state" substateNext=",@removeTakeDepositLine,@createTakeDepositLineBeforeAddress"/>
- <event name="@createTakeDepositLineBeforeAddress" ppi="CreateDepositPaymentLine" next=",@saveDepositCustomerInfo"/>
- <event name="@saveDepositCustomerInfo" ppi="AddCustomerInfoPPI" next="@clearDepositCustomerInfo,@clearDepositCustomerInfo"/>
- <event name="@clearDepositCustomerInfo" ppi="ClearCustomerInfoPPI" next=","/>
- <event name="@createTakeDepositLine" ppi="CreateDepositPaymentLine"/>
- <event name="@removeTakeDepositLine" ppi="ClearItem" next=","/>
- <event name="Keyboard.redeemDeposit" permission="RedeemDeposit" ppi="RedeemDeposit" next="@checkLineRefund,@checkLineRefund"/>
- <event name="Keyboard.refundDeposit" permission="RefundDeposit" ppi="RefundDeposit" next="@checkLineRefund,@checkLineRefund"/>
- <event name="Keyboard.salespersonSet" ppi="SetSalesPerson"/>
- <event name="Keyboard.salespersonClear" ppi="ClearSalesPerson"/>
- <event name="Keyboard.salespersonChange" permission="ChangeSalesPerson" ppi="ChangeSalesPerson"/>
- <event name="Keyboard.eCoupon" permission="LoyaltyElectronicCoupon" ppi="LoyaltyElectronicCoupon"/>
- <event name="Keyboard.changePassword" ppi="SetRequireCurrentPassword" next=",@changePassword"/>
- <event name="changePassword" callSubstate="changePassword.state" substateNext="0,,,@changePasswordSuccess,@resetSaleState"/>
- <event name="@changePasswordSuccess" ppi="ChangePasswordFinalise" next="@resetSaleState,@resetSaleState"/>
- <event name="Keyboard.logoff" callSubstate="displayREMMessages.state" substatenext=",@eftSAFClear"/>
- <event name="@eftSAFClear" callSubstate="eftSAFClear.state" substateNext="@logoffSelect,@logoffSelect"/>
- <event name="@logoffSelect" permission="OperatorAccountable,RemoveCashDrawerMessage" permissionFail="@logoff" ppi="LogoffSelect" next="@resetLanguage,@zRead,"/>
- <event name="Keyboard.subTotal" ppi="SubTotal"/>
- <event name="@resetLanguage" ppi="ResetLanguage" next="@resetCustomerLanguage,@resetCustomerLanguage"/>
- <event name="@resetCustomerLanguage" ppi="ResetCustomerLanguage" next="@logoff,@logoff"/>
- <event name="@logoff" callSubstate="operatorLogoff.state" substateNext="@eftSessionEndLogon,@eftSessionEndLogon"/>
- <event name="@eftSessionEndLogon" callSubstate="eftSessionEnd.state" substateNext="logon,logon"/>
- <event name="@zRead" permission="CheckNoTrans,OperatorLogoff" ppi="ForcedOperatorZReadOnLogoff" next="@logoffCDO,@logoffCDO"/>
- <event name="@logoffCDO" callSubstate="operatorLogoff.state" substateNext="@eftSessionEnd,@eftSessionEnd"/>
- <event name="@eftSessionEnd" callSubstate="eftSessionEnd.state" substateNext="logonCDO,logonCDO"/>
- <event name="Keyboard.manager" ppi="CancelQuantity" next="@manager,@manager,@manager"/>
- <!--event name="Keyboard.total" ppi="CancelQuantity" next="@total,@total,@total"/-->
- <!--adding one event @goTotal to sync phone number capture-->
- <event name="Keyboard.total" next="@startTotal"/>
- <event name="@startTotal" ppi="SendBypassRequestPPI" next="@goTotal,@goTotal"/>
- <event name="@goTotal" permission="ProcessDelayedAuth" permissionFail="@customerCaptureOnly" callSubstate="delayedAuth.state" substateNext=",@customerCaptureOnly"/>
- <event name="@customerCaptureOnly" ppi="CustomerCaptureOnly" next="@goTocancelQuantity,eot"/>
- <event name="@goTocancelQuantity" ppi="CancelQuantity" next="@serviceCharge,@serviceCharge,@serviceCharge"/>
- <event name="@serviceCharge" ppi="ServiceChargePPI" next="@checkPendingMessages,@checkPendingMessages"/>
- <event name="@checkPendingMessages" callSubstate="displayREMMessages.state" substatenext=",@total"/>
- <event name="Keyboard.checkWeigh" next="@checkWeigh"/>
- <event name="@cancelQuantity" ppi="CancelQuantity" next="@cancelPriceOverride,@cancelPriceOverride"/>
- <event name="@cancelPriceOverride" ppi="CancelPriceOverride" next="@cancelCustomerLoyalty,@cancelCustomerLoyalty"/>
- <event name="@cancelCustomerLoyalty" ppi="CancelCustomerLoyalty" next="@cancelTaxExempt,@cancelTaxExempt"/>
- <event name="@cancelTaxExempt" ppi="CancelTaxExempt" next="@cancelLineRefund,@cancelLineRefund"/>
- <event name="@cancelLineRefund" ppi="CancelLineRefund" next="@cancelLineRefundByPriceHistory,@cancelLineRefundByPriceHistory,@lineRefund"/>
- <event name="@cancelLineRefundByPriceHistory" ppi="LineRefundByPriceHistoryCancel" next="@cancelSplitPack,@cancelSplitPack"/>
- <event name="@cancelSplitPack" ppi="CancelSplitPack"/>
- <event name="@suspend" permission="VoidCouponTendersForSuspend" ppi="VoidCouponTendersForSuspend" next=",@suspendCont"/>
- <event name="@suspendCont" ppi="TransactionSuspend" permission="TransactionSuspend" next=",@oldTrans,@deactivateAutoLogoffNameCapture"/>
- <event name="@oldTrans" ppi="OldTrans" next="@eftSessionEndNewSale,@eftSessionEndNewSale"/>
- <event name="@deactivateAutoLogoffNameCapture" ppi="DeactivateAutoLogoff" next=",@nameCapture"/>
- <event name="@nameCapture" callSubstate="CustomerCaptureChoice.state" substateNext=",,@saveSuspendCustomer"/>
- <event name="@saveSuspendCustomer" ppi="AddCustomerInfoPPI" next="@clearSuspededCustomer,@clearSuspededCustomer"/>
- <event name="@clearSuspededCustomer" ppi="ClearCustomerInfoPPI" next=",@suspend"/>
- <event name="@CleanReceipt" ppi="CleanReceipt" permission="CleanReceipt" permissionFail="startSale" next="startSale,startSale"/>
- <event name="Keyboard.officialReceipt" ppi="OfficialReceipt" permission="OfficialReceipt" />
- <!-- collection service and take-away
- <event name="Keyboard.F31" permission="DServFTrackPermission" ppi="ServiceDelivery"/>
- <event name="Keyboard.collectionService" permission="DServFTrackPermission" ppi="ServiceDelivery"/>
- <data name="collectionService" calculate="ServiceDelivery"/>
- <event name="Keyboard.F32" permission="ExcludeService,TakeHomePermission" ppi="ExcludeService"/>
- <event name="Keyboard.takeAway" permission="ExcludeService,TakeHomePermission" ppi="ExcludeService"/>
- <data name="takeAway" calculate="ExcludeService"/>-->
- <!-- collection service and taken -->
- <event name="Keyboard.collectionService" permission="CServPermission" ppi="ServiceCollection"/>
- <data name="collectionService" calculate="ServiceCollection,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.taken" permission="ExcludeCollectionService,TakenPermission" ppi="ExcludeCollectionService"/>
- <data name="taken" calculate="ExcludeCollectionService,OnlineSaleRefundInProgress"/>
- <!-- Access the manager menu -->
- <event name="@manager" ppi="CheckNoTrans" permission="AccessManagerMenu,CheckNoTrans" next=",managerMenu"/>
- <!-- Handle Tax Exempt Transactions -->
- <event name="@taxExempt" callSubstate="taxExempt.state" substateNext="@checkLineRefund,@checkLineRefund"/>
- <!-- Handle Tax Modify Transactions -->
- <event name="Keyboard.taxModify" next="@taxModify"/>
- <event name="@taxModify" permission="TaxOverride" ppi="TaxOverride" next=",,@taxModify"/>
- <event name="@total" permission="DisplayBagFeePromptPPI" permissionFail="@totalAfterBagFeePrompt" next="@setDefaultItem"/>
- <event name="@setDefaultItem" ppi="DisplayBagFeePromptPPI" next="@bagFeePrompt,@bagFeePrompt"/>
- <event name="@bagFeePrompt" permission="DisplayBagFeePromptPPI" permissionFail="@totalAfterBagFeePrompt" callSubstate="bagFeePrompt.state" substateNext="baseSale,,@totalAfterBagFeePrompt"/>
- <event name="@totalAfterBagFeePrompt" permission="CheckForTrainingMode" permissionFail="@promotionOnTotal" ppi="LoyaltyCardOnTotal" next="@intendedPaymentMediaOnTotal,@getLoyaltyCardOnTotal"/>
- <event name="@getLoyaltyCardOnTotal" ppi="LoyaltyCardTotalMode" next=",@captureLoyaltyCardOnTotal" />
- <event name="@captureLoyaltyCardOnTotal" callSubstate="loyalty.state" substatenext=",@getLoyaltyCardOnTotal,@promotionOnTotal"/>
- <event name="@intendedPaymentMediaOnTotal" permission="AddTenderIntendedPaymentMedia" permissionFail="@promotionOnTotal" ppi="AddTenderIntendedPaymentMedia" next="@promotionOnTotal,@promotionOnTotal"/>
- <event name="@promotionOnTotal" callsubstate="promotionMessages.state" substatenext=",,@checkMagazineVoucherAndVotingCoupon"/>
- <event name="@checkMagazineVoucherAndVotingCoupon" ppi="CheckMagazineVoucherAndVotingCoupon" next="@retrieveCoupons,@retrieveCoupons,@addMagazineVoucherProduct"/>
- <event name="@addMagazineVoucherProduct" callSubstate="itemSale.state" next="@checkMagazineVoucherAndVotingCoupon" />
- <event name="@retrieveCoupons" permission="RetrieveCoupons" permissionFail="@paymentTenderMessages" ppi="RetrieveCoupons" next="@paymentTenderMessages,@applyCoupons,@paymentTenderMessages,@filterCouponsWithUserInput"/>
- <event name="@filterCouponsWithUserInput" callSubstate="couponSelectionState.state" substateNext="@cancelTender,@applyCoupons"/>
- <event name="@applyCoupons" ppi="ApplyCoupons" next="@paymentTenderMessages,@paymentTenderMessages"/>
- <event name="@paymentTenderMessages" callsubstate="paymentTenderMessages.state" substatenext=",,@confirmedTotal"/>
- <event name="@confirmedTotal" ppi="Total" next=",@checkMediaExchange,@checkMediaExchange,@checkMediaExchange,@noLinesToTenderCheckLaloMin"/>
- <event name="@checkMediaExchange" permission="CheckMediaExchange" permissionFail="@validateElectronicCouponOnTotal" next="@recalculateCouponsAfterTotal"/>
- <event name="@validateElectronicCouponOnTotal" permission="DisableFunctionAfterTender" permissionFail="@recalculateCouponsAfterTotal" ppi="ElectronicCouponBarcode" next="@tenderElectronicCouponOnTotal,@tenderElectronicCouponOnTotal" />
- <event name="@tenderElectronicCouponOnTotal" permission="CheckLotteryTrans" permissionFail="@recalculateCouponsAfterTotal" ppi="ElectronicCouponTender" next="@recalculateCouponsAfterTotal,@recalculateCouponsAfterTotal"/>
- <event name="@recalculateCouponsAfterTotal" callSubstate="recalculateCoupons.state" substateNext="@recalculateTotalLine,@recalculateTotalLine,@recalculateTotalLine"/>
- <event name="@recalculateTotalLine" ppi="TotalLineSupport" next="@reconfirmTotal,@reconfirmTotal"/>
- <event name="@reconfirmTotal" permission="TotalRefundThresholdOverridePPI" ppi="TotalsGateway" next=",@goToTenderCheckLaloMin,@goToChangeCheckLaloMin,@refundTenderCheckLaloMin"/>
- <event name="@goToTenderCheckLaloMin" permission="CheckLaloMin" permissionFail="@goToTender" ppi="CheckLaloMin" next="@cancelTender,@goToTender"/>
- <event name="@goToChangeCheckLaloMin" permission="CheckLaloMin" permissionFail="@goToChange" ppi="CheckLaloMin" next="@cancelTender,@goToChange"/>
- <event name="@refundTenderCheckLaloMin" permission="CheckLaloMin" permissionFail="@refundTender" ppi="CheckLaloMin" next="@cancelTender,@refundTender"/>
- <event name="@noLinesToTenderCheckLaloMin" permission="CheckLaloMin" permissionFail="@noLinesToTender" ppi="CheckLaloMin" next="@cancelTender,@noLinesToTender"/>
- <event name="@noLinesToTender" ppi="DisplayMessageBoxNoLinesToTender"/>
- <event name="@goToTender" callsubstate="receiptPrintingMethod.state" substatenext="@cancelTender,@socialResponsibility"/>
- <event name="@socialResponsibility" ppi="SocialResponsibilityPPI" next="@refreshEJAfterPromotion,@refreshEJAfterPromotion"/>
- <event name="@refreshEJAfterPromotion" ppi="RefreshEJPerItem" next="tenderSelect,tenderSelect" />
- <event name="@goToChange" callsubstate="receiptPrintingMethod.state" substatenext="@cancelTender,change"/>
- <event name="@refundTender" permission="RefundNameAddressEntryAllow" permissionFail="@addOriginalTender" next="@refundCustomer,@refundCustomer"/>
- <event name="@refundCustomer" permission="CheckParkedOrdersAllowed" permissionFail="@deactivateAutoLogoffRefundCustomer" ppi="SetDialogDisposed" next=",@refundCustomerCaptureChoice"/>
- <event name="@deactivateAutoLogoffRefundCustomer" ppi="DeactivateAutoLogoff" next=",@refundCustomerCaptureChoice"/>
- <event name="@refundCustomerCaptureChoice" callSubstate="CustomerCaptureChoice.state" substateNext="0,@setDialogNotDisposedCancel,@setDialogNotDisposedSave"/>
- <event name="@setDialogNotDisposedSave" ppi="SetDialogNotDisposed" next=",@saveCustomerInfo"/>
- <event name="@saveCustomerInfo" ppi="AddCustomerInfoPPI" next="@clearCustomerInfo,@clearCustomerInfo"/>
- <event name="@clearCustomerInfo" ppi="ClearCustomerInfoPPI" next="@cancelTenderForDiscountRetotal,@cancelTenderForDiscountRetotal"/>
- <event name="@cancelTenderForDiscountRetotal" ppi="CancelTenderForDiscountRetotal" next=",@retotal,@retotal,@retotal,@retotal"/>
- <event name="@retotal" ppi="Total" next=",@goToTender,@goToChange,@addOriginalTender"/>
- <event name="@addOriginalTender" ppi="AddOriginalTenderPPI" next=",@goToTender"/>
- <event name="@setDialogNotDisposedCancel" ppi="SetDialogNotDisposed" next=",@cancelTender"/>
- <event name="@cancelTender" ppi="CancelTender" next=",,,,@lineRefund"/>
- <event name="@taxPrint" ppi="TaxServicePPI" permission="TaxServicePPI"/>
- <!-- Tax Free Direct Export -->
- <event name="Keyboard.taxFreeDirectExport" next="@taxFreeDirectExport"/>
- <event name="@taxFreeDirectExport" permission="TaxFreeDirectExportPermission" ppi="TaxFreeDirectExport" Next=",@taxFreeDirectExportConfirm"/>
- <event name="@taxFreeDirectExportConfirm" ppi="TaxFreeDirectExportConfirm" Next=",@deliveryAddressRequired"/>
- <event name="@deliveryAddressRequired" ppi="DeliveryAddressRequired" next="@next,@canCustomerAddressBeUsed"/>
- <event name="@canCustomerAddressBeUsed" permission="UseCustomerAddress" permissionFail="@captureDeliveryAddress" ppi="UseCustomerAddress" next="@deactivateAutoLogoffCaptureDeliveryAddress,@addDeliveryAddress"/>
- <event name="@deactivateAutoLogoffCaptureDeliveryAddress" ppi="DeactivateAutoLogoff" next=",@captureDeliveryAddress"/>
- <event name="@captureDeliveryAddress" callSubstate="CustomerCaptureChoice.state" substateNext=",,@addDeliveryAddress"/>
- <event name="@addDeliveryAddress" ppi="AddCustomerInfoPPI" next="@updateEJ,@customerLookupClear"/>
- <event name="@customerLookupClear" ppi="ClearCustomerInfoPPI" next=",@updateEJ"/>
- <event name="@next" next="@updateEJ"/>
- <event name="@updateEJ" ppi="TaxFreeDirectExportUpdateTransaction"/>
- <!-- Void next item -->
- <event name="Keyboard.F49" next="@voidNextItem"/>
- <event name="Keyboard.voidNextItem" next="@voidNextItem"/>
- <event name="@voidNextItem" permission="VoidNextItem" next="voidNextItem"/>
- <!--
- 0: exit application
- 1: Checkweigh failure
- 2: Checkweigh success exactly
- 3: Cancelled
- 4: Not authorised
- 5: Checkweigh success within tolerance
- -->
- <event name="@checkWeigh" callSubstate="checkWeigh.state" substateNext="0,@checkCanTradeWithoutScales,startSale,startSale,startSale,startSale"/>
- <event name="@checkCanTradeWithoutScales" ppi="CheckCanTradeWithoutScales" next="@shutDown,@alertRunningWithoutScales"/>
- <event name="@alertRunningWithoutScales" ppi="TillRunningWithoutScales" next=",startSale"/>
- <!-- cache utilities -->
- <event name="Cache" permission="CheckNoTransNoWarning" ppi="CacheUtilities"/>
- <event name="Keyboard.restrictedProductSelection" permission="RestrictedSelectionPermission" ppi="DeactivateAutoLogoff" next=",@proceedToRestrictedSelection"/>
- <event name="@proceedToRestrictedSelection" callSubstate="itemImages2.state" substateNext="0,@displayInitialCard,@autoLogoffStart3"/>
- <!-- Self-Checkout specific events -->
- <event name="Keyboard.scoCallForHelp" next="@manualCallForHelp"/>
- <event name="@manualCallForHelp" ppi="AmberBlinkLight" next="@callForHelpAudio,@callForHelpAudio"/>
- <event name="@callForHelpAudio" ppi="callForHelpAudioClip" next=",@callForHelpMsg"/>
- <event name="@callForHelpMsg" ppi="ManualCallForHelp" next="@greenLight,@greenLight"/>
- <event name="@greenLight" ppi="GreenLight"/>
- <event name="@callForHelp" ppi="AmberBlinkLight" next="@sysCallForHelpAudio,@sysCallForHelpAudio"/>
- <event name="@sysCallForHelpAudio" ppi="callForHelpAudioClip" next=",@sysCallForHelpMsg"/>
- <event name="@sysCallForHelpMsg" ppi="CallForHelp" next="@sysGreenLight,@sysGreenLight"/>
- <event name="@sysGreenLight" ppi="GreenLight" next="@switchToSupportOperator,@switchToSupportOperator"/>
- <event name="Keyboard.scoHandoverTxn" ppi="GreenLight" next="@switchToSupportOperator,@switchToSupportOperator"/>
- <event name="@switchToSupportOperator" callSubstate="switchToSupportOperator.state" substateNext="@redrawEJ,startSaleEx,@logoff"/>
- <event name="Keyboard.returnToSco" callSubstate="switchToSco.state" substateNext="@redrawEJ,@redrawEJ"/>
- <event name="Keyboard.keyInCode" callSubstate="enterProductCode.state" substateNext=",@SelfCheckoutInProgress"/>
- <event name="Keyboard.scoClearTransaction" ppi="GreenLight" next="@clearTransaction,@clearTransaction"/>
- <event name="@clearTransaction" callsubstate="ScoClearTransaction.state" substateNext="@greenLight,startSale"/>
- <event name="Keyboard.scoVoidSelectedItem" callsubstate="ScoVoidItem.state" substateNext="@greenLight,@greenLight"/>
- <event name="Keyboard.addLoyaltyCard" ppi="LoyaltyCardLoyaltyMode" next=",@getLoyaltyCard" />
- <event name="@selfCheckoutLoyaltyCardAdded" ppi="CheckPersonalityTypeSelfCheckout" next=",@loyaltyCardAddedAudio,"/>
- <event name="@loyaltyCardAddedAudio" ppi="loyaltyCardAddedAudioClip"/>
- <event name="@redrawEJ" ppi="RefreshEJFull"/>
- <event name="Keyboard.scoTotal" next="@startTotal"/>
- <data name="scoCallForHelp" value="10"/>
- <data name="keyInCode" value="10"/>
- <data name="returnToSco" calculate="ReturnToScoPPI"/>
- <data name="scoHandoverTxn" calculate="CheckTrans"/>
- <data name="scoClearTransaction" value="10"/>
- <data name="scoVoidSelectedItem" calculate="VoidSelectedItem"/>
- <data name="addLoyaltyCard" calculate="LoyaltyCardAlreadyCaptured"/>
- <data name="scoTotal" calculate="Total"/>
- <event name="Keyboard.unsuspendPoints" ppi="LoyaltyCardSalesMode" next=",@unSuspendProcess"/>
- <event name="Keyboard.selfscan" permission="SelfScanTxnRecall" callSubstate="selfscanTxnRecall.state" substateNext=",,startSale"/>
- <event name="@unSuspendProcess" ppi="UnSuspendLoyalty" next=",@processSuspendedPoints"/>
- <event name="@processSuspendedPoints" callSubstate="loyalty.state" substateNext="startSale,startSale,eot" />
- <data name="unsuspendPoints" calculate="UnSuspendLoyalty"/>
- <data name="selfscan" calculate="SelfScanTxnRecall"/>
- <event name="Keyboard.votingAtPos" ppi="LoyaltyCardSalesMode" next="@votingAtPosProcess,@votingAtPosProcess"/>
- <event name="@votingAtPosProcess" ppi="VotingAtPos" next=",@processVotingAtPos"/>
- <event name="@processVotingAtPos" callSubstate="loyalty.state" substateNext="startSale,startSale,eot"/>
- <data name="votingAtPos" calculate="VotingAtPos"/>
- <!-- Item image selection -->
- <event name="Keyboard.productSelection" permission="ProductSelectionPermission,CheckParkedOrdersAllowed" permissionfail="@deactivateAutoLogoffProductSelection" ppi="SetDialogDisposed" next=",@productSelection"/>
- <event name="@deactivateAutoLogoffProductSelection" ppi="DeactivateAutoLogoff" next=",@productSelection"/>
- <event name="@productSelection" callSubstate="itemImages.state" substateNext="0,@displayInitialCard,@autoLogoffStart3"/>
- <!--Clock In publish only -->
- <event name="Keyboard.clockInOut" permission="ClockInPublishOnlyPPI" next="@publishClockInInfo"/>
- <event name="@publishClockInInfo" callSubstate="clockInPublishOnly.state" substateNext="0"/>
- <!-- stay in production selection -->
- <event name="Keyboard.stayInProductionSelection" permission="ProductSelectionPermission,CheckParkedOrdersAllowed" permissionfail="@deactivateAutoLogoffStayInProductSelection" ppi="SetDialogDisposed" next=",@stayInProductSelection"/>
- <event name="@deactivateAutoLogoffStayInProductSelection" ppi="DeactivateAutoLogoff" next=",@stayInProductSelection"/>
- <event name="@stayInProductSelection" next="stayInProductSelection"/>
- <event name="@autoLogoffStart3" ppi="ActivateAutoLogoff" next=",@checkTill"/>
- <event name="@displayInitialCard" ppi="DisplayInitialCard" next="@autoLogoffStart2,@autoLogoffStart2"/>
- <event name="@checkTill" ppi="CheckDedicatedTill" next="@barcodeRouter,"/>
- <event name="@barcodeRouter" permission="BarcodeRouter" ppi="BarcodeRouter" next=",,@receiptSelfCheckout,,@giftReceipt"/>
- <event name="@receiptSelfCheckout" ppi="CheckPersonalityTypeSelfCheckout" next="@receipt,@receiptSelfCheckoutMessage,@receipt"/>
- <event name="@receiptSelfCheckoutMessage" ppi="InvalidBarcodeReceiptMsg"/>
- <event name="Keyboard.eTopup" permission="ETopUpInit" ppi="DeactivateAutoLogoff" next=",@etopupSelection"/>
- <event name="@etopupSelection" callSubstate="eProductSelection.state" substateNext="0,@displayInitialCard,@checkTill"/>
- <data name="eTopup" calculate="EProductSelection,CheckRefund,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.giftReceipt" permission="SetGRLine" permissionFail="@SetGRTxn" next="@SetGRLine"/>
- <event name="@SetGRTxn" ppi="SetGRTxn"/>
- <event name="@SetGRLine" ppi="SetGRLine"/>
- <data name="giftReceipt" calculate="SetGRLine,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.rainCheck" permission="ManagerAuthRainCheck" next="rainCheck"/>
- <data name="rainCheck" calculate="CheckNoTransExcludeCustomerInfo, RainCheckAllowed,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.saleGiftCard" next="baseSaleNewGiftCard"/>
- <data name="saleGiftCard" value="10"/>
- <event name="Keyboard.eWICBalanceInquiry" next="@getEWICBalanceInquiry"/>
- <event name="@getEWICBalanceInquiry" callSubstate="eWic.state"/>
- <data name="eWICBalanceInquiry" calculate="" />
- <event name="Keyboard.loyaltyCard" ppi="LoyaltyCardLoyaltyMode" next=",@getLoyaltyCard" />
- <event name="@getLoyaltyCard" callSubstate="loyalty.state" substateNext=",,@selfCheckoutLoyaltyCardAdded"/>
- <data name="loyaltyCard" calculate="LoyaltyButtonsEnabled,CheckForTrainingMode,OnlineSaleRefundInProgress,SuspendLoyalty" />
- <event name="Keyboard.viewLoyaltyDetails" ppi="ViewLoyaltyDetailsMode" next=",@viewLoyaltyDetails"/>
- <event name="@viewLoyaltyDetails" callSubstate="loyalty.state" substateNext=",,"/>
- <data name="viewLoyaltyDetails" calculate="ViewLoyaltyDetails" />
- <event name="Keyboard.joinLoyaltyScheme" ppi="NewLoyaltyMembership" next=",@newCard"/>
- <event name="@newCard" callSubstate="loyalty.state" />
- <data name="joinLoyaltyScheme" calculate="LoyaltyButtonsEnabled,CheckForTrainingMode,OnlineSaleRefundInProgress" />
- <event name="Keyboard.returnLoyalty" ppi="ReturnLoyaltyMembership" next=",@returnCard"/>
- <event name="@returnCard" callSubstate="loyalty.state" />
- <data name="returnLoyalty" calculate="LoyaltyButtonsEnabled,CheckForTrainingMode,OnlineSaleRefundInProgress" />
- <event name="Keyboard.addLoyaltyBonusPoints" permission="AddLoyaltyBonusPoints" ppi="LoyaltyBonusPointsFlowChecker" next="@captureCardToAddPoints,@addLoyaltyBonusPoints"/>
- <event name="@captureCardToAddPoints" ppi="LoyaltyCardManualPointsMode" next=",@captureCardToAddPoints2" />
- <event name="@captureCardToAddPoints2" callSubstate="loyalty.state" substateNext=",,@addLoyaltyBonusPoints"/>
- <event name="@addLoyaltyBonusPoints" ppi="AddLoyaltyBonusPoints"/>
- <data name="addLoyaltyBonusPoints" calculate="AddLoyaltyBonusPoints,LoyaltyButtonsEnabled,CheckForTrainingMode,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.deductLoyaltyBonusPoints" permission="DeductLoyaltyBonusPoints" ppi="LoyaltyBonusPointsFlowChecker" next="@captureCardToDeductPoints,@deductLoyaltyBonusPoints"/>
- <event name="@captureCardToDeductPoints" ppi="LoyaltyCardManualPointsMode" next=",@captureCardToDeductPoints2" />
- <event name="@captureCardToDeductPoints2" callSubstate="loyalty.state" substateNext=",,@deductLoyaltyBonusPoints"/>
- <event name="@deductLoyaltyBonusPoints" ppi="DeductLoyaltyBonusPoints"/>
- <data name="deductLoyaltyBonusPoints" calculate="DeductLoyaltyBonusPoints,LoyaltyButtonsEnabled,CheckForTrainingMode,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.customerOrder" permission="CustomerOrderPermission,OrderNotOnTransaction" next="@checkParkedOrdersAllowed"/>
- <event name="@checkParkedOrdersAllowed" permission="CheckParkedOrdersAllowed" permissionfail="@deactivateAutoLogoffCustomerOrder" ppi="SetDialogDisposed" next=",@gotoExternalBrowser"/>
- <event name="@deactivateAutoLogoffCustomerOrder" ppi="DeactivateAutoLogoff" next=",@gotoExternalBrowser"/>
- <event name="@gotoExternalBrowser" permission="CheckOMSConfigured" permissionFail="@processOrder" callSubstate="externalOrderBrowser.state" subStateNext=",@processCapturedOrder"/>
- <event name="@processOrder" callSubstate="processOrder.state" substateNext="0,@setDialogNotDisposedCustomerOrder"/>
- <event name="@setDialogNotDisposedCustomerOrder" ppi="SetDialogNotDisposed"/>
- <event name="@orderAlreadyOnTransaction" ppi="OrderAlreadyOnTransactionMessage"/>
- <event name="@processCapturedOrder" callSubState="processCapturedOrder.state" substateNext=",,@gotoExternalBrowser"/>
- <event name="@gotoExternalBrowserForRefund" permission="OrderNotOnTransaction" permissionFail="@orderAlreadyOnTransaction" next="@refundOrder"/>
- <event name="@refundOrder" permission="CheckOMSConfigured" permissionFail="@processCapturedOrderForRefund" callSubstate="externalOrderBrowser.state" subStateNext=",@processCapturedOrderForRefund"/>
- <event name="@processCapturedOrderForRefund" callSubState="processCapturedOrder.state" substateNext=",,@goBackToExternalBrowser"/>
- <event name="@goBackToExternalBrowser" permission="CheckOMSConfigured" permissionFail="@goToTransactionSearch" callSubstate="externalOrderBrowser.state" subStateNext=",@processCapturedOrderForRefund"/>
- <event name="@goToTransactionSearch" callSubState="transactionSearchDisplay.state" substateNext="0,@autoLogoffStart,@recall,@autoLogoffStart,@refund,@autoLogoffStart,tenderSelect,@autoLogoffStart,tenderSelect,@autoLogoffStartStartSale,@refundDeposit,@iouReceipt,@driveOffReceipt,@refundPeriodAuthorise,@retrospectivePoints,@refundPeriodAuthorise"/>
- <data name="customerOrder" calculate="CustomerOrderButtonEnabled,OrderNotOnTransaction,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.rewardsCard" next="rewardsCard" />
- <data name="rewardsCard" calculate="RewardsCardButtonEnabled,CheckForTrainingMode,OnlineSaleRefundInProgress" />
- <data name="subTotal" calculate="SubTotal"/>
- <data name="departmentSale" calculate="CheckLotteryTrans,CheckRefundDeptSale"/>
- <data name="quantity" calculate="ValidateQuantity"/>
- <data name="quantityPrice" value="0"/>
- <data name="trainingMode" calculate="CheckNoTrans"/>
- <data name="noSale" calculate="CheckNoTrans"/>
- <data name="repeatSelectedItem" calculate="RepeatSelectedItem"/>
- <data name="repeatSelectedLine" calculate="RepeatSelectedLine"/>
- <data name="voidSelectedItem" calculate="VoidSelectedTender,VoidSelectedItem"/>
- <data name="voidNextItem" calculate="VoidNextItem,CheckLotteryTrans"/>
- <data name="secure" calculate="DisableAutoSecureOnActiveTransactionPPI"/>
- <data name="customerLoyalty" value="10"/>
- <data name="lotteryDrawTicket" value="10"/>
- <data name="euroDrawTicket" value="10"/>
- <data name="lotteryDrawPrize" value="10"/>
- <data name="lotteryInstantPrize" value="10"/>
- <data name="eWICBalanceInquiry" value="OnlineSaleRefundInProgress"/>
- <data name="kioskSale" calculate="CheckNoTrans"/>
- <data name="splitPack" calculate="SplitPackPpi"/>
- <data name="percentLineDiscount" calculate="PercentLineDiscount"/>
- <data name="valueLineDiscount" calculate="ValueLineDiscount"/>
- <data name="staffSale" calculate="StaffSaleButtonEnabled"/>
- <data name="priceOverride" calculate="PriceOverride"/>
- <data name="taxExempt" calculate="TaxExempt"/>
- <data name="taxFreeDirectExport" calculate="TaxFreeDirectExport"/>
- <data name="taxModify" calculate="TaxOverride"/>
- <data name="lineRefund" calculate="LineRefund,CheckLotteryTrans"/>
- <data name="refund" calculate="LineRefund,CheckLotteryTrans"/>
- <data name="zeroScales" calculate="ZeroScales,OnlineSaleRefundInProgress"/>
- <data name="testScales" calculate="CheckScalesExist,SidekeyModeCheck,OnlineSaleRefundInProgress"/>
- <data name="GVByList" value="10"/>
- <data name="GV5" value="10"/>
- <data name="GV10" value="10"/>
- <data name="printLastReceipt" calculate="PrintLastReceipt"/>
- <data name="reprintReceipt" calculate="ReprintReceipt,OnlineSaleRefundInProgress"/>
- <data name="taxReceipt" calculate="TaxServicePPI,OnlineSaleRefundInProgress"/>
- <!--data name="taxPrint" calculate="SimpleTax"-->
- <data name="transactionSuspend" calculate="TransactionSuspend,CheckLotteryTrans,IsServerAlive,CheckMoneyOrderItem,OrderNotOnTransaction,ProcessDelayedAuth"/>
- <data name="voidTransaction" calculate="VoidTransaction"/>
- <data name="transactionSearch" calculate="SidekeyModeCheck,OnlineSaleRefundInProgress"/>
- <data name="transactionRecall" calculate="TransactionRecall"/>
- <data name="changePassword" calculate="CheckNoTrans,OnlineSaleRefundInProgress"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans,CheckParkedOrdersAllowed"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- <data name="EJ" value="10"/>
- <data name="SIPSEJ" value="10"/>
- <data name="CustEJ" value="10"/>
- <data name="checkWeigh" calculate="CheckNoTrans,UseCheckWeigh,OnlineSaleRefundInProgress"/>
- <data name="salespersonSet" calculate="OnlineSaleRefundInProgress"/>
- <data name="salespersonClear" calculate="ClearSalesPerson,OnlineSaleRefundInProgress"/>
- <data name="salespersonChange" calculate="ChangeSalesPerson,OnlineSaleRefundInProgress"/>
- <data name="eCoupon" calculate="LoyaltyElectronicCoupon"/>
- <data name="scaleMaint" value="10"/>
- <data name="miscSales" value="10"/>
- <data name="accountPayment" calculate="CheckAccountPayment,OnlineSaleRefundInProgress"/>
- <data name="newsAccountPayment" calculate="CheckAccountPayment,NewsEnabledSupport,OnlineSaleRefundInProgress"/>
- <data name="productSelection" value="10"/>
- <data name="restrictedProductSelection" value="10"/>
- <data name="stayInProductSelection" value="10"/>
- <data name="deposit" value="10"/>
- <data name="takeDeposit" calculate="CheckTakeDeposit,OnlineSaleRefundInProgress"/>
- <data name="redeemDeposit" calculate="RedeemDeposit,OnlineSaleRefundInProgress"/>
- <data name="refundDeposit" calculate="RefundDeposit,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.messageButton" ppi="MessageDisplay"/>
- <data name="messageButton" calculate="MessageDisplay"/>
- <event name="Keyboard.productSearch" permission="CheckParkedOrdersAllowed" permissionfail="@deactivateAutoLogoffProductSearch" ppi="SetDialogDisposed" next=",@productSearch"/>
- <event name="@deactivateAutoLogoffProductSearch" ppi="DeactivateAutoLogoff" next=",@productSearch"/>
- <event name="@productSearch" callSubstate="extendedProductSearch.state" substateNext="@productSearchCancel,@productSearchSellItem"/>
- <event name="@productSearchCancel" ppi="ActivateAutoLogoff"/>
- <event name="@productSearchSellItem" ppi="ActivateAutoLogoff" next=",@addToTransaction"/>
- <event name="@addToTransaction" ppi="ProductSearchResultsBasicItemData" next=",@item"/>
- <data name="productSearch" value="10"/>
- <event name="Keyboard.customerAddress" ppi="DeactivateAutoLogoff" next=",@checkDeliveryAddressCustomer"/>
- <event name="@checkDeliveryAddressCustomer" ppi="UseDeliveryAddress" next="@customerAddress,@saveCustomerAddress"/>
- <event name="@customerAddress" callSubstate="NameAddress.state" substateNext="@autoLogoffStart2,@autoLogoffStart2,@saveCustomerAddress"/>
- <event name="@saveCustomerAddress" ppi="AddCustomerInfoPPI" next="@clearCustomerAddress,@clearCustomerAddress"/>
- <event name="@clearCustomerAddress" ppi="ClearCustomerInfoPPI" next="@autoLogoffStart2,@autoLogoffStart2"/>
- <data name="customerAddress" calculate="NameAddressCaptureComputation, AddressCaptureButtonEnabled"/>
- <!-- Goodwill by cash -->
- <event name="Keyboard.goodwillCash" permission="GoodwillPopup" ppi="GoodwillCash" next="sale,@goodWillTotal,sale"/>
- <event name="@goodWillTotal" ppi="Total" next="@cancelGoodwill,@cashTender,change,@cashTender,@noLinesToTender"/>
- <event name="@noLinesToTender" ppi="DisplayMessageBoxNoLinesToTender"/>
- <event name="@cashTender" permission="CashTender" ppi="CashTender" next="@cancelGoodwill,@cancelGoodwill,change"/>
- <event name="@cancelGoodwill" ppi="VoidTransactionNoPrompt" next="startSale,startSale"/>
- <data name="goodwillCash" calculate="GoodwillCash"/>
- <event name="Keyboard.postOfficePayout" permission="PostOfficePayout" ppi="PostOfficePayout" next="startSale,change"/>
- <data name="postOfficePayout" calculate="CheckNoTrans"/>
- <!-- Gift Card Consolidation -->
- <event name="Keyboard.giftCardConsolidate" next="giftCardConsolidation"/>
- <data name="giftCardConsolidate" calculate="GiftCardConsolidationInit,OnlineSaleRefundInProgress"/>
- <!-- GC Topup -->
- <event name="Keyboard.giftCardTopup" permission="GiftCardTopup" next="baseGiftCardTopup"/>
- <data name="giftCardTopup" value="10"/>
- <event name="Keyboard.nfcTopUp" ppi="nfcTopUp" next=",externalGiftCardTopup"/>
- <data name="nfcTopUp" value="10"/>
- <event name="Keyboard.externalBarcodeTopUp" ppi="externalBarcodeTopUp" next=",externalGiftCardTopup"/>
- <data name="externalBarcodeTopUp" value="10"/>
- <data name="loyaltySearch" calculate="LoyaltyCustomerSearchInitPPI,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.loyaltySearch" ppi="InitLoyaltySearchAddressSubTypes" next=",@loadLoyaltyMemberSearch"/>
- <event name="@loadLoyaltyMemberSearch" callSubstate="LoyaltyMemberSearch.state" substateNext=",,@showMemberDetails"/>
- <event name="@showMemberDetails" callSubstate="membershipDetails.state" subStateNext="@refreshPEDEJLoyalty,@refreshPEDEJLoyalty"/>
- <event name="@refreshPEDEJLoyalty"permission="LineItemDisplayPPI" ppi="LineItemDisplayPPI" />
- <event name="Keyboard.containerWeighed" permission="SetContainerWeighed" ppi="SetContainerWeighed"/>
- <data name="containerWeighed" calculate="CheckRefund,OnlineSaleRefundInProgress"/>
- <!-- Consume Item -->
- <event name="Keyboard.eatInOut" permission="ToggleEatInOut" ppi="ToggleEatInOut"/>
- <data name="eatInOut" calculate="ToggleEatInOut,CheckRefund"/>
- <event name="Keyboard.redeemPointsOptInOut" permission="ToggleRedeemPoints" ppi="ToggleRedeemPoints"/>
- <data name="redeemPointsOptInOut" value="10"/>
- <!-- Web Oder -->
- <event name="Keyboard.webOrder" permission="CheckNoTrans" next="@webOrder"/>
- <event name="@webOrder" callSubstate="webOrder.state" substateNext="0,,@recall,@total"/>
- <data name="webOrder" calculate="CheckNoTrans,OnlineSaleRefundInProgress"/>
- <!-- POS Audit Event Button -->
- <data name="auditEvent.1" value="10"/>
- <event name="Keyboard.auditEvent.1" next="@addAuditEvent"/>
- <data name="auditEvent.2" value="10"/>
- <event name="Keyboard.auditEvent.2" next="@addAuditEvent"/>
- <data name="auditEvent.3" value="10"/>
- <event name="Keyboard.auditEvent.3" next="@addAuditEvent"/>
- <data name="auditEvent.4" value="10"/>
- <event name="Keyboard.auditEvent.4" next="@addAuditEvent"/>
- <data name="auditEvent.5" value="10"/>
- <event name="Keyboard.auditEvent.5" next="@addAuditEvent"/>
- <data name="auditEvent.6" value="10"/>
- <event name="Keyboard.auditEvent.6" next="@addAuditEvent"/>
- <data name="auditEvent.7" value="10"/>
- <event name="Keyboard.auditEvent.7" next="@addAuditEvent"/>
- <data name="auditEvent.8" value="10"/>
- <event name="Keyboard.auditEvent.8" next="@addAuditEvent"/>
- <data name="auditEvent.9" value="10"/>
- <event name="Keyboard.auditEvent.9" next="@addAuditEvent"/>
- <data name="auditEvent.10" value="10"/>
- <event name="Keyboard.auditEvent.10" next="@addAuditEvent"/>
- <event name="@addAuditEvent" ppi="AddAuditEvent" next=",startSale,"/>
- <data name="sendSale" calculate="SendSalePPI,OnlineSaleRefundInProgress"/>
- <event name="Keyboard.sendSale" permission="SendSalePPI" ppi="DeactivateAutoLogoff" next=",@sendSale"/>
- <event name="@sendSale" permission="SendSalePPI" ppi="SendSalePPI" next=",@sendCustomerAddress"/>
- <event name="@sendCustomerAddress" callSubstate="SendNameAddress.state" substateNext="@autoLogoffStart2,@autoLogoffStart2,@saveDeliveryCustomerAddress"/>
- <event name="@saveDeliveryCustomerAddress" ppi="AddDeliveryCustomerInfoPPI" next="@autoLogoffStart2,@autoLogoffStart2"/>
- <data name="tab1" value="10"/>
- <data name="tab2" value="10"/>
- <data name="tab3" value="10"/>
- <data name="tab4" value="10"/>
- <data name="tab5" value="10"/>
- <data name="tab6" value="10"/>
- <data name="tab7" value="10"/>
- <data name="tab8" value="10"/>
- <!-- Customer Language -->
- <event name="Keyboard.selectCustomerLanguage" ppi="SelectCustomerLanguage"/>
- <data name="selectCustomerLanguage" value="10"/>
- <data name="officialReceipt" calculate="CheckOfficialReceiptAllowed,OnlineSaleRefundInProgress" />
- <!-- Refuse service -->
- <event name="Keyboard.refuseService" next="@refuseService"/>
- <event name="@refuseService" ppi="RefuseService" next=",@refuseServiceRefusalRegister"/>
- <event name="@refuseServiceRefusalRegister" callSubstate="refusalRegister.state" substateNext="@voidEmptyBasketRefusalRegister,@voidEmptyBasket,startSale"/>
- <!-- void the transaction if the basket is empty -->
- <event name="@voidEmptyBasket" ppi="VoidEmptyBasketRefuseService" next=",@voidTransactionRefusalRegister"/>
- <!-- void the transaction if the basket is empty after the refusal register -->
- <event name="@voidEmptyBasketRefusalRegister" ppi="VoidEmptyBasketRefuseService" next="@refuseService,@voidTransactionRefusalRegister"/>
- <event name="@voidTransactionRefusalRegister" ppi="VoidTransactionNoPrompt" next="startSale,startSale"/>
- <data name="refuseService" calculate="CheckNoTrans,RefuseService,OnlineSaleRefundInProgress"/>
- <data name="onlineSalesRefund" calculate="OnlineSaleRefundPPI"/>
- <event name="Keyboard.onlineSalesRefund" ppi="OnlineSaleRefundPPI" next="@resetSlej,@lineRefund"/>
- <event name="@resetSlej" ppi="ResetSLEJ"/>
- <data name="manager" calculate="OnlineSaleRefundInProgress,CheckNoTrans"/>
- <data name="cancel" calculate="OnlineSaleRefundInProgress"/>
- <include file="fuelSale.state" exclude="beanstore.reducedMemoryMode.fuelOff"/>
- <!-- Post Coupon -->
- <event name="Keyboard.postCoupon" permission="PostCoupon" next="postCoupon" />
- <data name="postCoupon" calculate="PostCoupon"/>
- <event name="Keyboard.giftCardBalanceInquiry" permission="GiftCardExternalCaptureConfigPPI" permissionFail="@giftCardBalanceInquiry" next="@giftCardExternalCaptureBalanceEnquiry"/>
- <event name="@giftCardExternalCaptureBalanceEnquiry" permission="ExternalCaptureBalanceEnquiryPPI" ppi="ExternalCaptureBalanceEnquiryPPI"/>
- <data name="externalCaptureBalanceEnquiry" value="10"/>
- <event name="@giftCardBalanceInquiry" permission="GiftCardBalanceInquiryPPI" next="baseGiftCardBalanceInquiry"/>
- <data name="giftCardBalanceInquiry" value="10"/>
- <event name="Keyboard.externalCaptureBalanceEnquiry" next="@giftCardExternalCaptureBalanceEnquiry"/>
- <!-- Customer Search by Phone Number -->
- <event name="Keyboard.telephone" permission="LoyaltyMemberSearchPermission" ppi="DeactivateAutoLogoff" next=",@telephoneSearch"/>
- <event name="@telephoneSearch" callSubstate="LoyaltyMemberTelephoneSearch.state" substateNext="@activateAutoLogoff,@activateAutoLogoff"/>
- <event name="@activateAutoLogoff" ppi="ActivateAutoLogoff"/>
- <data name="telephone" calculate="FindCustomerByPhoneNumber,PhoneSearchPermission"/>
- <!-- Automatic Loyalty Lookup on the PIN Pad -->
- <event name="AsyncPhoneNumber" ppi="PhoneNumberResponseHandlerPPI" next="@activateAutoLogoff,@processPhoneNumberCapturedFlow"/>
- <event name="@processPhoneNumberCapturedFlow" callSubstate="processPhoneNumberCaptured.state" substateNext="@activateAutoLogoff,@activateAutoLogoff"/>
- <!-- Remote Event Service -->
- <event name="Keyboard.remoteEventManagement" permission="DisplayRemMenuButtonPPI" ppi="DeactivateAutoLogoff" next=",@remoteEventManagement"/>
- <event name="@remoteEventManagement" callSubstate="RemItemImages.state" substateNext="@activateAutoLogoff,@activateAutoLogoff,@activateAutoLogoff"/>
- <data name="remoteEventManagement" calculate="DisplayRemMenuButtonPPI"/>
- <data name="remNoMessages" value="10"/>
- <data name="remMessagesWaiting" value="10"/>
- <data name="remOffNoMessages" value="10"/>
- <data name="remOffMessagesWaiting" value="10"/>
- <data name="displayPendingMessage" calculate="DisplayPendingMessagePPI"/>
- <!-- Money Transfer -->
- <data name="moneyTransferSend" calculate="CheckNoTrans"/>
- <event name="Keyboard.moneyTransferSend" permission="MoneyTransferInitPrompt" next="moneyTransfer"/>
- </state>
- <state name="baseGiftCardBalanceInquiry">
- <event name="Init" next="@init"/>
- <event name="@init" permission="SwipeGiftCardDetailPED" permissionFail="@promptGiftCard" next="@swipeGiftCardPED"/>
- <event name="@promptGiftCard" next="giftCardBalanceInquiryPromptGiftCard"/>
- <event name="@swipeGiftCardPED" next="giftCardBalanceInquirySwipeGiftCardPED"/>
- <event name="@checkGiftCard" ppi="GiftCardBalanceInquiryPPI" next="@exit,@basicItem,@getOtcBalanceInquiry"/>
- <event name="@getOtcBalanceInquiry" callSubstate="otcBalanceInquiry.state" substateNext="sale,sale"/>
- <event name="@basicItem" ppi="BasicItemData" next=",@item" />
- <event name="@item" callsubstate="itemSale.state" substateNext="sale,sale,sale,sale,sale,sale,sale,sale"/>
- <event name="@exit" next="sale"/>
- </state>
- <state name="giftCardBalanceInquiryPromptGiftCard" prompt="balanceInquiry" picture="%30s" page="left.phtm,right.phtm" frame="leftFrame,rightFrame" like="baseGiftCardBalanceInquiry">
- <event name="Scanner" next="@checkGiftCard"/>
- <event name="MSR" next="@checkGiftCard"/>
- <event name="Keyboard.Enter" next="@checkGiftCard"/>
- <event name="Keyboard.Esc" next="@exit"/>
- </state>
- <state name="giftCardBalanceInquirySwipeGiftCardPED" like="baseGiftCardBalanceInquiry">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="SwipeGiftCardDetailPED" next="startSale,"/>
- <event name="SwipeGiftCardDetailPED.details" next="@checkGiftCard" comment="This event name is put on the InputQueue from the above PPI SwipeGiftCardDetailPED"/>
- <event name="@basicItem" ppi="BasicItemDataGiftCardSwipePED" next="@exit,@item"/>
- </state>
- <state name="voidNextItem" keyboard="keyboardSale.properties" prompt="ItemNumber" picture="%16x">
- <event name="Init" ppi="VoidInit"/>
- <event name="Keyboard.Enter" next="@void"/>
- <event name="Scanner" next="@void"/>
- <event name="@void" permission="CheckForGiftCardRefundLinesOnVoidNext" permissionFail="@exit" ppi="VoidNextItem" next="@exit,@recalculateCoupons,@autoVoidTransaction"/>
- <event name="@recalculateCoupons" callSubState="recalculateCoupons.state" substateNext="@exit,@exit,@exit"/>
- <event name="Keyboard.Esc" ppi="ClearDelayedAuth" next=",@exit"/>
- <event name="@exit" ppi="CheckAppState" next=",refund,sale"/>
- <event name="@autoVoidTransaction" permission="CheckForGiftCardRefundLinesOnVoidTransaction,VoidItemVoidTransaction" ppi="VoidItemVoidTransaction" next=",@autoVoidEftSessionEnd"/>
- <event name="@autoVoidEftSessionEnd" callSubstate="eftSessionEnd.state" substateNext="startSale,startSale"/>
- <!-- Item image selection -->
- <event name="Keyboard.productSelection" ppi="DeactivateAutoLogoff" next=",@productSelection"/>
- <event name="@productSelection" callSubstate="itemImages.state" substateNext="0,@autoLogoffStart,@autoLogoffStartVoid"/>
- <event name="@autoLogoffStart" ppi="ActivateAutoLogoff"/>
- <event name="@displayInitialCard"/>
- <event name="@autoLogoffStartVoid" ppi="ActivateAutoLogoff" next="@void,@void"/>
- <data name="escKey" value="10"/>
- <data name="operatorFunctions" value="10"/>
- <data name="transFunctions" value="10"/>
- <data name="productSelection" value="10"/>
- <data name="restrictedProductSelection" value="10"/>
- </state>
- <state name="kioskSale" prompt="ScanVoucher" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="Keyboard.Esc" next="startSale"/>
- <event name="Scanner" ppi="KioskTransactionRecall" next="sale,sale"/>
- <event name="Keyboard.Enter" ppi="KioskTransactionRecall" next="sale,sale"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- </state>
- <!-- Entry state to determine how we logon -->
- <state name="logon" page="openingPage.phtm,customerDisplayLoggedOff.phtm" frame="centreFrame,vgacd">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="CheckKeyboard" next=",@initPersonality" />
- <event name="@initPersonality" ppi="ResetPersonality" next=",@resetCustomerLanguage"/>
- <event name="@resetCustomerLanguage" ppi="ResetCustomerLanguage" next="@setTillPersonality,@setTillPersonality"/>
- <event name="@setTillPersonality" ppi="SetTillPersonality" next="@CheckPersonalityTypeSelfCheckout,@CheckPersonalityTypeSelfCheckout"/>
- <event name="@CheckPersonalityTypeSelfCheckout" ppi="CheckPersonalityTypeSelfCheckout" next="@autoCrashRecoveryLogon,@deactivateAutoLogoff,@resumeSelfCheckout"/>
- <event name="@resumeSelfCheckout" ppi="AutoSwitchOperator" next="actualLogon,@SetScoPersonality,actualLogon,actualLogon,actualLogon,actualLogon,actualLogon,actualLogon"/>
- <event name="@SetScoPersonality" ppi="SetScoPersonality" next="startSaleEx,startSaleEx"/>
- <event name="@deactivateAutoLogoff" ppi="DeactivateAutoLogoff" next="preLogon,preLogon"/>
- <event name="@autoCrashRecoveryLogon" permission="AutoCrashRecoveryLogon" permissionFail="actualLogon" ppi="AutoCrashRecoveryLogon" next="actualLogon,@crashSecure,actualLogon,actualLogon,@crashSecure,@crashSecure,actualLogon,actualLogon"/>
- <event name="@crashSecure" callSubstate="crashSecure.state" substateNext="0,secureAfterLogon"/>
- </state>
- <state name="secureAfterLogon" page="screenLayout.phtm,customerDisplayLoggedOn.phtm" frame="centreFrame,vgacd" like="startSaleEx">
- <event name="Init" callSubState="lock.state" subStateNext=",,startSaleEx"/>
- </state>
- <!-- Landing spot based on personality that displays a simple UI prior to logon -->
- <state name="preLogon" page="preLogon.phtm,preLogonStatus.phtm" frame="contentsFrame,status">
- <event name="Init" ppi="RedLight" next="@SelfCheckoutPrinterStatus,@SelfCheckoutPrinterStatus"/>
- <event name="@SelfCheckoutPrinterStatus" ppi="SelfCheckoutPrinterStatus"/>
- <event name="Cache" ppi="CacheUtilities"/>
- <event name="Keyboard.gotoLogon" next="actualLogon"/>
- </state>
- <!-- The actual state where the user logs on. Normal path is to go through "logon" to get here -->
- <include file="logon.state"/>
- <!-- 6 numeric for Budgens -->
- <state name="baseLogon" prompt="UserID" picture="%9a" page="logon.phtm" frame="contentsFrame">
- <!-- See logonCDO -->
- <event name="Init" next="@init"/>
- <event name="Keyboard.remMessagesWaiting" next=""/>
- <event name="Keyboard.remOffMessagesWaiting" next=""/>
- <event name="@init" ppi="ResetLanguage" next="@setTillPersonality,@setTillPersonality"/>
- <event name="@setTillPersonality" ppi="SetTillPersonality" next="@tradingDateDisplay,@tradingDateDisplay"/>
- <event name="@tradingDateDisplay" ppi="TradingDateDisplay" next="@checkStoreOpen,@checkStoreOpen"/>
- <event name="@checkStoreOpen" ppi="CheckStoreOpen" next="start,@cacheUtilities"/>
- <event name="Cache" next="@cacheUtilities"/>
- <event name="@cacheUtilities" ppi="CacheUtilities" next="@mediaCacheCheck,@mediaCacheCheck"/>
- <event name="@mediaCacheCheck" ppi="MediaCacheCheck" next="@seqrRecoveryReceiptPrint,@seqrRecoveryReceiptPrint"/>
- <event name="@seqrRecoveryReceiptPrint" ppi="SeqrRecoveryPrint" />
- <event name="Keyboard.Enter" ppi="CheckCacheStatus" next="badCacheVersionCeaseTradingNoOptions,@operatorLogon"/>
- <event name="@operatorLogon" ppi="OperatorLogon" permission="CheckStoreOpen" permissionFail="@closeTill" next="logon,@ChooseSelfCheckoutPersonality,logon,@forcedZRead,@checkForPasswordChange,@ChooseSelfCheckoutPersonality,,@operatorNotFound"/>
- <event name="@checkForPasswordChange" callSubstate="InitChangePassword.state" subStateNext="@ChooseSelfCheckoutPersonality,@init,@init,@ChooseSelfCheckoutPersonality"/>
- <event name="@ChooseSelfCheckoutPersonality" ppi="ChooseSelfCheckoutPersonality" next="@offLight,@AutoOperatorLogon"/>
- <event name="@offLight" ppi="OffLight" next="@overridePersonality,@overridePersonality"/>
- <event name="@AutoOperatorLogon" ppi="AutoOperatorLogon" next="logon,@overridePersonality,logon,@forcedZRead,@overridePersonality,@overridePersonality,logon,@operatorNotFound"/>
- <event name="@overridePersonality" ppi="SetTillPersonality" next="@startSaleEx,@startSaleEx"/>
- <event name="MSR" pnp="MSROperatorLogon" permission="CheckStoreOpen" permissionFail="@closeTill" next="logon,@startSaleEx,logon,@forcedZRead,@startSaleEx,@startSaleEx,,@operatorNotFound"/>
- <event name="Scanner" ppi="ScannedOperatorLogon" permission="CheckStoreOpen" permissionFail="@closeTill" next="logon,@startSaleEx,logon,@forcedZRead,@startSaleEx,@startSaleEx,,@operatorNotFound"/>
- <event name="@operatorNotFound" ppi="OperatorNotFoundMessage"/>
- <event name="@closeTill" ppi="CloseTill" next=",start"/>
- <event name="@forcedZRead" ppi="ForcedOperatorZRead" next=",@startSaleEx"/>
- <event name="Keyboard.F5"/>
- <event name="Timer" ppi="CheckStoreOpen" next="start,@timer"/>
- <event name="@timer" ppi="Timer"/>
- <event name="@startSaleEx" ppi="LogonReload" next="startSaleEx,startSaleEx"/>
- <event name="Keyboard.F2" ppi="PriceEnquirePPI" next=",@createDummyTxn"/>
- <event name="Keyboard.priceEnquire" ppi="PriceEnquirePPI" next=",@createDummyTxn"/>
- <event name="Keyboard.Esc" ppi="CheckPersonalityTypeSelfCheckout" next=",preLogon"/>
- <event name="@createDummyTxn" ppi="CreateDummyTxn" next=",@logonPriceEnquire"/>
- <event name="@logonPriceEnquire" callSubstate="priceEnquire.state" substateNext="0,@priceEnquireCancel,@priceEnquireSold"/>
- <event name="@priceEnquireCancel" ppi="DestroyDummyTxn" next="@getKeyboard,@getKeyboard"/>
- <event name="@getKeyboard" ppi="CheckKeyboard"/>
- <event name="@priceEnquireSold" ppi="DestroyDummyTxn"/>
- <event name="priceEnquire"/>
- <data name="priceEnquire" value="10"/>
- <data name="popupKeyboardLogin" calculate="ToggleKeyboardLogin"/>
- <event name="AutoLogoff" comment="ensure auto logoff timer fails safe"/>
- <event name="Exit" ppi="ActivateAutoLogoff"/>
- <event name="PromotionsUpdate" ppi="DatabaseManager"/>
- <event name="CashDrawer" ppi="CashDrawerSupport"/>
- <event name="Keyboard.clockInOut" permission="ClockInPublishOnlyPPI" permissionFail="@processClockInOut" next="@publishClockInInfo"/>
- <event name="@processClockInOut" callSubstate="clockInOut.state" substateNext="0"/>
- <event name="@publishClockInInfo" callSubstate="clockInPublishOnly.state" substateNext="0"/>
- <data name="clockInOut" calculate="ClockInOut"/>
- <event name="Keyboard.openCashDrawer" permission="OpenCashDrawerFromLogonScreenConfirmationPropertyChecker" permissionFail="@openCashDrawerFromLogonScreen" ppi="OpenCashDrawerFromLogonScreenConfirmation" next=",@openCashDrawerFromLogonScreen"/>
- <event name="@openCashDrawerFromLogonScreen" permission="OpenCashDrawerFromLogonScreen" ppi="OpenCashDrawerFromLogonScreen" next="@openCashDrawerFromLogonScreenFinish,@openCashDrawerFromLogonScreenFinish"/>
- <event name="@openCashDrawerFromLogonScreenFinish" ppi="EOT" next=",@openCashDrawer"/>
- <event name="@openCashDrawer" ppi="CashDrawerOpen"/>
- <data name="openCashDrawer" calculate="OpenCashDrawerFromLogonScreenPropertyChecker,TillHasDrawer"/>
- <event name="Keyboard.testPrinter" ppi="ValidatePrinterConnection"/>
- <data name="testPrinter" value="10"/>
- <event name="Keyboard.zRead" callSubstate="displayREMMessages.state" substatenext=",@zreadClearSession"/>
- <event name="@zreadClearSession" permission="ClearSession" ppi="ClearSession" next=",@zReadCashDrawerOpen"/>
- <event name="@zReadCashDrawerOpen" ppi="ZReadCashDrawerOpen" next=",@zRead,@zRead"/>
- <event name="@zRead" permission="OperatorAccountable" permissionFail="@zReadTill" ppi="ForcedOperatorZReadWithEndSession"/>
- <event name="@zReadTill" ppi="ForcedTillZReadWithEndSession"/>
- <data name="zRead" value="10"/>
- </state>
- <include file="logonCDO.state"/>
- <state name="baseLogonCDO" like="logon">
- <event name="Init" ppi="CashDrawerForceOpen" next="@init,@init,@init"/>
- <event name="@openCash" ppi="CashDrawerForceOpen"/>
- <event name="CashDrawer"/>
- <event name="Error.CashDrawer" next="@openCash"/>
- <event name="AutoLogoff" comment="ensure auto logoff timer fails safe"/>
- </state>
- <include file="logonInitialisations.state"/>
- <!-- State to run all initialisation functions -->
- <state name="baseLogonInitialisations" frame="centreFrame">
- <event name="Init" next="@init"/>
- <event name="@init" callSubstate="InitChangePassword.state" subStateNext="0,@init,@initFailed,@initFloat"/>
- <event name="@initFloat" callSubstate="InitFloat.state" subStateNext="0,@initFailedWithOperatorAccountableCheck,@initCheckWeigh,@initCheckWeigh" />
- <event name="@initCheckWeigh" callSubstate="InitCheckWeigh.state" subStateNext="@initCheckWeigh,@initFailed,@tradingDateReminder,@tradingDateReminder"/>
- <event name="@tradingDateReminder" ppi="TradingDateReminder" next="@checkTillPickup,@checkTillPickup" />
- <event name="@checkTillPickup" permission="CheckTillPickup" permissionFail="@initSucceeded" ppi="CheckTillPickup" next="@initSucceeded,@initSucceeded" />
- <event name="@initFailed" ppi="LoginInitialisationFinish" next="@logoff,@logoff"/>
- <event name="@initFailedWithOperatorAccountableCheck" ppi="LoginInitialisationFinish" next="@operatorAccountableCheck,@operatorAccountableCheck"/>
- <event name="@operatorAccountableCheck" permission="OperatorAccountable,RemoveCashDrawerMessage" permissionFail="@logoff" ppi="LogoffSelect" next="@resetLanguage,@zRead,@initFloat"/>
- <event name="@resetLanguage" ppi="ResetLanguage" next="@resetCustomerLanguage,@resetCustomerLanguage"/>
- <event name="@resetCustomerLanguage" ppi="ResetCustomerLanguage" next="@logoff,@logoff"/>
- <event name="@zRead" permission="CheckNoTrans,OperatorLogoff" ppi="ForcedOperatorZReadOnLogoff" next="@logoffCDO,@logoffCDO"/>
- <event name="@logoffCDO" ppi="OperatorLogoff" next="@autoLogoffCDO,@autoLogoffCDO"/>
- <event name="@autoLogoffCDO" ppi="DeactivateAutoLogoff" next="logonCDO,logonCDO"/>
- <event name="@initSucceeded" ppi="CloseKeyboard" next="@clockInReminder,@clockInReminder"/>
- <event name="@clockInReminder" ppi="ClockInReminderPPI" next="@initSucceededFinal,@initSucceededFinal" />
- <event name="@initSucceededFinal" callSubstate="eftLogin.state" substateNext="@eftSucceeded" />
- <event name="@eftSucceeded" ppi="LoginInitialisationFinish" next="startSale,startSale"/>
- <event name="@logoff" permission="CheckNoTrans,OperatorLogoff" ppi="OperatorLogoff" next="@eftSAFClear,@eftSAFClear"/>
- <event name="@eftSAFClear" callSubstate="eftSAFClear.state" substateNext="@autoLogoff,@autoLogoff"/>
- <event name="@autoLogoff" ppi="DeactivateAutoLogoff" next="logon,logon"/>
- <event name="@continue" next="@init"/>
- </state>
- <state name="splitpack" prompt="ItemNumberSplitPack" picture="%13x" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="Network" ppi="NetworkError"/>
- <event name="Keyboard.Enter" ppi="BarcodeRouter"/>
- <event name="Scanner" ppi="BarcodeRouter"/>
- <event name="BarcodeRouterSupport.BasicItemBarcode" next="@basicItem"/>
- <event name="@basicItem" ppi="BasicItemData" next=",@item"/>
- <event name="@item" callSubstate="itemSale.state" substateNext="0,@cancelSplitPack,@cancelSplitPack,,,,,startSale"/>
- <event name="Keyboard.Esc" next="@cancelSplitPack"/>
- <event name="@cancelSplitPack" ppi="CancelSplitPack" next="@cancelQuantity,@cancelQuantity"/>
- <event name="@cancelQuantity" ppi="CancelQuantity" next="@cancelLineRefund,@cancelLineRefund"/>
- <event name="@cancelLineRefund" ppi="CancelLineRefund" next="sale,sale"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="priceGroup" calculate="VariablePrice"/>
- </state>
- <state name="kioskRecall" prompt="ScanVoucher" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="Keyboard.Esc" next="startSale"/>
- <event name="Scanner" ppi="KioskTransactionRecall" next="sale,sale"/>
- <event name="Keyboard.Enter" ppi="KioskTransactionRecall" next="sale,sale"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- </state>
- <state name="mediaexchangenegtender" prompt="EnterPayOut" like="tender">
- <event name="Keyboard.Esc" ppi="AutoVoidTransaction" next=",startSale,startSale"/>
- <event name="Keyboard.F29"/>
- <event name="Keyboard.payCardTender"/>
- <data name="chequeTender" value="0"/>
- <data name="payCardTender" value="0"/>
- </state>
- <state name="eot" page="right.phtm" frame="rightFrame">
- <event name="Init" ppi="EOT" next="startSale,startSale"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="0"/>
- <data name="logoff" calculate="CheckNoTrans,CheckParkedOrdersAllowed"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- </state>
- <state name="mediaexchange" prompt="EnterPayIn" picture="%q" page="tender.phtm" frame="rightFrame">
- <event name="Init" ppi="MediaExchangeInit"/>
- <event name="@usdMedia" ppi="MediaExchangeUSD" next=",mediaexchangenegtender"/>
- <event name="@cashMedia" ppi="MediaExchangeCash" next=",mediaexchangenegtender"/>
- <event name="@chequeMedia" ppi="MediaExchangeCheque" next=",mediaexchangenegtender"/>
- <event name="Keyboard.F1" next="@usdMedia"/>
- <event name="Keyboard.F27" next="@cashMedia"/>
- <event name="Keyboard.F28" next="@chequeMedia"/>
- <event name="Keyboard.Esc" ppi="AutoVoidTransaction" next=",startSale,startSale"/>
- <event name="Keyboard.Enter" ppi="ChooseMedia" next=",@cashMedia,@usdMedia,@chequeMedia"/>
- <event name="Keyboard.dollarTender" next="@usdMedia"/>
- <event name="Keyboard.cashTender" next="@cashMedia"/>
- <event name="Keyboard.chequeTender" next="@chequeMedia"/>
- <event name="Keyboard.tender20" ppi="MediaExchangeCash20" next=",mediaexchangenegtender"/>
- <event name="Keyboard.tender10" ppi="MediaExchangeCash10" next=",mediaexchangenegtender"/>
- <event name="Keyboard.tender5" ppi="MediaExchangeCash5" next=",mediaexchangenegtender"/>
- <data name="dollarTender" value="10"/>
- <data name="cashTender" value="10"/>
- <data name="chequeTender" value="10"/>
- <data name="tender20" value="10"/>
- <data name="tender10" value="10"/>
- <data name="tender5" value="10"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- </state>
- <state name="logonInit" prompt="Loading.." picture="%0s" page="openingPage.phtm" frame="centreFrame">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="CheckDispenseLevels" next="@init2,@init2"/>
- <event name="@init2" ppi="LogonInit" next=",@preloadAccessPoints"/>
- <event name="@preloadAccessPoints" ppi="PreloadAccessPoints" next="@loadCouponRules,@loadCouponRules"/>
- <event name="@loadCouponRules" ppi="LoadCouponRules" next="@timer,@timer"/>
- <event name="Keylock" ppi="LogonInit" next=",@timer"/>
- <event name="@timer" ppi="Timer" next=",@initialisePinpad"/>
- <event name="@initialisePinpad" callSubstate="eftPinpadInitialise.state" substateNext="@checkCardAuthorization,@checkCardAuthorization"/>
- <event name="@checkCardAuthorization" ppi="CheckCardAuthorization" next="@eftLogout,@eftLogout"/>
- <event name="@eftLogout" ppi="EFTLogout" next="@eftLogin,@eftLogin"/>
- <event name="@eftLogin" ppi="EFTLogin" next="logon,logon,@eftLogout"/>
- <event name="Cache" ppi="CacheUtilities"/>
- <event name="@continue" next="@init"/>
- </state>
- <state name="noSale" prompt="EnterAmount" picture="%q" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="NoSale" next="@finish,@finish,startSale"/>
- <event name="@finish" ppi="EOT" next=",@removeAuthority"/>
- <event name="@removeAuthority" ppi="RemoveAuthority" next="@openCashDrawer,@openCashDrawer"/>
- <event name="@openCashDrawer" ppi="CashDrawerOpen" next="cashdrawer,cashdrawer,cashdrawer"/>
- <event name="@continue" next="@init"/>
- <event name="Exit" ppi="CashDrawerDelayTimer"/>
- </state>
- <state name="startSale" prompt="FlightCode" picture="%7s">
- <event name="Init" ppi="CheckPersonalityTypeSelfCheckout" next="startSaleRetail,startSaleSelfCheckout,startSaleRetail"/>
- <event name="@EFTStatus" ppi="EFTStatus" next="@resetCustomerLanguage,@resetCustomerLanguage"/>
- <event name="@resetCustomerLanguage" ppi="ResetCustomerLanguage" next="@init,@init"/>
- <event name="@init" ppi="Rekey" permission="Rekey" permissionFail="@checkParkedOrdersAllowed" next="@checkParkedOrdersAllowed,@checkParkedOrdersAllowed"/>
- <event name="@checkParkedOrdersAllowed" permission="CheckParkedOrdersAllowed" permissionfail="@start" next="@checkForParkedOrder"/>
- <event name="@checkForParkedOrder" permission="OrderQueueAlive" permissionfail="@start" ppi="GetOrderByOperator" next="@start,@sale,@start,@start"/>
- <event name="@start" callSubstate="simpleStartSale.state" substateNext="0,@start,start,@sale,logon,startrefund,recall,noSale,badCacheVersionCeaseTrading,badCacheVersionCeaseTradingNoOptions,logonCDO"/>
- <event name="@sale" callSubstate="preSaleTasks.state" substateNext="0,sale,logon"/>
- <data name="priceEnquire" calculate="PriceEnquire"/>
- <data name="escKey" value="10"/>
- <data name="logoff" calculate="CheckNoTrans,CheckParkedOrdersAllowed"/>
- <data name="manager" calculate="CheckNoTrans"/>
- <data name="total" calculate="Total"/>
- <data name="help" value="10"/>
- <data name="web" value="10"/>
- <event name="@continue" next="@init"/>
- </state>
- <state name="startSaleRetail" page="screenLayout.phtm" frame="centreFrame" like="startSale">
- <event name="Init" next="@EFTStatus"/>
- </state>
- <state name="startSaleSelfCheckout" page="startScreenLayout.phtm" frame="centreFrame" like="startSale">
- <event name="Init" next="@redrawEJ"/>
- <event name="@redrawEJ" ppi="RefreshEJFull" next="@EFTStatus,@EFTStatus"/>
- </state>
- <state name="badCacheVersionCeaseTrading" page="openingPage.phtm" frame="centreFrame">
- <event name="Init" callSubstate="badCacheVersionCeaseTrading.state" substateNext="logon,logon"/>
- </state>
- <state name="badCacheVersionCeaseTradingNoOptions" page="openingPage.phtm" frame="centreFrame">
- <event name="Init" callSubstate="badCacheVersionCeaseTradingNoOptions.state" substateNext="logon"/>
- </state>
- <state name="addItemUnknown" prompt="ItemUnknownAdd" picture="%13x">
- <event name="Init" ppi="DisplayPosInputNumericKeyboard"/>
- <event name="Keyboard.Enter" ppi="AddItemUnknown"/>
- <event name="Scanner" ppi="AddItemUnknown"/>
- <event name="Keyboard.Esc" next="managerMenu"/>
- </state>
- <state name="removeItemUnknown" prompt="ItemUnknownRemove" picture="%13x">
- <event name="Keyboard.Enter" ppi="RemoveItemUnknown"/>
- <event name="Scanner" ppi="RemoveItemUnknown"/>
- <event name="Keyboard.Esc" next="managerMenu"/>
- </state>
- <state name="rewardsCard" prompt="RewardsCard" picture="%30a">
- <event name="Keyboard.Enter" next="@rewardsCardCapture"/>
- <event name="Scanner" next="@rewardsCardCapture"/>
- <event name="@rewardsCardCapture" ppi="CaptureRewardsCard" next="@message,@use"/>
- <event name="@message" ppi="InvalidRewardCardMessage" next=","/>
- <event name="@use" ppi="AddRewardsCardLine" next="baseSale,baseSale"/>
- <event name="Keyboard.Esc" next="baseSale"/>
- </state>
- <state name="baseSaleNewGiftCard">
- <event name="Init" next="@init"/>
- <event name="@init" permission="SwipeGiftCardDetailPED" permissionFail="@promptGiftCard" next="@swipeGiftCardPED"/>
- <event name="@promptGiftCard" next="saleNewGiftCardPromptGiftCard"/>
- <event name="@swipeGiftCardPED" next="saleNewGiftCardSwipeGiftCardPED"/>
- <event name="@item" callsubstate="itemSale.state" substateNext="sale,sale,sale,sale,sale,sale,sale,startSale"/>
- <event name="@exit" next="startSale"/>
- </state>
- <state name="saleNewGiftCardPromptGiftCard" prompt="SaleNewGiftCardPrompt" picture="%30x" like="baseSaleNewGiftCard">
- <event name="Keyboard.Enter" next="@basicItem"/>
- <event name="Scanner" next="@basicItem"/>
- <event name="Keyboard.Esc" next="@exit"/>
- <event name="@basicItem" ppi="BasicItemData" next="@exit,@processGiftcard"/>
- <event name="@processGiftcard" ppi="SaleGiftCard" next="@exit,@item"/>
- </state>
- <state name="saleNewGiftCardSwipeGiftCardPED" like="baseSaleNewGiftCard">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="SwipeGiftCardDetailPED" next="startSale,"/>
- <event name="SwipeGiftCardDetailPED.details" next="@basicItem" comment="This event name is put on the InputQueue from the above PPI SwipeGiftCardDetailPED"/>
- <event name="@basicItem" ppi="BasicItemDataGiftCardSwipePED" next="@exit,@item"/>
- </state>
- <state name="giftCardAsChange" prompt="SaleNewGiftCardPrompt" picture="%30x">
- <event name="Keyboard.Enter" next="@basicItem"/>
- <event name="Scanner" next="@basicItem"/>
- <event name="Keyboard.Esc" ppi="OverTenderSupportCancel" next=",change"/>
- <event name="@basicItem" ppi="BasicItemDataNonBarcodeReplacement" next=",@processGiftcard"/>
- <event name="@processGiftcard" ppi="SaleGiftCard" next=",@item"/>
- <event name="@item" permission="SaleGiftCard" permissionfail="@overTenderSupport" callsubstate="itemSale.state" substateNext="change,change,@overTenderSupport,change,change,@overTenderSupport,change,startSale"/>
- <event name="@overTenderSupport" ppi="OverTenderSupport" next="change,giftCardAsChange,change"/>
- </state>
- <state name="stayInProductSelection" page="stayInProductionSelectionMode.phtm,itemImagesMenuSIPS.phtm" frame="leftFrame,rightFrame" like="sale">
- <event name="EJ" next=","/>
- <event name="Init" ppi="RefreshEJ" next=",@sipsInit"/>
- <event name="@sipsInit" ppi="SIPSItemImageInit" next="@clearCategory,@clearCategory"/>
- <event name="@clearCategory" ppi="SIPSClearCategory" next="@categoryReturn,@categoryReturn"/>
- <event name="@categoryReturn" ppi="SIPSCategoryReturn" next="@init,@init"/>
- <event name="Keyboard.setItemImageCategory" ppi="SIPSItemImageCategoryPPI"/>
- <event name="Keyboard.sellItem" audit="Item selected" ppi="ProductSelectionStore" next="@setDialogNotDisposedFinish,@setDialogNotDisposedFinish"/>
- <event name="@sellItemClear" ppi="SIPSClearCategory" next="@setDialogNotDisposedFinish,@setDialogNotDisposedFinish"/>
- <event name="@setDialogNotDisposedFinish" ppi="SetDialogNotDisposed" next=",@sellItemFinish"/>
- <event name="@sellItemFinish" ppi="SIPSItemImageFinish" next="@checkTill,@checkTill,@checkTill"/>
- <event name="Keyboard.itemImagesFirstPage" audit="Item Images First Page" ppi="SIPSItemImageFirstPPI"/>
- <event name="Keyboard.itemImagesPreviousPage" audit="Item Images Previous Page" ppi="SIPSItemImagePreviousPPI"/>
- <event name="Keyboard.itemImagesNextPage" audit="Item Images Next Page" ppi="SIPSItemImageNextPPI"/>
- <event name="Keyboard.itemImagesLastPage" audit="Item Images Last Page" ppi="SIPSItemImageLastPPI"/>
- <event name="@setDialogNotDisposedCancel" ppi="SetDialogNotDisposed" next=",@finish"/>
- <event name="Keyboard.returnToRetail" audit="Return To Sale" ppi="SIPSClearCategory" next=",@finish"/>
- <event name="@finish" ppi="SIPSItemImageFinish" next="sale,sale,sale"/>
- <data name="returnToRetail" value="10"/>
- <data name="itemImagesFirstPage" calculate="SIPSItemImageFirstPPI"/>
- <data name="itemImagesPreviousPage" calculate="SIPSItemImagePreviousPPI"/>
- <data name="itemImagesNextPage" calculate="SIPSItemImageNextPPI"/>
- <data name="itemImagesLastPage" calculate="SIPSItemImageLastPPI"/>
- <data name="sellItem" value="10"/>
- <data name="setItemImageCategory" value="10"/>
- <data name="returnToRetail" calculate="PriceEnquire"/>
- </state>
- <state name="giftCardConsolidation" prompt="ScanGiftCard" picture="%30s" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="GiftCardConsolidationInit" next="@cancelConsolidation,@continue"/>
- <event name="Keyboard.Esc" next="@cancelConsolidation"/>
- <event name="@cancelConsolidation" ppi="CancelGiftCardConsolidation" next="@voidTransaction,@voidTransaction"/>
- <event name="@voidTransaction" ppi="VoidTransactionNoPrompt" next="startSale,startSale"/>
- <event name="Keyboard.giftCardConsolidate" next="@completeConsolidate"/>
- <event name="@completeConsolidate" permission="GiftCardConsolidationInit" ppi="CompleteGiftCardConsolidation" next="@voidTransaction,eot,@completeConsolidate"/>
- <event name="Keyboard.Enter" ppi="GiftCardScannedMediaCheck" next="@invalidGiftCard,@processGiftCard"/>
- <event name="Scanner" ppi="GiftCardScannedMediaCheck" next="@invalidGiftCard,@processGiftCard"/>
- <event name="MSR" ppi="ValueCardMSRInputPPI" next="@invalidGiftCard,@invalidGiftCard,@processGiftCard"/>
- <event name="@invalidGiftCard" ppi="InvalidGiftCard"/>
- <event name="@processGiftCard" ppi="GiftCardConsolidateCard" next="@continue,@continue,@cancelConsolidation"/>
- <event name="@continue"/>
- <data name="escKey" value="10"/>
- <data name="logoff" value="0"/>
- <data name="giftCardConsolidate" calculate="GiftCardConsolidateCard"/>
- </state>
- <state name="baseGiftCardTopup">
- <event name="Init" next="@init"/>
- <event name="@init" permission="SwipeGiftCardDetailPED" permissionFail="@promptGiftCard" next="@swipeGiftCardPED"/>
- <event name="@promptGiftCard" next="giftCardTopupPromptGiftCard"/>
- <event name="@swipeGiftCardPED" next="giftCardTopupSwipeGiftCardPED"/>
- <event name="@processGCTopup" ppi="GiftCardTopup" next="@basicItem,@basicItem" />
- <event name="@basicItem" ppi="BasicItemData" next=",@item" />
- <event name="@item" callsubstate="itemSale.state" substateNext="sale,sale,sale,sale,sale,sale,sale,startSale"/>
- <event name="@exit" next="startSale"/>
- </state>
- <state name="giftCardTopupPromptGiftCard" prompt="ScanGiftCard" picture="%30s" page="left.phtm,right.phtm" frame="leftFrame,rightFrame" like="baseGiftCardTopup">
- <event name="Keyboard.Enter" next="@processGCTopup"/>
- <event name="Scanner" next="@processGCTopup,@processGCTopup" />
- <event name="MSR" ppi="ValueCardMSRInputPPI" next=",,@processGCTopupMSR"/>
- <event name="@processGCTopupMSR" ppi="GiftCardTopup" next="@item,@item" />
- <event name="Keyboard.Esc" next="@exit"/>
- <data name="logoff" value="0"/>
- <data name="giftCardTopup" value="10" />
- </state>
- <state name="giftCardTopupSwipeGiftCardPED" like="baseGiftCardTopup">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="SwipeGiftCardDetailPED" next="@exit,"/>
- <event name="SwipeGiftCardDetailPED.details" next="@processGCTopup" comment="This event name is put on the InputQueue from the above PPI SwipeGiftCardDetailPED"/>
- <event name="@basicItem" ppi="BasicItemDataGiftCardSwipePED" next="@exit,@item"/>
- </state>
- <state name="baseGiftCardBalanceAdjustment" like="baseManagerMenu">
- <event name="Init" next="@init"/>
- <event name="@init" permission="SwipeGiftCardDetailPED" permissionFail="@processBalanceAdjustment" next="@swipeGiftCardPED"/>
- <event name="@swipeGiftCardPED" next="giftCardBalanceAdjustmentSwipeGiftCardPED"/>
- <event name="@processBalanceAdjustment" permission="GiftCardBalanceAdjustment" ppi="GiftCardBalanceAdjustment" next="@fail,@success"/>
- <event name="@fail" next="@checkForGiftCardTransactionToVoid"/>
- <event name="@success" next="@giftCardTotal"/>
- </state>
- <state name="giftCardBalanceAdjustmentSwipeGiftCardPED" like="baseGiftCardBalanceAdjustment">
- <event name="Init" next="@init"/>
- <event name="@init" ppi="SwipeGiftCardDetailPED" next="@fail,"/>
- <event name="SwipeGiftCardDetailPED.details" next="@processBalanceAdjustment" comment="This event name is put on the InputQueue from the above PPI SwipeGiftCardDetailPED"/>
- </state>
- <state name="externalGiftCardTopup" page="left.phtm,right.phtm" frame="leftFrame,rightFrame">
- <event name="Scanner" ppi="GiftCardTopup" next="@basicItem,@basicItem" />
- <event name="@basicItem" ppi="BasicItemData" next=",@item" />
- <event name="@item" callsubstate="itemSale.state" substateNext="sale,sale,sale,sale,sale,sale,sale,startSale"/>
- <event name="Keyboard.Esc" next="startSale"/>
- </state>
- <state name="eftProcess" comment="comes here only when eft=datacash and trans contains card payment">
- <event name="Init" next="@transactionPrintEftProcess"/>
- <event name="@transactionPrintEftProcess" ppi="TransactionPrintEftProcess" next="@payCardProcess,@transactionPrint"
- comment="route to PayCardProcess.state to wait for printMerchantReceipt,printCustomerReceipt,endTransaction; route to transactionPrint at end"/>
- <event name="@payCardProcess" callSubstate="PayCardProcess.state"
- substateNext="@transactionPrintEftProcess,@transactionPrintEftProcess,@transactionPrintEftProcess,@transactionPrintEftProcess"
- comment="called for each card, routes back for next one"/>
- <event name="@transactionPrint" pnp="TransactionPrint" next="1,3"/>
- <event name="Exit" ppi="SetDialogNotDisposed"/>
- </state>
- </statefile>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement