Requirements in iteration-3 include:
Provide failover to local services when the remote services cannot be accessed. For example, if the remote product database can't be accessed, use a local version with cached data.
Provide support for POS device handling, such as the cash drawer and coin dispenser.
Handle credit payment authorization.
Support for persistent objects.