Pricing - Composite Pricing

Note: Spartacus 3.x is no longer maintained. Please upgrade to the latest version.

Note: Spartacus 3.x was tested with SAP Commerce Cloud versions 1905 to 2105. Spartacus 3.x has not been verified to work with (and is not guaranteed to work with) SAP Commerce Cloud 2211 or later releases.

Note: This feature is introduced with version 2.0 of the TUA Spartacus libraries.

Composite Pricing brings forth a new way of handling pricing information and supports recurring charges, one-time charges and usage-based charges that are built in a hierarchical tree structure. Pricing displayed on the storefront is now based on the composite pricing structure. Priority pricing is also supported to determine the applicable price for a customer in the case where there are multiple prices that a given customer is eligible for. For more information, see Composite Pricing in the TUA Help portal.


Table of Contents


Business Use Case

Customers browsing the storefront are able to view detailed pricing information about a product offering.

Page Information Eligible Prices
Product Listing Page (PLP) Pay now, Recurring, One time Charges, and Usage Charges with Price Alteration is displayed
Product Detail Page (PDP) Pay now, Recurring, along with Price alteration
Add to Cart popup Pay Now charge along with price alteration
Cart page Pay now, Recurring, One time Charges, and Usage Charges, along with Price alteration
Review Order page Pay now, Recurring, One time Charges, and Usage charged, along with Price alteration
Order Confirmation page Pay now, Recurring, One time Charges, and Usage charged, along with Price alteration
Order History page Pay now, Recurring, One time Charges, and Usage charged, along with Price alteration
Configurable Guided Selling (CGS) Page Details are similar to the Product Listing Page (PLP) along with Price alteration in the cart

The following figure illustrates the hierarchical structure of the composite pricing for Signature Unlimited Plan that is configured by the Administrator in the backoffice as an example.

Composite Pricing Feature

Changes Implemented

The following changes are implemented as part of this feature:

Change Description
End-point changes The OCC endpoints are changed from REST/V2 to OCC/V2 in the app.modules.ts to use commerce web services endpoints. No API-related changes from the previous release
Highest Priority Price Algorithm If the product offering has multiple eligible prices, the product offering with the highest priority price is determined and displayed
Product Display Page (PDP) and Product Listing Page (PLP) Displays the highest priority SPO price

Creating and Configuring Composite Pricing in TUA

To create composite prices, see Creating Composite Prices for a Simple Product Offering in the TUA Help portal.

Components

The following new and updated components must be enabled in the TUA backoffice to appear on the Spartacus TUA storefront:

Component Name Status Description
Product Components
TmaProductSummaryComponent Updated This component extends the ProductSummaryComponent to display information about the prices of the product offering in the Product Details Page (PDP).

Displays: Price Charges. For more information, see TmaPriceDisplayComponent component.

Note: If a product offering has multiple prices, highest priority pricing will be used to determine the price.
TmaProductDetailsTabComponent Updated This component extends the ProductDetailsTabComponent to display detailed prices of the product offering in the Product Details tab on the Product Details Page (PDP).

Format: Contract Duration: <contract term name>
Example: Contract Duration: 12 Months - monthly billing
Displays: Contract Duration indicates the duration of the contract

Note: If a product offering does not have a contract term, recurring prices, or usage charges, this section will not display. No charges will be shown in this component. All product charges are shown in a price tree in the Product Summary component.
Search Product Components
TmaProductListItemComponent Updated This component extends the ProductListItemComponent to display information about the prices of the product offering in the Product Listing Page (PLP).

Displays: Price Charges. For more information, see TmaPriceDisplayComponent
TmaProductGridItemComponent Updated This component extends the ProductGridItemComponent to display information about the prices of the product offering in the Product Grid Item page.

Displays: Price Charges. For more information, see TmaPriceDisplayComponent
Product Price Components
TmaUsageChargeComponent Updated A Usage Charge component to display the usage charge details in the Product pages.

Format: <value><currency> /<usageUnit> for <cycle start> to <cycle end> <usageUnit>
Example: Inside "Per Minutes Charges (Charged By Each Respective Tier)" TmaPriceDisplayComponent, Usage Charge as 0.08 $ /minute for 1 to 100 minute for Product signatureUnlimitedPlan
TmaVolumeChargeComponent Deleted Usage charge as volume type does not exist in composite pricing.Therefore, the relevant component is deleted.
TmaPerUnitChargeComponent Deleted Usage charge as volume type does not exist in composite pricing. Therefore, the relevant component is deleted.
TmaOneTimeChargeComponent Updated A One Time Charge component to display one time charges in the Product pages.

