Stability
The main focus is that a receipt should never be lost and the application should return to a stable state if something unexpected happens.
The application is closed
If an active receipt exists and the application is closed the receipt will be displayed if the application is reopened again.
Crash recovery
It is important that the system is stable and can handle a recovery situation.
The device is turned off
Whenever that device is turned on again and/or the receipt is otherwise accessed, the receipt should remain in the same state having the same amount of items entered.
Network connection is lost
Whenever the network connection is back the app present the option to login again and upon logging in retrieve the receipt last active in the application for that user.
Checkout App crashes in midorder
Whenever a new instance of Checkout App application is started and a user is logged in, the application should present the same receipt as last active for that user.