Table of Contents

Namespace CMS.Commerce

Classes

AddressDto

Represents a structured address used in price calculation requests.

CustomerAddressInfo

Data container class for CustomerAddressInfo.

CustomerInfo

Data container class for CustomerInfo.

EmailBuilderOrderContext

Represents the context of a commerce order available in email builder components.

OrderAddressInfo

Data container class for OrderAddressInfo.

OrderAddressType

Data container for OrderAddressType to represent value of OrderAddressType.

OrderData

Shopping cart data to create order from.

OrderDataBase<TOrderItem, TAddressDto>

Shopping cart data to create order from.

OrderInfo

Data container class for OrderInfo.

OrderItem
OrderItemBase<TProductIdentifier>
OrderItemInfo

Data container class for OrderItemInfo.

OrderNotificationSendException

Exception that indicates a failure occurred while sending a notification.

OrderStatusInfo

Data container class for OrderStatusInfo.

PaymentMethodInfo

Data container class for PaymentMethodInfo.

PriceCalculationData<TCalculationRequest, TCalculationResult>

Holds data required to perform shopping cart calculation.

PriceCalculationRequest

Input data necessary to perform a price calculation.

PriceCalculationRequestBase<TCalculationRequestItem, TCalculationRequestAddress>

Represents the data required for an order price calculation request.

PriceCalculationRequestItem

Item to be processed in a price calculation.

PriceCalculationRequestItemBase<TProductIdentifier>

Represents a product in a price calculation request.

PriceCalculationResult

Result data from completed price calculations.

PriceCalculationResultBase<TCalculationResultItem>

Represents the result of calculating prices for an order, including itemized prices, totals, taxes, and shipping.

PriceCalculationResultItem

Result data item from completed calculations.

PriceCalculationResultItemBase<TProductIdentifier, TProductData>

Represents the result of calculating prices for a single item in an order.

PriceFormatContext

Represents the context for formatting prices.

ProductData

Represents detailed information about a product relevant to pricing calculations.

ProductIdentifier

Represents a unique identifier for a product in the cart. Used to associate calculation logic with a specific cart item and with items in calculation requests and results.

ProductQuantityFormatContext

Represents the context for product quantity formatter.

ShippingMethodInfo

Data container class for ShippingMethodInfo.

ShoppingCartInfo

Data container class for ShoppingCartInfo.

Interfaces

ICustomerAddressInfoMapper<TAddressDto>

Customer address info mapper to populate info or DTO object with additional data.

ICustomerInfoMapper<TOrderData>

Customer info mapper to populate CustomerInfo with custom order data.

IEmailBuilderOrderContextAccessor

Provides access to the current commerce order context in email builder components.

IOrderAddressInfoMapper<TAddressDto>

Order address info mapper.

IOrderCreationService<TOrderData, TCalculationRequest, TCalculationResult, TAddressDto>

Order creation service for creating and saving new orders.

IOrderData

Shopping cart data to create order from.

IOrderInfoMapper<TOrderData, TCalculationResult>

Order info mapper.

IOrderItemInfoMapper<TOrderData, TCalculationResult>

Order item info mapper.

IOrderItem<TProductIdentifier>

Represents item of shopping cart, product catalogue or invoice.

IOrderNotificationService

Service for sending order notifications.

IPriceCalculationData<TCalculationRequest, TCalculationResult>

Represents a container for both the calculation request (input) and calculation result (output) used in the calculation process.

IPriceCalculationRequest

Represents the contract for a price calculation request, encapsulating all information necessary to perform order price calculations. This interface is not intended for custom implementation. Use PriceCalculationRequest or PriceCalculationRequestBase<TCalculationRequestItem, TCalculationRequestAddress> for extensibility.

IPriceCalculationRequestItem<TProductIdentifier>

Defines the contract for an item included in a price calculation request. Each item represents a product and its quantity for which pricing is to be calculated.

IPriceCalculationRequestMapper<TCalculationRequest, TOrderData>

Configuration for price calculation request object to receive all custom data.

IPriceCalculationResult

Represents the result of calculating prices for an order, including itemized prices, totals, taxes, and shipping.

IPriceCalculationResultItem<TProductIdentifier, TProductData>

Represents the result of calculating prices for a single item in an order. This interface is not intended for custom implementation. Use PriceCalculationResultItem or PriceCalculationResultItemBase<TProductIdentifier, TProductData> for extensibility.

IPriceCalculationService<TCalculationRequest, TCalculationResult>

Represents a service for calculating prices using a sequence of calculation steps.

IPriceCalculationStep<TCalculationRequest, TCalculationResult>

Represents a single calculation step in the price calculation pipeline.

IPriceCalculationStepsProvider<TCalculationRequest, TCalculationResult>

Represents a provider that supplies a list of price calculation steps. Implement and register a class that implements this interface to define a custom sequence of price calculation steps for the price calculation pipeline.

IPriceFormatter

Interface for price formatting.

IProductDataLoaderPriceCalculationStep<TCalculationRequest, TCalculationResult>

Represents calculation step for loading product data for later calculations. Prepare all the data in the calculation result object that will be needed for all the following calculation steps.

IProductDataRetriever<TProductIdentifier, TProductData>

Defines a contract for retrieving product data for price calculations based on product identifiers.

This generic interface can be implemented for different product identifier and product data types. Its responsibilities include:

  • Building and executing queries against the database using product identifiers.
  • Mapping raw product data into strongly typed TProductData objects.
  • Returning results as a read-only dictionary keyed by TProductIdentifier.
IProductQuantityFormatter

Interface for product quantity formatting.

IShippingPriceCalculationStep<TCalculationRequest, TCalculationResult>

Represents a calculation step responsible for determining the shipping price during the price calculation process.

ITaxPriceCalculationStep<TCalculationRequest, TCalculationResult>

Represents a calculation step responsible for calculating all applied taxes during the price calculation process.

ITotalValuesPriceCalculationStep<TCalculationRequest, TCalculationResult>

Represents a calculation step responsible for calculating the total values and final price during the price calculation process.

IUnitPriceCalculationStep<TCalculationRequest, TCalculationResult>

Represents a calculation step responsible for calculating the unit price of all items during the price calculation process.