Format: <value><currency><billingEvent>
Example: Inside "Activation Charges" TmaPriceDisplayComponent, One Time Charge as 50.0 $ On Checkout for Product signatureUnlimitedPlan
TmaRecurringChargeComponent Updated A Recurring Charges component to display recurring charges in the Product pages.

Format: <value><currency> <billingEvent>
Example: Inside "Service Charges" TmaPriceDisplayComponent, Recurring Charges as 50.0 $ monthly for Product signatureUnlimitedPlan
TmaPriceDisplayComponent New A Price Display component to display prices in the Product pages. It includes subsequent product charge types components.

Format: <POP Name> In Case No <UsageType>) is present
Example: Activation Charges for Product signatureUnlimitedPlan

Format: <POP Name> (Charged By <UsageType>) if UsageType is present
Example: Per MB Charges (Charged By Highest Applicable Tier) for Product signatureUnlimitedPlan

Displays all usage charges, such as:
- one time charges. For more information, see TmaOneTimeChargeComponent
- recurring charges. For more information, see TmaRecurringChargeComponent
- usage charges. For more information, see TmaUsageChargeComponent
Cart Components
TmaCartitemPriceDisplayComponent New A Price Display component to display prices on the cart and it includes subsequent cart charge types components. Hierarchical Price, in case no <UsageType>) is present.

Format: Hierarchical Price In Case No <UsageType>) is present
Example: Hierarchical Price for Product signatureUnlimitedPlan if Added in Cart

Format: Hierarchical Price (Charged By <UsageType>) if UsageType is present
Example: Hierarchical Price (Charged By Each Respective Tier)for Product signatureUnlimitedPlan if Added in Cart
Displays: All usage charges, such as:
- one time charges. For more information, see CartItemOneTimeChargeComponent
- recurring charges. For more information, see CartItemRecurringChargeComponent
- usage charges. For more information, see CartItemUsageChargeComponent
CartItemOneTimeChargeComponent Updated A One Time Charges component to display one time charges on the Cart Item.

Format: <value><currency> <billingEvent>
Example: One Time Charge as 50.0 $ On Checkout for Product signatureUnlimitedPlan
CartItemRecurringChargeComponent Updated A Recurring Charges component to display recurring charges on the Cart Item.

Format: <value><currency> <billingEvent>
Example: Recurring Charges as 50.0 $ monthly for Product signatureUnlimitedPlan
CartItemUsageChargeComponent Updated A Usage Charges component to display usages charges on the Cart Item.

Format: <value><currency> /<usageUnit> for <cycle start> to <cycle end> <usageUnit>
Example: Usage Charge as 0.08 $ /minute for 1 to 100 minute for Product signatureUnlimitedPlan
TmaCartItemComponent Updated A Cart Item component that displays details of the cart items. It is updated to include TmaCartItemPriceDisplayComponent, if applicable.
Format: <discounted value>
Example: $50 $32 for Product signatureUnlimitedPlan.
TmaAddedToCartDialogComponent Updated Added to the Cart dialog to show the entries added to the cart. This component is updated to show the formatted pay now price of the cart for composite pricing.
TmfProductComponent Updated Displays the prices of subscription order. This component is updated to include the TmaCartItemPriceDisplayComponent.
Guided Selling Components
TmaGuidedSellingProductGridItemComponent Updated A Guided Selling Grid component to show product details in a grid. It is updated to include price display component. It displays the price charges. For more information, see TmaPriceDisplayComponent.
TmaGuidedSellingProductListItemComponent Updated A Guided Selling Grid component to show product details in a list. It is updated to include price display component. It displays the Price Charges. For more information, see TmaPriceDisplayComponent.
TmaGuidedSellingCurrentSelectionComponent Updated A Guided Selling Current Selection component to show selected products. It is updated to include price display component. It displays the price charges. For more information, see TmaPriceDisplayComponent.
TmaGuidedSellingAddedToCartDialogComponent Updated Guided Selling added to the Cart dialog to show the entries added to cart. This component is updated to show the formatted pay now price of the cart for composite pricing.

Further Reading

For further reading, see the following topics in the TUA Help portal.