the current datamodel offers several options for pricing.
soft bundle will have price at each component rolled-up
whether you roll up component prices to show a total price at root level (the bundle itself) is irrelevant for the API.
This is an implementation choice, the API shows a productPrice attribute and you decide what value you put in that attribute.
for standards, I suggest you look at GB922 - Product. You have tons of examples for pricing at bundle level, component level or even between components.
IG1228 has some interesting use cases, where they present product offering/prices from a Catalogue and order perspective.
and this community (also ODA community) has pently of discussions about various pricing requirements and model than me or Jonathan Golberg have discussed for years.
probably a different discussion, but pricing modeling has changed quite a lot in recent years. Now we have these concepts like composable, MACH etc that have introduced new capabilities to create product experiences that require to rethink how we communicate prices to end-customers to increase conversion rate and customer experience and satisfaction.
This is a great way to decouple what customer sees (provided by an opiniated API) from what a TMF API provides (mostly unopiniated).
------------------------------
Kind regards,
Matthieu Hattab
Lyse Platform
------------------------------
Original Message:
Sent: Oct 07, 2024 21:24
From: Mahesh Kothamasu
Subject: TMF620 Product Offering isBundle field
Highly appreciate the insights @Matthieu Hattab and @Ragavi Ramasamy. In this case, can shed some light on how pricing is typically handled ? Usually the so called hard/fixed bundle will have price at the bundle level whereas the soft bundle will have price at each component rolled-up. Is there any standard that we look at when designing pricing for bundles?
------------------------------
Mahesh Kothamasu
SP Telecommunications Pte Ltd
Original Message:
Sent: Oct 07, 2024 07:10
From: Matthieu Hattab
Subject: TMF620 Product Offering isBundle field
Hi,
to expand on @Ragavi Ramasamy, there is no "parameter" in the Catalogue API to measure if the bundle is "hard" or "soft".
One solution is to check sub-resource "bundledProductOfferingOption".
If at least one bundled productoffering has an upperLimit > lowerLimit, then you could assume you have a "soft" bundle.
When design time, if i create a offering as bundle, should i restrict user in selecting at least one offering to be added to be part of bundle ?
You don't have a choice. You must restrict the quantity of bundled product offerings if you want to allow customers to choose an optional bundled product offering within acceptable lower/upper limits.
My 2 cents,
PS:
In general, the concept of soft or hard bundle is quite vague. people might think it's easy to differenciate them but it isn't.
most people would think a bundle is "soft" if it contain optional product offerings. But that doesn't say anything about who can make these changes. Is it the customer or a rule enforced by a rule engine?
We have bundles that include optional product offerings. These optional POs (mostly hardware and labour) can only be added by a rule engine in the productConfiguration. Never by user.
so it's a soft bundle but
We call them "hard" bundle because it's not User-Configurable.
but technically, they are "soft" bundle since the quantities of the product offerings (lower and upper limits) are not fixed.
TMF620 currently does not define soft/hard or user configurable bundle.
Interestingly, the TMF670 product configurator API has recognised the limitations of TMF620 and has introduced 3 new attributes that currently don't exist in the product catalogue:
"isConfigurable", "isCustomerVisible" and "isVisible".
(We replaced "isConfigurable" by "isCustomerConfigurable" to be more explicit)
Food for thoughts.
------------------------------
Kind regards,
Matthieu Hattab
Lyse Platform
Original Message:
Sent: Oct 04, 2024 15:05
From: Mahesh Kothamasu
Subject: TMF620 Product Offering isBundle field
Hi All,
I wonder what exactly does it mean by isBundle = true. Does it signify that an offering is a fixed/hard bundle ? Or it means both ? When design time, if i create a offering as bundle, should i restrict user in selecting at least one offering to be added to be part of bundle ?
If isBundle = true signifies both hard and soft bundles, do we have any standard on which parameter defines whether it's hard bundle or soft bundle ?
------------------------------
Mahesh Kothamasu
SP Telecommunications Pte Ltd
------------------------------