Order Management¶
The Order Management feature handles the entire lifecycle of a customer order, from creation to fulfilment or cancellation.
It is the starting point for the platform’s core business flow and is closely connected with several other features.
Purpose¶
Order Management ensures customer orders are consistently processed, tracked, and maintained across all systems.
It acts as the central coordinator for order-related events.
Feature Dependencies¶
Upstream: - Product Selection & Cart
Downstream: - Payment Process - Order Shipment - Refund Process
This feature initiates the core customer journey and passes responsibility to the Payment and Shipment processes after order confirmation.
flowchart LR
Product_Selection --> Order_Management
Order_Management --> Payment_Process
Payment_Process --> Order_Shipment
Process flows¶
- Customer adds products to cart.
- Customer proceeds to checkout.
- System checks for existing customer account or creates new account.
- Order is created in the system with status Pending Payment.
- Order details are stored in the database and an event is emitted.
- The order passes to the Payment Process.
- After successful payment, the order status updates to Payment Accepted.
- The system coordinates with logistics for picking and shipment.
- If stock is unavailable, order may go into Out-of-Stock Hold.
- After shipping, tracking info is attached and status updates to Shipped.
- Upon delivery confirmation, status updates to Delivered.
- If a return or refund is initiated, the order enters the Refund Process.
Key Business Rules¶
- An order cannot be shipped until its status is paid and has been processed for at least 1 hour.
- If payment fails or expires, the order remains in pending_payment for a defined time window before cancellation.
- Partial shipments are allowed in case of stock shortages.
- If an item is delayed beyond expected shipping window, the customer is notified and can choose to wait or remove delayed items.
- Reshipment orders are created at zero cost and linked to the original order.
Involved Services¶
| Service | Responsibility |
|---|---|
| brekz-website | Customer frontend to create and manage orders. |
| brekz-prestashop | Core order engine and product catalog management. |
| brekz-logistics | Manages warehouse stock and fulfillment data. |
| brekz-exact-api | Synchronizes order invoices and financial data with Exact Online. |
| brekz-copernica | Handles order-based marketing triggers and transactional emails. |
Order Statuses¶
| Status ID | Status Name | Description |
|---|---|---|
| 1 | Awaiting cheque payment | Waiting for customer to send cheque. |
| 2 | Payment accepted | Payment received, order confirmed. |
| 3 | Preparation in progress | Order is being prepared for shipment. |
| 4 | Shipped | Order has been shipped. |
| 5 | Delivered | Order delivered to customer. |
| 6 | Canceled | Order canceled by customer or admin. |
| 7 | Refund | Refund has been processed. |
| 8 | Payment error | Payment failed or encountered an error. |
| 9 | On backorder | Products out of stock; waiting for restock. |
| 10 | Awaiting bank wire payment | Waiting for customer to transfer money via bank wire. |
| 11 | Awaiting PayPal payment | Waiting for PayPal payment confirmation. |
| 12 | Payment remotely accepted | Payment accepted by external system. |
| 13 | Awaiting bank wire payment | Duplicate or custom usage for certain flows. |
| 14 | Staat klaar in de winkel | (Custom) Order ready for pickup in store. |
| 15 | Your payment is expired | Payment link expired, order not paid. |
| 16 | Awaiting payment | General waiting for payment status. |
| 17 | On backorder | Duplicate of status 9; likely used differently in backend. |
| 18 | Waiting COD validation | Waiting for Cash On Delivery confirmation. |
| 19 | Manually create invoice | Admin manually generates invoice. |
| 20 | Reshipment order | Order created as a reshipment (replacement). |
| 21 | Order follow up | Used for post-sale customer service follow-up. |
Order Management Subfeatures¶
**Order Status Workflow**
flowchart LR
Order_Placed --> Payment_Accepted
Payment_Accepted --> Stock_Check
Stock_Check -- Available --> Preparation
Stock_Check -- Out_of_Stock --> On_Backorder
Preparation --> Shipped
Shipped --> Delivered
Shipped --> Reshipment_If_Required
Delivered --> Completed
Payment_Accepted -.-> Cancelled
Shipped -.-> Refund_Process
*Delayed Products & Backorder Reasons*
### Description The **Delayed Products & Backorder Reasons** feature manages how delayed or out-of-stock items are communicated to customers. When a product in an order is unavailable, the backoffice must specify the expected delivery delay by selecting a predefined reason. - If the delay is **short-term (1–5 days)**, the system only updates the customer with informational emails. - If the delay is **long-term (more than 5 days or unknown)**, the customer is given the option (via email) to remove the delayed product from their order. When the customer chooses to remove an item: 1. The system validates the token included in the email link. 2. A confirmation email is automatically sent to the customer. 3. A notification email is sent to customer service so the request can be processed further. --- ### Delay Options | ID | Delay Reason | Customer Impact | |----|--------------|-----------------| | 1 | Expected within 1–2 business days | Informational update only; no customer action required. | | 2 | Expected within 4–5 business days | Informational update only; no customer action required. | | 3 | Longer than 5 business days | Customer receives an option to remove the delayed product from their order. | | 4 | Currently unknown | Customer receives an option to remove the delayed product from their order. | --- ### Process Flowflowchart TD
A[Product Marked as Delayed] --> B[Admin Selects Delay Reason]
B --> C{Delay ID?}
C -- ID 1 or 2 --> D[Send Informational Email to Customer]
C -- ID 3 or 4 --> E[Send Email with Removal Option]
E --> F[Customer Clicks Removal Link]
F --> G[System Validates Token]
G --> H[Send Success Email to Customer]
G --> I[Notify Customer Service for Follow-Up]
**Refunds and Returns (RMA Process)**
flowchart TD
Customer_Requests_Return --> Admin_Reviews_Request
Admin_Reviews_Request -- Approve --> Customer_Ships_Back
Customer_Ships_Back --> Admin_Receives_Item
Admin_Receives_Item --> Full_Refund_or_Partial_Refund
Full_Refund_or_Partial_Refund --> Credit_Slip_Issued
Credit_Slip_Issued --> Refund_Complete
**Reshipment Order Creation**
sequenceDiagram
participant Admin
participant System
participant Warehouse
Admin->>System: Selects items for reship
System-->>System: Creates new zero-cost linked order
System-->>Warehouse: Prepares replacement shipment
Warehouse-->>System: Marks reshipped order as shipped
**Batch Order Processing (DPD Export)**
flowchart TD
Select_Orders --> Create_Batch
Create_Batch --> Export_to_DPD_System
Export_to_DPD_System --> Print_Shipping_Labels
Print_Shipping_Labels --> Dispatch_Packages
Dispatch_Packages --> Update_Order_Status
**Customer Order Messages & Communication**
sequenceDiagram
Customer->>System: Sends message linked to Order
System-->>Admin: Displays message on order detail
Admin->>Customer: Replies via system
System-->>Customer: Sends email with response
**One-Click Reorder for Customers**
sequenceDiagram
Customer->>System: Clicks "Reorder"
System-->>System: Populate cart from previous order
System-->>Customer: Redirects to checkout
Customer->>System: Completes new order
**Guest Checkout Conversion**
sequenceDiagram
Guest->>System: Places guest order
System-->>Guest: Sends account activation email
Guest->>System: Activates account with password
System-->>Guest: Confirms account creation