# Purpose of the Process

The checkout flow serves two primary objectives:

**User Perspective:**

* Safely convert the items in the basket into an order
* Collect delivery and payment information step by step
* Allow easy correction of errors that occur during the process
* Allow returning to completed steps to make changes

**System Perspective:**

* Preserve data consistency at every step
* Apply campaign and discount rules correctly
* Complete payment transactions securely
