the graphical example between TV Char values and Broadband char Value is indeed not supported, as confirmed above by Jonathan:
I now use the concept of policy for these kind requirements... It's just easier.
Have fun.
Original Message:
Sent: Feb 06, 2025 10:26
From: Jan Brnka
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
Thank you Matthieu for the answer! Very useful and comprehensive (as always :) ).
The conclusion for me is that the example of "relationship between broadband and TV" is not covered by productSpecificationRelationship - characteristic. So what's the goal/purpose of productSpecificationRelationship - characteristic? Could you please provide an example?
Regarding the TMF Policy Component, I was unable to find detailed information. I did come across the TMF723 Policy Management API and found the Swagger file, but there is not a corresponding user guide. Although I found a brief reference in the GB922 documents, there was no concrete example like in other user guides. Could you please provide an example, particularly one illustrating the "broadband and TV" scenario?
------------------------------
Jan Brnka
T-Mobile Czech & Slovak Telekom, a.s.
Original Message:
Sent: Feb 04, 2025 05:41
From: Matthieu Hattab
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
Hi,
As the TMF Product Catalogue only supports simple business rules, we opted not to use it for storing our business rules. Over time, we've realised that it has too many gaps and compromises, making it unsuitable for our needs.
Currently, all our business rules are implemented in code within TMF components such as the Product Configurator, Product Offering Qualification, Service Qualification, and Product Recommendation. However, this approach is not scalable.
We are actively investigating external rule engines, potentially something similar to the ECA model from the TMF Policy component. A dedicated policy component could support product, pricing, and eligibility rules without the constraints of the TMF Product Catalogue. Rules can be stored with Decision table, FEEL language which are a low-code/no-code solutions to manage rules' conditions.
Tools under consideration:
- Gorules
- Drools/Kogito/jBPM/OptaPlanner (suite)
- OpenRules
- Nected
- Camunda DMN
- ...
A key issue is that these rule engines are not self-contained. They require all relevant facts to be provided upfront in the API request, which violates TMF API compliance. One of the core ODA component principles is that they must be self-contained. And TMF API are not designed to provide relevant facts upfront in the API POST request.
To address this, we may need a hybrid approach, combining a rule engine with an event-driven orchestrator (e.g., n8n, Node-RED, Camunda, or Apache NiFi) to handle "missing" facts. Alternatively, we could implement built-in dynamic fact retrieval within the rule engine. Some developers have also suggested using introspection.
It's a complex challenge.
------------------------------
Kind regards,
Matthieu Hattab
Lyse Tele AS
Original Message:
Sent: Feb 04, 2025 02:27
From: Jan Brnka
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
Hi @Matthieu Hattab.
I was looking for any topic regarding productSpecificationRelationship - characteristic and found this discussion. Unfortunately your last question is not answered. Have you found the way how to model the relationship between broadband and TV since your last post?
------------------------------
Jan Brnka
T-Mobile Czech & Slovak Telekom, a.s.
Original Message:
Sent: Dec 04, 2023 11:17
From: Matthieu Hattab
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
Hi,
the defintion in the API user guide says:
A characteristic that refines the relationship. For example, consider the relationship between broadband and TV. For a 4k TV it is important to know the minimum bandwidth to support 4k, so a characteristic Resolution might be defined on the relationship to allow capturing of this in the inventory
do you have a working illustration of the above definition?
I can't find a way to model the example provided in the user guide:

------------------------------
Kind regards,
Matthieu Hattab
Lyse Platform
Original Message:
Sent: Nov 29, 2023 15:05
From: Jonathan Goldberg
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
Hi Matthieu
The way the characteristic relationship is currently defined for APIs, I don't think it meets your needs. It gives you a connection between characteristics, not between their values. The SID takes this one level further and gives you a relationship between characteristic spec values.

------------------------------
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: Nov 28, 2023 18:12
From: Matthieu Hattab
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
@Jonathan Goldberg,
Using the characteristic relationship between ProductSpecificationRelationship and CharacteristicSpecification and the provided description, does it support creating relationship between charvalues of 2 different ProdSpec? Using the textual example in the API documentation, can we achieve this:

------------------------------
Kind regards,
Matthieu Hattab
Lyse Platform
Original Message:
Sent: Nov 26, 2023 07:46
From: Jonathan Goldberg
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
It should probably be added to the inventory API, thanks for the catch Opher.
------------------------------
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: Nov 24, 2023 08:00
From: Opher Yaron
Subject: Characteristic array under Relationship pattern in version 5 of TMF APIs
Hello,
The question is whether version 5 of the APIs intends to contain a Characteristic array under the Relationship pattern.
I reviewed one pair of APIs that already have version 5 in Production - TMF620 Product Catalog and TMF637 Product Inventory.
In the Swagger of TMF620 I find:

In particular, ProductSpecificationRelationship contains a "characteristic" attribute of type CharacteristicSpecification.
However, in the Swagger of TMF637 I find:

In particular, ProductRelationship does not contain a "characteristic" attribute.
The two specifications seem incompatible to me. Do I miss something? If not, which one of these 2 APIs is 'correct'?
Thank you and best regards,
------------------------------
Opher Yaron
Proximus SA
------------------------------