FIT Product Ordering Management API
AG-FIT 622
| Release | Value |
|---|---|
Version |
2.0.4 |
Date |
2026-09-01 |
State |
pre-released |
Description
The Product Ordering Management API provides a standardized mechanism for placing and managing product orders between customers, service providers, and partners. It includes task resources for changes to orders and lifecycle notifications.
See Auftrag (Neu) anlegen for sample use cases.
FIT adaptations
The FIT profile is based on the TM Forum Product Ordering Management API and applies FIT-specific adaptations to operations, lifecycle information, and the Product Order resource model.
The following adaptations are relevant for FIT implementations:
-
PATCHandDELETEoperations onProductOrderare not used in the FIT profile. -
Product Order state changes are represented through state-change history information.
-
Milestone and jeopardy handling is adapted to the requirements of the FIT order lifecycle.
-
ProviderChangeInfois added to represent changes initiated or proposed by the provider. -
requestedTimeSlotis used to represent the requested scheduling information for an order or order item. -
alternateProductOfferingsupports alternative product offerings where applicable. -
The
InflightChangeProductOrdertask resource is added to support changes to an already submitted Product Order. -
The
CancelProductOrdertask resource provides the FIT mechanism for requesting cancellation of an existing Product Order.
The complete FIT-specific resource definitions and supported operations are documented in the API reference.
Managed entity resource model
Product Order
A Product Order places an order between a customer, service provider, or partner.
JSON representation sample
{
"$schema" : "../schema/fit-tmf622.schema.json",
"@type" : "ProductOrder",
"id" : "388a4963-f168-4603-99e8-477200099d91",
"href" : "https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91",
"category" : "new",
"creationDate" : "2022-05-11T10:30:30+02:00",
"orderPostedDate" : "2022-05-11T10:30:00+02:00",
"requestedCompletionDate" : "2022-12-01T12:00:00+01:00",
"agreement" : [ {
"@type" : "Agreement",
"name" : "buyerServiceContract",
"engagedParty" : [ {
"@type" : "Organization",
"businessId" : "500011"
} ],
"businessId" : "500012",
"agreementType" : "buyerServiceContract"
}, {
"@type" : "Agreement",
"name" : "ordererServiceContract",
"engagedParty" : [ {
"@type" : "Organization",
"businessId" : "500014"
} ],
"businessId" : "500013",
"agreementType" : "ordererServiceContract"
}, {
"@type" : "Agreement",
"name" : "providerChangeAgreement",
"businessId" : "DEU.VFD.V012345678",
"agreementType" : "providerChangeAgreement"
} ],
"externalId" : [ {
"@type" : "ExternalIdentifier",
"id" : "1000111",
"externalIdentifierType" : "externalOrderId",
"owner" : "DEU.VFD"
} ],
"billingAccount" : {
"@type" : "BillingAccountRef",
"id" : "5793126789"
},
"note" : [ {
"@type" : "InstallationInstruction",
"text" : "zweimal klingeln"
} ],
"productOrderItem" : [ {
"@type" : "ProductOrderItem",
"id" : "1",
"action" : "add",
"product" : {
"@type" : "BitstreamAccessProduct",
"creationDate" : "2022-05-11T10:30:30+02:00",
"relatedPlace" : [ {
"@type" : "RelatedPlaceRefOrValue",
"role" : "locationA",
"place" : {
"@type" : "GeographicAddress",
"city" : "Rheinhausen",
"country" : "DE",
"locality" : "Nordstadt",
"postcode" : "59055",
"streetName" : "Biberweg",
"streetNr" : "2",
"streetNrSuffix" : "a",
"geographicSubAddress" : [ {
"@type" : "GeographicSubAddress",
"buildingName" : "Einfamilienhaus"
} ]
}
} ],
"networkTerminationUnitLocation" : "Flur 3.OG",
"homeId" : "a12d5a4545"
},
"productOffering" : {
"@type" : "ProductOffering",
"name" : "FTTH 250000"
},
"requestedTimeSlot" : {
"@type" : "TimeSlot",
"validFor" : {
"startDateTime" : "2022-12-01T08:00:00+01:00",
"endDateTime" : "2022-12-01T12:00:00+01:00"
}
}
} ],
"relatedParty" : [ {
"@type" : "RelatedPartyOrPartyRole",
"role" : "orderManagementBuyerContact",
"partyOrPartyRole" : {
"@type" : "Individual",
"contactMedium" : [ {
"@type" : "PhoneContactMedium",
"contactType" : "fixed",
"phoneNumber" : "+49221456789"
}, {
"@type" : "PhoneContactMedium",
"contactType" : "mobile",
"phoneNumber" : "+4917754545454"
}, {
"@type" : "EmailContactMedium",
"contactType" : "email",
"emailAddress" : "j.kirk@example.net"
} ],
"familyName" : "Kirk",
"salutation" : "Herr",
"givenName" : "James T.",
"title" : "Captain"
}
}, {
"@type" : "RelatedPartyOrPartyRole",
"role" : "installationContact",
"partyOrPartyRole" : {
"@type" : "Individual",
"contactMedium" : [ {
"@type" : "PhoneContactMedium",
"contactType" : "fixed",
"phoneNumber" : "+49221145155"
}, {
"@type" : "PhoneContactMedium",
"contactType" : "mobile",
"phoneNumber" : "+4917878878788"
}, {
"@type" : "EmailContactMedium",
"contactType" : "email",
"emailAddress" : "a.fischer@example.net"
} ],
"familyName" : "Fischer",
"salutation" : "Herr",
"givenName" : "Alexander"
}
}, {
"@type" : "RelatedPartyOrPartyRole",
"role" : "locationAContact",
"partyOrPartyRole" : {
"@type" : "Individual",
"familyName" : "Müller",
"salutation" : "Herr",
"givenName" : "Maximilian"
}
} ],
"state" : "acknowledged",
"stateChangeDate" : "2022-05-11T10:30:00+02:00",
"additionalOrderInformation" : {
"campaignIdentifier" : [ "PromotionFiber" ],
"projectIdentifier" : "AB1234",
"couplingIdentifier" : "QW567",
"orderBindingId" : "AK45678",
"orderBindingNumberOfOrders" : 5,
"hardwareIdType" : "ontSerialNumber",
"hardwareIdValue" : "53674F3DC03FD37C"
}
}
Notifications
The API reference documents create, state-change, attribute-value-change, information-required, jeopardy-alert, and milestone events, including task-resource state changes.
Authentication
This API is secured using OAuth 2.0. For machine-to-machine communication, it uses the Client Credentials flow. The authorization server issues an access token that the client uses to access protected API resources without sharing its credentials with the resource server.
See Security schemes for the API-specific OAuth 2.0 configuration and FIT API authentication for the common authentication requirements.
Validation using the conformance profile
The conformance profile defines which attributes, structures, and constraints are applicable to the FIT implementation of TMF622. It can be used to validate Product Order payloads for compliance with the FIT specification.
The following artifacts are provided for validation and reference:
-
JSON Schema – machine-readable schema for automated validation of JSON payloads.
-
Excel – human-readable overview of the supported attributes, structures, and conformance requirements.