Hi everyone!
I have a question regarding TMF679 (Product Offering Qualification v5, early adopter). In the new version of the APi there are two methods: check and query qualification. We have discovered a case where we're not sure how to model this with the query method of TMF679 v5.
Suppose we have the following product structure:
Bundle Offering 1
+ Product Offering
+ Addon1
+ Addon2
+ Addon3
Where the customer cannot buy Addon1 and Addon3 at the same time.
Now suppose we have an existing customer that own the basic tree like this:
Customer ID = 2345,
Bundle Offering 1 (Inventory ID = 1234)
+ Product Offering (Inventory ID = 5678)
The customer now wants to buy Addons and goes to our shop. A qualification call like this will be made:
{
"searchCriteria": {
"product": {
"id": "1234",
"productOffering": {
"id": "BUNDLE_OFFERING_1"
},
"product": [
{
"id": "5678",
"productOffering": { "id": "PRODUCT_OFFERING_1" }
}
]
}
},
"relatedParty": [
{
"id": "2345",
"role": "CUSTOMER"
}
],
"category" : {
"id" : "ADDONS"
}
}
We will then receive an answer like this:
{
"searchCriteria": {
"id": "1",
"product": {
"id": "1234",
"productOffering": {
"id": "BUNDLE_OFFERING_1"
},
"product": [
{
"id": "5678",
"productOffering": { "id": "PRODUCT_OFFERING_1" }
}
]
}
},
"relatedParty": [
{
"id": "2345",
"role": "CUSTOMER"
}
],
"category" : {
"id" : "ADDONS"
},
"qualifiedProductOfferingItem": [
{
"id": "2",
"productOffering": {
"id": "ADDON_1"
},
"qualificationItemRelationship": [
{
"id": "4",
"relationshipType": "EXCLUDES"
}
]
},{
"id": "3",
"productOffering": {
"id": "ADDON_2"
}
},{
"id": "4",
"productOffering": {
"id": "ADDON_3"
},
"qualificationItemRelationship": [
{
"id": "2",
"relationshipType": "EXCLUDES"
}
]
}
]
}
First Question: Is our use of the relations here correct? Should we also add a relationship from each addon to the search criteria so it's clear it's only qualified if it's part of that product tree as it's not possible to buy it as stand-alone?
Second Question: Suppose the customer picks Addon1 and we want to show him what he can now buy. So the query qualification will be called again. How would this request look like? There is no way of passing a hierarchy of QueryProductOfferingQualificationItems as search criteria, so my only option would be to put it in the product tree without id. But this seems not really intended. How would you model this case?
Here is an example of what I mean:
{
"searchCriteria": {
"id": "1",
"product": {
"id": "1234",
"productOffering": {
"id": "BUNDLE_OFFERING_1"
},
"product": [
{
"id": "5678",
"productOffering": { "id": "PRODUCT_OFFERING_1" }
},{
// No ID, as it's not in the inventory yet
"productOffering": { "id": "ADDON_1" }
}
]
}
}
"relatedParty": [
{
"id": "2345",
"role": "CUSTOMER"
}
],
"category" : {
"id" : "ADDONS"
}
}
------------------------------
Stefan Zaufl
IBM Corporation
------------------------------