Skip to content

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

  1. Customer adds products to cart.
  2. Customer proceeds to checkout.
  3. System checks for existing customer account or creates new account.
  4. Order is created in the system with status Pending Payment.
  5. Order details are stored in the database and an event is emitted.
  6. The order passes to the Payment Process.
  7. After successful payment, the order status updates to Payment Accepted.
  8. The system coordinates with logistics for picking and shipment.
  9. If stock is unavailable, order may go into Out-of-Stock Hold.
  10. After shipping, tracking info is attached and status updates to Shipped.
  11. Upon delivery confirmation, status updates to Delivered.
  12. 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 Flow
flowchart 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