The customer can Cancel an Order up till the order is picked by the shipment company, on the website (Cancel button will be disabled after the order is picked by shipping company). Hence an Order can not be canceled after it is picked for shipment.
The User will get a provision of return, on the website, after receiving the delivery of the products. A Return button will be displayed on the website for a delivered order, instead of Cancel button.
The Customer can partially cancel an Order. For example, the customer can cancel 2 items out of 3 initially ordered. This partial order cancellation will also respect the above-mentioned rule.