Hello Jonathan,
I understand that
"ProductSpecification being restricted in the context of the bundle". My question is about restricting "CharacteristicValueSpecification" when the simple PO is sold as part of a bundle PO.
the "
missing relationship" is the relationship between the bundle PO and the "CharacteristicValueSpecification" restrictions on the simple PO. the relationship is only to force restrictions, not to link a PS with a bundle PO.
I'll try again with some diagrams.
Step 1:
I create a simple PO (Basic Firewall for Business) based on an existing PS (Firewall).
For this simple PO, the commercial requirement is to forbid the 24-port configuration.
This simple PO doesn't allow the 24-port configuration.
GET /tmf-api/productCatalogManagement/v4/productOffering/7655
returns:
name:"Basic Firewall for Business"
[...]
[ProductSpecificationCharacteristicValueUse]:
"name": "Number of Ports"
[CharacteristicValueSpecification]:
"value": 8,
"value": 16
Now, I want to sell a new bundle made of the above Simple PO plus another simple PO.
the key requirement is that all characteristic values are pre-determined. Customer can do instant purchase. In the context on my bundle, I only allow 8-port VPN.
the SID/API doesn't seem to allow me to restrict the number of ports to 8 in the context of the "Basic Business Pack" bundle.
While the Product Catalogue Management already allows us to create restriction on CharacteristicValueSpecification in the context of a bundle.
I'm thinking of using 620 API to query "Basic Firewall for Business" simple PO and add a second query and filter on the sub resource "bundleProductOffering" (This is a new sub-resource for the simple PO that contain all bundles related to my simple PO. Pseudo mockup of the API call:
GET /tmf-api/productCatalogManagement/v4/productOffering/7655/bundleProductOffering/8722
returns:
"name":"Basic Firewall for Business"
"id" : "7655"
[...]
[bundleProductOffering]
"name": "Basic Business pack"
"id" : "8722"
[ProductSpecificationCharacteristicValueUse]:
"name": "Number of Ports"
[CharacteristicValueSpecification]:
"value": 8,
"default": Y
------------------------------
Kind regards,
Matthieu Hattab
Lyse Platform
------------------------------
Original Message:
Sent: Jun 03, 2022 10:37
From: Jonathan Goldberg
Subject: characteristic values restriction in the context of a bundle
Hi Matthieu
The behavior you describe is exactly what is intended by ProductSpecificationCharacteristicValueUse (and the equivalent data type in the SID).
I'm not quite sure that I understand your statement about the missing relationship - ProductOffering has a direct containment relationship to ProductSpecificationCharacteristicValueUse , which in turn points to the ProductSpecification being restricted in the context of the bundle. And this product specification can be anywhere in the tree underneath the bundle (and indeed it won't be directly under the bundle, since bundles contain other POs, never PSs).
Hope it helps
------------------------------
Jonathan Goldberg
Amdocs Management Limited
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
Original Message:
Sent: Jun 03, 2022 07:00
From: Matthieu Hattab
Subject: characteristic values restriction in the context of a bundle
Hello,
I have a question regarding ProductSpecificationCharacteristicValueUse in the TMF620 API
I'm reusing the example from the API doc (page 38), in a nutshell:
GET /tmf-api/productCatalogManagement/v4/productOffering/7655returns:ProductOffering "Basic Firewall for Business"[...] ProductSpecificationCharacteristicValueUse: "name": "Number of Ports" CharacteristicValueSpecification: "value": 8, "value": 16
say I create a bundle "basic Business security pack" and it includes simple ProductOffering: "Basic Firewall for Business"
In the context of that bundle only, can I restrict "Number of Ports" to "8"?
Calling GET /tmf-api/productCatalogManagement/v4/productOffering/7655
must return 8 and 16.
the API resource model doesn't show a relationship between the bundle and the restriction (ProductSpecificationCharacteristicValueUse)
which would allow me, hopefully to make an API call with contextual inputs (e.g. bundle PO Id and my simple PO Id) which will only return one restriction: "Number of Ports" = 8
What do you think?
Or do I need to create as many simple product offerings as bundles with restriction?
------------------------------
Kind regards,
Matthieu Hattab
Lyse Platform
------------------------------