# Ordering Workflow

The Online Ordering API follows a strict transactional workflow to ensure data integrity and stock availability.

1

 Preview 

2

 Create 

1.  **Retrieve Configuration:** Get brand specific settings via `/brands/webordering-configuration`.
2.  **Get Menu:** Download the hash map via `/menus/id/hash_map`.
3.  **Build Cart:** Construct the recursive product object locally.
4.  **Preview (Validation):** Call `/orders/preview`.This step validates stock, calculates discounts/fees, and ensures the payload format is correct. It does not persist the order.
5.  **Create (Persistence):** Call `/orders` with the exact same payload + an `idempotency-key`.This finalizes the transaction, triggers the Kitchen Display System (KDS), and processes payment.
