business logic • many roles (admin, call operator, post manager, analyst and etc.) • many order states (new, waiting for clarification, processing, sent, paid, returned)
if order is in state ’New’. • Call operator should see ‘Process' button if order is in state 'Waiting clarification’ only. • Analyst should have a ‘Cancel’ button if order is in all the states, except ‘Sent’ and ‘Paid’.