Marketplace Product Offer feature walkthrough

Edit on GitHub

The Marketplace Product Offer entity is created when multiple merchants sell the same product on the Marketplace. The product offer is a variation of a concrete product with its own specific price (and volume price) and stock. It can be “owned” by any entity, however, in a B2C or B2B Marketplace, it is owned by a merchant.

The Marketplace product offer has its own validity dates and its own availability calculation based on its reservations.

The product offer re-uses and extends concrete product features. All product-related data is stored and processed as concrete products. All offer-related data is stored in a separate entity and linked to a concrete product.

The Marketplace Product Offer feature contains both merchant product offer and product offer concepts. Merchant product offer extends product offer by adding a pointer to a merchant.

User documentation

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

Module dependency graph

The following diagram illustrates the dependencies between the modules for the Marketplace Product Offer feature.

Module Dependency Graph

The following table lists the main modules of the Marketplace Product Offer feature.

MerchantProductOffer Provides a collection of product offers by request. Extends ProductOffer with the merchant information. Used by MerchantSwitcher for enabling the merchant functionality.
MerchantProductOfferDataImport Module for importing Merchant offers from the CSV file.
MerchantProductOfferGui Provides Zed UI interface for merchant product offer management.
MerchantProductOfferSearch Manages Elasticsearch documents for merchant product offer entities.
MerchantProductOfferStorage Manages storage for merchant product offers.
MerchantProductOfferStorageExtension Provides an interfaces of plugins to extend MerchantProductOfferStorage module from the other modules.
MerchantProductOffersRestApi Provides Glue API endpoints to manage merchant product offers.
Product Provides base infrastructure and CRUD operations to handle abstract product and concrete products.
ProductOffer Provides the main create-read-update product offer functionality.
ProductOfferExtension Provides extension interfaces for ProductOffer module.
ProductOfferGui ProductOfferGui is the Zed Administrative Interface component for managing product offers.
ProductOfferGuiExtension Provides plugin interfaces for ProductOfferGui module functionality extending.
ProductOfferStorage Manages storage for product offers.
ProductOfferStorageExtension Provides interfaces for extension of ProductOfferStorage module with plugins.
ProductOffersRestApi Provides availability to add product offer resource relation.
ProductOfferValidity Defines validity period for an offer.
ProductOfferValidityDataImport Data importer for ProductOfferValidity.
ProductOfferValidityGui ProductOfferValidityGui is the Zed Administrative Interface component for managing product offer validity.
MerchantProductOfferWidget Provides merchant product offer information for the spryker-shop.
MerchantProductOfferWidgetExtension This module provides plugin interfaces to extend the MerchantProductOfferWidget module from the other modules.
ProductOfferWidget Provides widgets for displaying Product Offers.

Domain model

The following schema illustrates the domain model of the Marketplace Product Offer feature:

Domain model

Marketplace Product Offer feature integration Retrieving product offers File details: combined_merchant_product_offer.csv Rendering merchant product offers on the Storefront Product offer in the Back Office
Marketplace Product Offer + Cart feature integration Retrieving product offers for a concrete product File details: merchant_product_offer.csv Product offer storage
Marketplace Product Offer + Checkout feature integration File details: product_offer_stock.csv Product Offer store relation
Marketplace Product Offer Prices feature integration File details: product_offer_validity.csv
Marketplace Product Offer + Quick Add to Cart feature integration File details: merchant_product_offer_store.csv Product Offer validity dates
Marketplace Merchant Portal Product Offer Management feature integration
Glue API: Marketplace Product Offer integration
Glue API: Marketplace Product Offer + Wishlist integration
Glue API: Marketplace Product Offer + Cart integration