I agree that the possibility to refer to any entity outside the realm of TMF APIs (e.g. because a corresponding TMF API and thus a related... schema does not (yet) exist) might be of value.
I derive my understanding of ExternalReference from various discusions in this forum, e.g.
But maybe I missed some statement that also hints to your interpretation; if so, can you point me to it?
Concerning the question of "name" being mandatory, but "id" being optional only, I found this discussion, which indicates that this should be valued as a bug.
Original Message:
Sent: Sep 19, 2025 09:32
From: Plamen Stanoev
Subject: TMF 641 ExternalReference sub-resource
Hi Lutz,
You are right that ExternalIdentifier replaces externalId, but it does not replace the ExternalReference. Both are still in v5 (although ExternalIdentifier is added only to Service, I think it should be added to the Order as well).
- ExternalReference points to an entity in external system (this is why it has href).
- ExternalIdentifier is how this entity (ServiceOrder, Service) is identified in other system(s).
------------------------------
Plamen Stanoev
Ericsson Inc.
Original Message:
Sent: Sep 19, 2025 02:40
From: Lutz Bettge
Subject: TMF 641 ExternalReference sub-resource
This seems to be a misunderstanding:
An ExternalReference linked to an entity (e.g. a ServiceOrder in case of TMF641) represents a reference to that entity by some external system, it can be used to hold e.g. the id that some other system or even an external partner uses to identify this ServiceOrder. it is an array because there might be several such external systems, each knowing the ServiceOrder by another identifier.
There is also an attribute externalId, but this is deprecated and kept only for backward compatibility reasons.
In contrast, relatedEntity/relatedParty/ relate the ServiceOrder to some other Entity/Party/...
Note also the change in the V5 ServiceOrder API (published in Preview), here the deprecated externalId has gone, and the externalReference array now has items of type ExternalIdentifier, which replaces the ExternalReference structure in all APIs. The name of the array attribute might even change to externalIdentifier in the final release of V5 TMF641.
------------------------------
Lutz Bettge
Deutsche Telekom AG
Original Message:
Sent: Sep 12, 2025 04:23
From: Peter Eksteen
Subject: TMF 641 ExternalReference sub-resource
Hi Nilesh,
Unlike the other 'structured' external references (relatedEntity, relatedParty, relatedPlace, etc) - the externalReference is included to allow for non-structured data, where the referenced data may not even be unique, hence it is not expected to have an ID.
The construct to use for structured data (adjacent case) is to use relatedEntity - which follows the standard id/href uniqueness rule.
Hope that helps.
------------------------------
Peter Eksteen
Senior Advisor, Product Line Management
CIENA Blue Planet
Original Message:
Sent: Sep 11, 2025 01:09
From: Nilesh Bawiskar
Subject: TMF 641 ExternalReference sub-resource
Hi,
The ExternalReference sub-resource in the TMF 641 indicates it is an array containing list of external references.
I am trying to understand how this sub resource is to be used given that "name" is the only mandatory field in this sub resource unlike most other sub resources where "id" field is mandatory.
so here if i have to add eg: project_id field which has a value say "ABC" how do i add the same? is below correct?
externalReference[
{
name="project_id"
id=<ABC> <---- This is the value of the field
}
]
OR
externalReference[
{
name=<ABC>
id="project_id"
}
]
And if there are multiple we simply add the curly blocks?
kindly suggest
Thank you
------------------------------
Nilesh Bawiskar
Infosys
------------------------------