245 lines
12 KiB
XML
245 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ATB_APP_STATES version="1.1">
|
|
<APP_STATE name="IDLE">
|
|
<!-- <EVENT name="BUTTON_START" resultingState="PRODUCT_SELECTION"/> -->
|
|
<EVENT name="BUTTON_START" resultingState="SETUP_SELL_STATE"/>
|
|
<EVENT name="SELL_DISABLE" resultingState="FREE_PARK"/>
|
|
<SCREEN name="START"/>
|
|
<MODE name="IDLE"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="FREE_PARK">
|
|
<EVENT name="SELL_ENABLE" resultingState="IDLE"/>
|
|
<SCREEN name="START"/>
|
|
<MODE name="IDLE"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="SETUP_SELL_STATE">
|
|
<ENTRY_TASK name="TIMER" timeout="500"/>
|
|
<EVENT name="TIMEOUT" resultingState="PARKTIME_SELECTION" setProduct="SHORT_TERM_PARKING"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="PRODUCT_SELECTION">
|
|
<EVENT name="BUTTON_CANCEL" resultingState="IDLE"/>
|
|
<EVENT name="BUTTON_VEHICLE_1" resultingState="LICENSEPLATE_INPUT" setProduct="SHORT_TERM_PARKING" setCheckFeature="SKIP_TICKET_PRINT"/>
|
|
<EVENT name="BUTTON_VEHICLE_2" resultingState="PARKTIME_SELECTION" setProduct="SHORT_TERM_PARKING"/>
|
|
<SCREEN name="PRODUCT_SELECTION"/>
|
|
</APP_STATE>
|
|
|
|
<!--
|
|
<APP_STATE name="SKIP_TICKET_PRINT_TEST">
|
|
<ENTRY_TASK name="PRINT_LOG" text="APP_STATE name=SKIP_TICKET_PRINT_TEST"/>
|
|
<ENTRY_TASK name="CHECK_FEATURE" checkFeatureName="SKIP_TICKET_PRINT"/>
|
|
<EVENT name="CHECK_TRUE" resultingState="LICENSEPLATE_INPUT"/>
|
|
<EVENT name="CHECK_FALSE" resultingState="PARKTIME_SELECTION"/>
|
|
</APP_STATE>
|
|
-->
|
|
|
|
<APP_STATE name="LICENSEPLATE_INPUT">
|
|
<EVENT name="BUTTON_CANCEL" resultingState="IDLE"/>
|
|
<EVENT name="BUTTON_NEXT" resultingState="PARKTIME_SELECTION" setProduct="SHORT_TERM_PARKING"/>
|
|
<SCREEN name="LICENSEPLATE_INPUT"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="PAYMENT_SELECTION">
|
|
<EVENT name="BUTTON_CANCEL" resultingState="IDLE"/>
|
|
<EVENT name="BUTTON_PAYMETHOD_1" resultingState="IDLE"/>
|
|
<EVENT name="BUTTON_PAYMETHOD_2" resultingState="CASH_PAYMENT" setPaymentType="CASH" setCashInputMode="PAY_DOWN"/>
|
|
<EVENT name="BUTTON_PAYMETHOD_3" resultingState="CARD_PAYMENT" setPaymentType="CARD"/>
|
|
<EVENT name="BUTTON_PAYMETHOD_4" resultingState="IDLE"/>
|
|
<SCREEN name="PAYMENT_SELECTION"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="PARKTIME_SELECTION">
|
|
<ENTRY_TASK name="REQUEST_INITIAL_PRICE"/>
|
|
<EVENT name="BUTTON_PLUS_STEP" resultingState="PARKTIME_SELECTION_PLUS"/>
|
|
<EVENT name="BUTTON_MINUS_STEP" resultingState="PARKTIME_SELECTION_MINUS"/>
|
|
<EVENT name="BUTTON_CANCEL" resultingState="IDLE"/>
|
|
<EVENT name="BUTTON_BACK" resultingState="LICENSEPLATE_INPUT"/>
|
|
<EVENT name="BUTTON_NEXT" resultingState="PAYMENT_SELECTION"/>
|
|
<SCREEN name="PARKTIME_SELECTION"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="PARKTIME_SELECTION_PLUS">
|
|
<ENTRY_TASK name="REQUEST_STEP_UP_PRICE"/>
|
|
<EVENT name="BUTTON_PLUS_STEP" resultingState="PARKTIME_SELECTION_PLUS"/>
|
|
<EVENT name="BUTTON_MINUS_STEP" resultingState="PARKTIME_SELECTION_MINUS"/>
|
|
<EVENT name="BUTTON_CANCEL" resultingState="IDLE"/>
|
|
<EVENT name="BUTTON_BACK" resultingState="LICENSEPLATE_INPUT"/>
|
|
<EVENT name="BUTTON_NEXT" resultingState="PAYMENT_SELECTION"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="PARKTIME_SELECTION_MINUS">
|
|
<ENTRY_TASK name="REQUEST_STEP_DOWN_PRICE"/>
|
|
<EVENT name="BUTTON_PLUS_STEP" resultingState="PARKTIME_SELECTION_PLUS"/>
|
|
<EVENT name="BUTTON_MINUS_STEP" resultingState="PARKTIME_SELECTION_MINUS"/>
|
|
<EVENT name="BUTTON_CANCEL" resultingState="IDLE"/>
|
|
<EVENT name="BUTTON_BACK" resultingState="LICENSEPLATE_INPUT"/>
|
|
<EVENT name="BUTTON_NEXT" resultingState="PAYMENT_SELECTION"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="CARD_PAYMENT">
|
|
<ENTRY_TASK name="REQUEST_PARKING_ENDTIME" key="PRICE_INFO_GROSS"/>
|
|
<ENTRY_TASK name="REQUEST_CC_START_TRANSACTION"/>
|
|
<EVENT name="RECEIVED_CARD_TRANSACTION_SUCCESS" resultingState="CHECK_PAPERLESS_CARD"/>
|
|
<EVENT name="RECEIVED_CARD_TRANSACTION_ERROR" resultingState="CC_PAYMENT_ERROR"/>
|
|
<EVENT name="BUTTON_CANCEL" resultingState="USER_CC_ABORT"/>
|
|
<SCREEN name="CC_PAYMENT"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="CASH_PAYMENT">
|
|
<ENTRY_TASK name="REQUEST_CASH_INPUT"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT" resultingState="CASH_PAYMENT_INPUT"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT_OVERPAYED" resultingState="CHECK_PAPERLESS_CASH"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT_FINISHED" resultingState="CHECK_PAPERLESS_CASH"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT_ERROR" resultingState="CASH_PAYMENT_ERROR"/>
|
|
<EVENT name="BUTTON_CANCEL" resultingState="CASH_PAYMENT_ABORT"/>
|
|
<SCREEN name="COIN_PAYMENT"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="CASH_PAYMENT_INPUT">
|
|
<ENTRY_TASK name="REQUEST_PARKING_ENDTIME" key="PRICE_INFO_GROSS"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT" resultingState="CASH_PAYMENT_INPUT"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT_OVERPAYED" resultingState="CHECK_PAPERLESS_CASH"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT_FINISHED" resultingState="CHECK_PAPERLESS_CASH"/>
|
|
<EVENT name="RECEIVED_CASH_INPUT_ERROR" resultingState="CASH_PAYMENT_ERROR"/>
|
|
<EVENT name="BUTTON_CANCEL" resultingState="CASH_PAYMENT_ABORT"/>
|
|
<EVENT name="BUTTON_NEXT" task="PAYMENT_ACCEPTED" resultingState="CASH_PAYMENT_INPUT"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="CASH_PAYMENT_ERROR">
|
|
<ENTRY_TASK name="REQUEST_ISMAS_FAIL_TRANSACTION"/>
|
|
<ENTRY_TASK name="CASH_ABORT"/>
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="CASH_PAYMENT_FAILED" note="screennumber 0x39"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="CASH_OVERPAYED">
|
|
<ENTRY_TASK name="REQUEST_ISMAS_FAIL_TRANSACTION"/>
|
|
<ENTRY_TASK name="CASH_ABORT"/>
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="CASH_CHANGE_OVERPAID" note="screennumber 0x8a"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="CASH_PAYMENT_ABORT">
|
|
<ENTRY_TASK name="REQUEST_ISMAS_FAIL_TRANSACTION"/>
|
|
<ENTRY_TASK name="CASH_ABORT"/>
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
</APP_STATE>
|
|
|
|
<!--
|
|
<APP_STATE name="PRINT_TICKET_WAIT">
|
|
<ENTRY_TASK name="TIMER" timeout="2000"/>
|
|
<EVENT name="TIMEOUT" resultingState="PRINT_TICKET"/>
|
|
<SCREEN name="BUSY"/>
|
|
</APP_STATE>
|
|
-->
|
|
|
|
<APP_STATE name="CHECK_PAPERLESS_CASH">
|
|
<ENTRY_TASK name="CHECK_FEATURE" checkFeatureName="SKIP_TICKET_PRINT"/>
|
|
<EVENT name="CHECK_TRUE" resultingState="FINALISE_CASH_PAYMENT" setTransactionDelivery="ONLINE" setTransactionResult="SUCCESS"/>
|
|
<EVENT name="CHECK_FALSE" resultingState="PRINT_TICKET_CASH"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="CHECK_PAPERLESS_CARD">
|
|
<ENTRY_TASK name="CHECK_FEATURE" checkFeatureName="SKIP_TICKET_PRINT"/>
|
|
<EVENT name="CHECK_TRUE" resultingState="CARD_PAYMENT_CONFIRM" setTransactionDelivery="ONLINE" setTransactionResult="SUCCESS"/>
|
|
<EVENT name="CHECK_FALSE" resultingState="PRINT_TICKET_CARD"/>
|
|
</APP_STATE>
|
|
|
|
|
|
<APP_STATE name="PRINT_TICKET_CASH">
|
|
<ENTRY_TASK name="REQUEST_PRINT_TICKET"/>
|
|
<EVENT name="PRINT_TICKET_FINISHED" resultingState="FINALISE_CASH_PAYMENT"/>
|
|
<EVENT name="PRINT_TICKET_ERROR" resultingState="PRINT_TICKET_FAILED"/>
|
|
<SCREEN name="SCREEN_WAITFOR"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="PRINT_TICKET_CARD">
|
|
<ENTRY_TASK name="REQUEST_PRINT_TICKET"/>
|
|
<EVENT name="PRINT_TICKET_FINISHED" resultingState="CARD_PAYMENT_CONFIRM"/>
|
|
<EVENT name="PRINT_TICKET_ERROR" resultingState="PRINT_TICKET_FAILED"/>
|
|
<SCREEN name="SCREEN_WAITFOR"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="PRINT_TICKET_FAILED">
|
|
<ENTRY_TASK name="REQUEST_CC_CANCEL_TRANSACTION"/>
|
|
<ENTRY_TASK name="REQUEST_ISMAS_FAIL_TRANSACTION"/>
|
|
<ENTRY_TASK name="CASH_ABORT"/>
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="PRINT_TICKET_FAILED"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="CARD_PAYMENT_CONFIRM">
|
|
<ENTRY_TASK name="REQUEST_CC_CONFIRM_TRANSACTION"/>
|
|
<EVENT name="RECEIVED_CARD_CONFIRM_TRANSACTION_SUCCESS" resultingState="ASK_RECEIPT"/>
|
|
<EVENT name="RECEIVED_CARD_CONFIRM_TRANSACTION_ERROR" resultingState="CC_PAYMENT_ERROR"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="ASK_RECEIPT">
|
|
<ENTRY_TASK name="TIMER" timeout="6000"/>
|
|
<EVENT name="TIMEOUT" resultingState="GOODBYE_PAYMENT_OK"/>
|
|
<EVENT name="BUTTON_YES" resultingState="PRINT_RECEIPT"/>
|
|
<EVENT name="BUTTON_NO" resultingState="GOODBYE_PAYMENT_OK"/>
|
|
<SCREEN name="ASK_RECEIPT"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="PRINT_RECEIPT">
|
|
<ENTRY_TASK name="REQUEST_PRINT_RECEIPT"/>
|
|
<EVENT name="PRINT_RECEIPT_FINISHED" resultingState="GOODBYE_PAYMENT_OK"/>
|
|
<EVENT name="PRINT_RECEIPT_ERROR" resultingState="PRINT_TICKET_FAILED"/>
|
|
<SCREEN name="PRINT_RECEIPT"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="FINALISE_CASH_PAYMENT">
|
|
<ENTRY_TASK name="CASH_COLLECT"/>
|
|
<EVENT name="RECEIVED_CASH_CHANGE_BACK" resultingState="GIVE_CHANGE"/>
|
|
<EVENT name="RECEIVED_CASH_PAYMENT_FINISHED" resultingState="GOODBYE_PAYMENT_OK"/>
|
|
<!-- TODO: handle changer Error -->
|
|
<!-- no screen change here -->
|
|
</APP_STATE>
|
|
<APP_STATE name="GIVE_CHANGE">
|
|
<EVENT name="RECEIVED_CASH_PAYMENT_FINISHED" resultingState="GOODBYE_PAYMENT_OK"/>
|
|
<SCREEN name="SCREEN_CHANGE"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="GOODBYE_PAYMENT_OK">
|
|
<ENTRY_TASK name="REQUEST_ISMAS_TRANSACTION"/>
|
|
<ENTRY_TASK name="TIMER" timeout="2000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="GOODBYE_3" note="green_hook"/>
|
|
</APP_STATE>
|
|
|
|
<APP_STATE name="CC_PAYMENT_ERROR">
|
|
<ENTRY_TASK name="REQUEST_ISMAS_FAIL_TRANSACTION"/>
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="CC_PAYMENT_ERROR"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="USER_CC_ABORT">
|
|
<ENTRY_TASK name="REQUEST_ISMAS_FAIL_TRANSACTION"/>
|
|
<ENTRY_TASK name="REQUEST_CC_CANCEL_TRANSACTION"/>
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="USER_ABORT"/>
|
|
</APP_STATE>
|
|
|
|
|
|
<!-- ************** ABORT STATES ************** -->
|
|
|
|
<APP_STATE name="ABORT_NOCONNECTION">
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="ABORT_2"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="ABORT_NOCARD">
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="ABORT_4"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="ABORT_CARD_DENIED">
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="ABORT_5"/>
|
|
</APP_STATE>
|
|
<APP_STATE name="ABORT_NOT_ALLOWED">
|
|
<ENTRY_TASK name="REQUEST_ISMAS_FAIL_TRANSACTION"/>
|
|
<ENTRY_TASK name="TIMER" timeout="3000"/>
|
|
<EVENT name="TIMEOUT" resultingState="IDLE"/>
|
|
<SCREEN name="ABORT_6"/>
|
|
</APP_STATE>
|
|
|
|
|
|
</ATB_APP_STATES>
|