Marketplace Order Management feature walkthrough

Edit on GitHub

Marketplace Order Management enables splitting orders into merchant orders and letting product offers be bought directly from a Storefront. The orders are designed to be used by the Marketplace operator, while the merchant orders are always connected to a merchant. To learn more about the core Marketplace objects, see Marketplace domain model.

By using MerchantSalesOrderFacade::createMerchantOrderCollection(), you can decide when to create merchant orders out of an order in your project. By default, it is created by CreateMerchantOrdersCommandPlugin.

User documentation

To learn more about the feature and to find out how end users use it, see Marketplace Order Management feature overview for business users.

Module dependency graph

The following diagram illustrates the dependencies between the modules for the Marketplace Order Management feature.

Module Dependency Graph

MerchantOms Provides the order management system functionality for the merchant orders.
MerchantOmsDataImport Data importer for the MerchantOms.
MerchantSalesOrder Provides functionality for managing merchant orders.
MerchantSalesOrderDataExport Provides possibility to export data related to the merchant orders.
MerchantSalesOrderMerchantUserGui Back Office UI for managing merchant sales orders for the Marketplace operator.
MerchantSalesOrderWidget Provides Merchant Order information for Yves.
Oms Order management system for implementing complex process flows using the state machines.
OmsProductOfferReservation Provides functionality for save/update/remove reservations for the product offers.
ProductOfferReservationGui Back Office UI component for managing reservations for product offers.
ProductOfferSales Connects product offer and sales entities.
Sales Provides the order management core functionality.
MerchantSalesOrderExtension Extension point for the MerchantSalesOrder.
MerchantSalesOrderThresholdGui Provides Zed UI interface for Merchant Order threshold management.
SalesMerchantPortalGui Provides UI for managing Merchant Sales in the Merchant Portal.

Domain model

The following diagram illustrates the domain model of the Marketplace Order Management feature:

Domain Model

Merchant orders in the Merchant Portal


Do not build the Merchant functionality around Orders, but rather around Merchant Orders. Make sure that Merchants do not modify the order directly, but instead use MerchantOms for this purpose.

In the Merchant Portal, merchants can view and manage their MerchantOrders.

The information in the Merchant Portal is limited and includes:

  • Customer information
  • Shipment address
  • Merchant order overview
  • Totals

Merchant order uses its own totals based on order totals, restricted by the Merchant Order Item:

  • refundTotal
  • grandTotal
  • taxTotal
  • expenseTotal
  • subtotal
  • discountTotal
  • canceledTotal

The merchant order total is the sum of the totals of items of an order relating to the merchant order.

Marketplace Order Management feature integration Retrieving Marketplace orders File details: merchant_oms_process.csv MerchantOms
Marketplace Order Management + Order Threshold feature integration File details: merchant-order-status.csv How-to: Creation a new MerchantOms flow