Marketplace Product Offer Prices feature walkthrough

Edit on GitHub

With the Marketplace Product Offer Prices feature, the Marketplace merchants can define custom prices for product offers.

Merchants can define the prices for each product offer. If no price for the product offer is specified, a default price from the concrete product is used.

Price types (for example,gross price, net price) are assigned to each price, and for each price type, there can be from one to n product prices. Price type entities are used to differentiate between use cases: for example, we have DEFAULT and ORIGINAL prices which are used for sale pricing. You can add your own price types and use them in your app.

A new price type can be added by importing price data. The price type in the CSV file will be added or updated.

To learn more details about prices import file, see: File details: product_price.csv

Depending on the price mode selected by a customer in Storefront, the price can have gross or net value. You can run your shop in both modes as well as select net mode for business customers, for example.

A price is also associated with a currency and a store.

To support product offer prices, a PriceProductOffer database table has been added to connect PriceProductStore and ProductOffer tables. In order to store the information about product offer prices that will be synchronized to Storage, the ProductConcreteProductOfferPriceStorage database table has been added. On the Storefront, this data is used to display correct prices for product offers.

In addition, product offers support volume prices. Merchants can now enter volume prices for product offers, and customers will see the corresponding price on their Storefront based on the quantity they have chosen. The volume prices for product offers work the same as the volume prices for products.

To learn more about prices and volume prices, see: Prices, Volume Prices

User documentation

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

Module dependency graph

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

Entity diagram

MODULE DESCRIPTION
PriceProductOffer Provides product offer price-related functionality, price persistence, current price resolvers per currency/price mode.
PriceProductOfferDataImport Imports data for product offer prices.
PriceProductOfferGui Backoffice UI Interface for managing prices for product offers.
PriceProductOfferStorage Provides functionality to store data about product offer prices in the storage.
PriceProductOfferVolume Provides functionality to handle volume prices for product offers.
PriceProductOfferVolumeGui Backoffice UI Interface for managing volume prices for product offers.
PriceProductOfferExtension Provides plugin interfaces for extending PriceProductOffer module functionality.
PriceProductOfferStorageExtension Provides plugin interfaces used by Price Product Offer Storage bundle.
PriceProductOfferVolumesRestApi Provides plugin(s) to add product-offer-volume-prices to the product-offer-prices.
ProductOfferPricesRestApi Provides Rest API endpoints to manage product offer prices.
ProductOfferPricesRestApiExtension Provides plugin interfaces for extending the ProductOfferPricesRestApi module.
Price Handles product pricing and provides plugins for products to populate prices.
PriceProduct Provides product price-related functionality, price persistence, current price resolvers per currency/price mode.
PriceProductStorage Provides functionality to store data about product prices in the storage.
PriceProductVolume Provides functionality to handle volume prices for products.
ProductOffer Provides the core functionality for product offer features.

Domain model

The following schema illustrates the Marketplace Product Offer Prices domain model:

Entity diagram

INSTALLATION GUIDES GLUE API GUIDES DATA IMPORT
Marketplace Product Offer Prices feature integration Retrieving product offer prices File details: price-product-offer.csv
Glue API: Marketplace Product Offer Prices integration