Marketplace Order Management feature: Domain model and relationships

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.

Module dependency graph

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

Module Dependency Graph

MODULE DESCRIPTION
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