A possibly simple question about TMF620 and representing bundles.
Earlier versions of TMF620 hinted at using Relationships to indicate that products belong to bundles.
I'm coming up to speed with the R21 which includes the concept of "Bundled Product Offering". It is implied this is sufficient to express a bundle but I can't find enough fields to represent what I need without adding other relationships.
Unfortunately, the examples TMF620 leave bundledProductOffering is left blank for all resources.
I present a simplified example, rather than risk identifying a CSP I have used a different industry example that hopefully most will be familiar with!
{ "id": 1 , "name": "Happy Meal", "isBundle": true, "isSellable": true, "productOfferingPrice": { <Meal Price> } }
{ "id": 2 , "name": "Burger", "isBundle": false, "isSellable": true, "productOfferingPrice": { <Burger Price> } }
{ "id": 3 , "name": "Small Fries", "isBundle": false, "isSellable": true, "productOfferingPrice": { <Fries Price> } }
{ "id": 4 , "name": "Small Cola", "isBundle": false, "isSellable": true, "productOfferingPrice": { <Drink Price> } }
{ "id": 5 , "name": "Small Lemonade", "isBundle": false, "isSellable": true, "productOfferingPrice": { <Drink Price> } }
{ "id": 6 , "name": "Ronald Toy", "isBundle": false , "isSellable": false }
{ "id": 7 , "name": "McCheese Toy", "isBundle": false, "isSellable": false }I want to indicate that the Happy Meal consists of a Hamburger, Small Fries, Cola or Lemonade, and one of the toys (which cannot be bought alone, unlike everything else)
Fundamentally there are two things that need to be stated somewhere
* Definition of the Bundle (that it consists of burger, fries, one "drink", one "toy")
* Definition that a product satisfies a bundle requirement in some way (i.e. that Hamburger is in the bundle, or that Cola/Lemonade are "drinks")
What I'm not sure about is which one of the two items "BundledProductOffering" is intended to cover, and where to put the other
The attribute productOffering.BundledProductOffering is described as follows, the sentences aren't very clear
"BundledProductOffering" A list of bundled product offerings (BundledProductOffering [*]). A type of ProductOffering that belongs to a grouping of ProductOfferings made available tothe market. It inherits of all attributes of ProductOffering
I'm not sure how to interpret the statement "It inherits of all attributes of ProductOffering" - if this is a statement about the physical JSON objects, it doesn't appear to be reflected in the Swagger. Or is this more meaning an implicit reference.
If it's the first, is the intended representation something like this?
{
"id": 1 , "name": "Happy Meal", "isBundle": true, "isSellable": true, "productOfferingPrice": { <Meal Price> },
"bundledProductOffering": [
{
"id": ??, "name": "Hamburger", bundledProductOfferingOption: {"numberRelOfferDefault": 1, "numberRelOfferLowerLimit": 1, "numberRelOfferUpperLimit": 1},
"id": ??, "name": "Fries", bundledProductOfferingOption: {"numberRelOfferDefault": 1, "numberRelOfferLowerLimit": 1, "numberRelOfferUpperLimit": 1},
"id": ??, "name": "Drink??", bundledProductOfferingOption: {"numberRelOfferDefault": 1, "numberRelOfferLowerLimit": 1, "numberRelOfferUpperLimit": 1}
...
}
]
}But how does a consumer 'know' that the Hamburger BundledProductOffering is anything to do the the Hamburger ProductOffering?
If the Bundles can only name individual Product Offerings that seems restrictive and makes the quantities in bundledProductOfferingOption feel a bit redundant (CSP offers are as likely to be "pick 3 add-ons from this set", as "pick 3 of the same add-on")
if the intention is to put bundledProductOffering against the individual Drinks to link them to the type, then the bundledProductOfferingOption doesnt seem to be in the right place, as the quantity allowed is a function of the bundle the productOffering is in, not just the productOffering itself.
e.g. a "Family meal" could allow 4 burgers, 4 drinks, 4 drinks to be selected and should be able to reuse the same ProductOffering/Spec.
Finally, is it assumed a Bundle is sold for a single price, or is it possible to state a ProductOfferingPrice that is specific to a product when sold inside a bundle. I am thinking of cases where numberRelOfferLowerLimit != numberRelOfferUpperLimit, you may want to charge the customer depending on number of choices (In fast food case, maybe this is the "add wings for $1", in TV case maybe it's "add International Calling for $5 when taking the Triple Play".
I suspect I'm missing something obvious in both cases, any guidance, or correction to my example much appreciated.
------------------------------
Andrew Torrance
Cerillion Technologies Limited
------------------------------