I guess "unfortunate" was the wrong word, especially for a field like "action". However, there are other fields within the APIs that are far more customisable on a per-operator basis, hence using an enum is not ideal. Typically, local vendor teams will implement customer-specific plugins/hooks/jscript to implement these operator-specific customizations.
Original Message:
Sent: 3/11/2025 5:09:00 AM
From: Matthieu Hattab
Subject: RE: ProductOrder - differentiate by business use case
I understand but using string or enum is irrelevant in defining your own list of action values. enum just requires updating the API schema.
Can you explain why it is "unfortunate" to have enum instead of string?
we didn't face any "challenge" in translating/changing any "enum" list of values in our TMF APIs.
------------------------------
Kind regards,
Matthieu Hattab
Lyse Tele AS
------------------------------
Original Message:
Sent: Mar 11, 2025 01:04
From: Dan d'Albuquerque
Subject: ProductOrder - differentiate by business use case
Lutz is referring to the API schema which defines the action as an enum rather than a string. Other fields have been defined only as a string with example values instead, e.g.
"action": {
"type": "string",
"description": "Action to be performed on this order item (add, modify, move, delete, noChange)",
"examples": [
"add",
"modify",
"move",
"delete",
"noChange"
}
------------------------------
Dan d'Albuquerque
Entronica Company Limited
Original Message:
Sent: Mar 10, 2025 09:55
From: Matthieu Hattab
Subject: ProductOrder - differentiate by business use case
I'm not sure what you mean by "OrderItem has fixed enum values".
if you think of the values provided by TM Forum, you know that these are only provided for illustration purposes. Every BSS vendor supporting TMF APIs has its own set of values and CSP typically introduce their own values and often work in different languages requiring even more enum values.
Would such an extension be of general use so that it should be considered for the next version of the TMF622 Product Ordering API?
your question is valid, but as you have probably noticed, TMF API/etom/SID/etc project owners very rarely engage with the TMF communities. We are on our own here. I think you have to submit your suggestion it in their regular TMF API meetings. There has been a lot of great questions and recommendations shared in TMF communities that are lost because there is little communications between TMF project members and the community members.
------------------------------
Kind regards,
Matthieu Hattab
Lyse Tele AS
Original Message:
Sent: Mar 10, 2025 09:22
From: Lutz Bettge
Subject: ProductOrder - differentiate by business use case
Yes, this is still the same background; unfortunately, the action attribute of the OrderItem has fixed enum values, so that means we need to extend that enumeration to cover "move", and also introduce a further attribute sub-action, or use action "move-out" and "move-in".
So there is no other choice than to enhance the API by enum values and/or another attribute.
Would such an extension be of general use so that it should be considered for the next version of the TMF622 Product Ordering API?
------------------------------
Lutz Bettge
Deutsche Telekom AG
Original Message:
Sent: Mar 10, 2025 08:24
From: Matthieu Hattab
Subject: ProductOrder - differentiate by business use case
When I worked at Siebel, around 25 years ago, Deutsche Telekom AG, which was using Siebel CRM as a BSS, has asked us the same question, not in the context of TMF order API but Siebel Order interface. Maybe you remember it.
the answer we gave you then was to construct your sales order with 2 root Order line items (OLI). Note: Each root could have child OLIs in case of bundle
Root OLI 1 has fields action code = move
, sub-action code = out
and service address Id
= Id of the current place/termination point.
Root OLI 2 has fields action code = move
, sub-action code = in
and service address Id
would have the Id of the new place/termination point.
exact same logic applies with mobile subscription except it's the account triumvirat that change: owner account, service account and billing account
This was a vanilla functionality in siebel under the MACD process flow.
I don't see why this approach would not be different in 2025 with another API provider like TMF.
------------------------------
Kind regards,
Matthieu Hattab
Lyse Tele AS
Original Message:
Sent: Mar 06, 2025 06:10
From: Lutz Bettge
Subject: ProductOrder - differentiate by business use case
In our setting we differentiate several types of ProductOrders, e.g. to distinguish a change of a Product from a relocation (change of address). We call this the "Business Use Case".
In one order, several such use cases may be contained, so that it is a property of an OrderItem rather than of the Order as a whole.
Obviously, the actual processing of the modification highly depends on the kind of change.
So far, both cases would have OrderItem.action=modify, and to find out if it is the place that changes, one needs to evaluate the reference to the place; and references to other objects to identify further kinds of changes. This implicit differentiation needs to be made explicit to simplify the processing.
How could this be modelled in the TMF ProductOrder API?
- additional attribute of OrderItem?
- additional values of OrderItem.action?
- any other idea?
Thank you,
Lutz
------------------------------
Lutz Bettge
Deutsche Telekom AG
------------------------------