openapi: 3.0.1
info:
title: FIT-Product Ordering
description: |-
The following document is the user guide of the REST API for Product Ordering management. It includes the model definition as well as all available operations.
The Product Ordering API provides a standardized mechanism for placing a product order with all of the necessary order parameters. The API consists of a simple set of operations that interact with Customer Relationship Management / Order Negotiation systems in a consistent manner. A product order is created based on a product offer that is defined in a catalog. The product order references the product offer and identifies any specific requests made by the customer.
Product Ordering API manages product order resource:
- A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa
- Main Product Order attributes are its identifier, state (acknowledged, inProgress, completed...), priority, category, related dates, related billing account, related parties and order items
- Main Order Items (aka order lines) attributes are the ordered offering and product characteristics with the related action to be performed (e.g. add or delete the products), state, location information for delivery.
Product ordering API performs the following operations on Product Order:
- Creation of a product order (including default values and creation rules)
- Retrieval of a product order or a collection of product orders depending on filter criteria
- Notification of events on product order
- Product Order creation
- Product Order state change
- Product Order atribute value change used to notify that any data in an order has just changed
- Product Order information required used to notify that some data in the order need to be filled / are missing
- Product Order jeopardy alert
- Product Order milestone
Product ordering API performs the following operations on CancelProductOrder:
- Creation of a product order cancel request
- Retrieval of a product order cancellation request or a collection of product order cancellation requests depending on filter criteria
- Notification of events on product order cancel
- Cancel Product Order state change
Product ordering API performs the following operations on CloseProductOrder (FIT only, for closing an existing product order):
- Creation of a product order close request
- Retrieval of a product order close request or a collection of product order close requests depending on filter criteria
- Notification of events on product order close
- Close Product Order state change
Product ordering API performs the following operations on RespondProviderChange (FIT only, to provide a response to an existing provider change product order):
- Creation of a respond provider change request
- Retrieval of a respond provider change request or a collection of respond provider change requests depending on filter criteria
- Notification of events on respond provider change
- Respond provider change state change
Product ordering API performs the following operations on RescheduleProductOrder (FIT only, for rescheduling an existing product order):
- Creation of a reschedule product order request
- Retrieval of a reschedule product order request or a collection of reschedule product order requests depending on filter criteria
- Notification of events on reschedule product order
- Reschedule product order state change
Product ordering API performs the following operations on AddProductOrderInformation (FIT only, for rescheduling an existing product order):
- Creation of an add product order information request
- Retrieval of an add product order information request or a collection of add product order information requests depending on filter criteria
- Notification of events on of add product order information
- Add product order information request state change
Product ordering API performs the following operations on AmendProductOrder (FIT only, for rescheduling an existing product order):
- Creation of an amend product order request
- Retrieval of an amend product order request or a collection of amend product order requests depending on filter criteria
- Notification of events on of amend product order
- Amend product order request state change
#### FIT Adapations
**ProductOrder resource:**
- PATCH & DELETE are not used for FIT
- added state change history (based on TMF621)
- Milestone / JeopardyAlert adapted to FIT requirements
- added ProviderChangeInfo to document provider change agreement
- added requestedTimeSlot to provide time slot request for appointment
- added alternateProductOffering
**CloseProductOrder task resource:** added task resource for closing an existing product order
**RespondProviderChange task resource:** added task resource to provide a response to an existing provider change product order
**RescheduleProductOrder task resource:** added task resource for rescheduling an existing product order
**AddProductOrderInformation task resource:** added task resource to add information to an existing product order
**AmendProductOrder task resource:** added task resource to amend an existing product order
#### Sources
The source API definition can be found at [fit-tmf622.yaml](https://bitbucket.org/fit-api/fit-api/src/main/tmf622/oas/fit-tmf622.yaml)
version: 1.0.0
servers:
- url: https://api.example.com/tmf-api/productOrderingManagement/v5
security:
- OAuth2ClientCredentials:
- read
- write
tags:
- name: productOrder
description: Operations for ProductOrder Resource.
- name: cancelProductOrder
description: Operations for CancelProductOrder Resource.
- name: rescheduleProductOrder
description: Operations for RescheduleProductOrder Resource.
- name: respondProviderChange
description: Operations for RespondProviderChange Resource entity.
- name: closeProductOrder
description: Operations for CloseProductOrder Resource.
- name: addProductOrderInformation
description: Operations for AddProductOrderInformation Resource entity.
- name: amendProductOrder
description: Operations for AmendProductOrder Resource.
- name: notification listener
description: Notifications for Resource Lifecycle and event notifications.
- name: events subscription
description: Endpoints to register and terminate an Event Listener
paths:
/productOrder:
get:
operationId: listProductOrder
summary: List or find ProductOrder objects
description: |-
This operation retrieves a ProductOrder entity. Attribute selection enabled for all first
level attributes.
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200ProductOrderArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- productOrder
post:
operationId: createProductOrder
summary: Creates a ProductOrder
description: This operation creates a ProductOrder entity.
requestBody:
$ref: '#/components/requestBodies/ProductOrder_FVO'
responses:
'201':
$ref: '#/components/responses/201ProductOrder'
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- write
tags:
- productOrder
/productOrder/{id}:
get:
operationId: retrieveProductOrder
summary: Retrieves a ProductOrder by ID
description: This operation retrieves a ProductOrder entity. Attribute selection is enabled for all first level attributes.
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200ProductOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- productOrder
/cancelProductOrder:
get:
operationId: listCancelProductOrder
summary: List or find CancelProductOrder objects
description: |-
This operation retrieves a CancelProductOrder entity. Attribute selection enabled for all
first level attributes.
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200CancelProductOrderArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
security:
- OAuth2ClientCredentials:
- read
tags:
- cancelProductOrder
post:
operationId: createCancelProductOrder
summary: Creates a CancelProductOrder
description: This operation creates a CancelProductOrder entity.
requestBody:
$ref: '#/components/requestBodies/CancelProductOrder_FVO'
responses:
'201':
$ref: '#/components/responses/201CancelProductOrder'
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- write
tags:
- cancelProductOrder
/cancelProductOrder/{id}:
get:
operationId: retrieveCancelProductOrder
summary: Retrieves a CancelProductOrder by ID
description: This operation retrieves a CancelProductOrder entity. Attribute selection is enabled for all first level attributes.
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200CancelProductOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- cancelProductOrder
/rescheduleProductOrder:
get:
operationId: listRescheduleProductOrder
summary: List or find RescheduleProductOrder objects
description: |-
This operation retrieves a RescheduleProductOrder entity. Attribute selection enabled for all
first level attributes.
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200RescheduleProductOrderArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
security:
- OAuth2ClientCredentials:
- read
tags:
- rescheduleProductOrder
post:
operationId: createRescheduleProductOrder
summary: Creates a RescheduleProductOrder
description: This operation creates a RescheduleProductOrder entity.
requestBody:
$ref: '#/components/requestBodies/RescheduleProductOrder_FVO'
responses:
'201':
$ref: '#/components/responses/201RescheduleProductOrder'
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- write
tags:
- rescheduleProductOrder
/rescheduleProductOrder/{id}:
get:
operationId: retrieveRescheduleProductOrder
summary: Retrieves a RescheduleProductOrder by ID
description: This operation retrieves a RescheduleProductOrder entity. Attribute selection is enabled for all first level attributes.
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200RescheduleProductOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- rescheduleProductOrder
/respondProviderChange:
get:
operationId: listRespondProviderChange
summary: List or find RespondProviderChange objects
description: |-
This operation retrieves a RespondProviderChange entity. Attribute selection enabled for all
first level attributes.
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200RespondProviderChangeArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
security:
- OAuth2ClientCredentials:
- read
tags:
- respondProviderChange
post:
operationId: createRespondProviderChange
summary: Creates a RespondProviderChange
description: This operation creates a RespondProviderChange entity.
requestBody:
$ref: '#/components/requestBodies/RespondProviderChange_FVO'
responses:
'201':
$ref: '#/components/responses/201RespondProviderChange'
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- write
tags:
- respondProviderChange
/respondProviderChange/{id}:
get:
operationId: retrieveRespondProviderChange
summary: Retrieves a RespondProviderChange by ID
description: This operation retrieves a RespondProviderChange entity. Attribute selection is enabled for all first level attributes.
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200RespondProviderChange'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- respondProviderChange
/closeProductOrder:
get:
operationId: listCloseProductOrder
summary: List or find CloseProductOrder objects
description: |-
This operation retrieves a CloseProductOrder entity. Attribute selection enabled for all
first level attributes.
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200CloseProductOrderArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
security:
- OAuth2ClientCredentials:
- read
tags:
- closeProductOrder
post:
operationId: createCloseProductOrder
summary: Creates a CloseProductOrder
description: This operation creates a CloseProductOrder entity.
requestBody:
$ref: '#/components/requestBodies/CloseProductOrder_FVO'
responses:
'201':
$ref: '#/components/responses/201CloseProductOrder'
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- write
tags:
- closeProductOrder
/closeProductOrder/{id}:
get:
operationId: retrieveCloseProductOrder
summary: Retrieves a CloseProductOrder by ID
description: This operation retrieves a CloseProductOrder entity. Attribute selection is enabled for all first level attributes.
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200CloseProductOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- closeProductOrder
/addProductOrderInformation:
get:
operationId: listAddProductOrderInformation
summary: List or find AddProductOrderInformation objects
description: |-
This operation retrieves a AddProductOrderInformation entity. Attribute selection enabled for all
first level attributes.
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200AddProductOrderInformationArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
security:
- OAuth2ClientCredentials:
- read
tags:
- addProductOrderInformation
post:
operationId: createAddProductOrderInformation
summary: Creates an AddProductOrderInformation
description: This operation creates a AddProductOrderInformation entity.
requestBody:
$ref: '#/components/requestBodies/AddProductOrderInformation_FVO'
responses:
'201':
$ref: '#/components/responses/201AddProductOrderInformation'
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- write
tags:
- addProductOrderInformation
/addProductOrderInformation/{id}:
get:
operationId: retrieveAddProductOrderInformation
summary: Retrieves a AddProductOrderInformation by ID
description: This operation retrieves a AddProductOrderInformation entity. Attribute selection is enabled for all first level attributes.
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200AddProductOrderInformation'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- addProductOrderInformation
/amendProductOrder:
get:
operationId: listAmendProductOrder
summary: List or find AmendProductOrder objects
description: |-
This operation retrieves a AmendProductOrder entity. Attribute selection enabled for all
first level attributes.
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200AmendProductOrderArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
security:
- OAuth2ClientCredentials:
- read
tags:
- amendProductOrder
post:
operationId: createAmendProductOrder
summary: Creates an AmendProductOrder
description: This operation creates a AmendProductOrder entity.
requestBody:
$ref: '#/components/requestBodies/AmendProductOrder_FVO'
responses:
'201':
$ref: '#/components/responses/201AmendProductOrder'
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- write
tags:
- amendProductOrder
/amendProductOrder/{id}:
get:
operationId: retrieveAmendProductOrder
summary: Retrieves a AmendProductOrder by ID
description: This operation retrieves a AmendProductOrder entity. Attribute selection is enabled for all first level attributes.
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200AmendProductOrder'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'409':
$ref: '#/components/responses/409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- OAuth2ClientCredentials:
- read
tags:
- amendProductOrder
/hub:
post:
operationId: createHub
summary: Create a subscription (hub) to receive Events
description: Sets the communication endpoint to receive Events.
requestBody:
$ref: '#/components/requestBodies/Hub_FVO'
responses:
'201':
$ref: '#/components/responses/201Hub'
default:
$ref: '#/components/responses/DefaultError'
security:
- OAuth2ClientCredentials:
- write
tags:
- events subscription
/hub/{id}:
delete:
operationId: hubDelete
summary: Remove a subscription (hub) to receive Events
description: Delete the communication endpoint to receive Events.
parameters:
- $ref: '#/components/parameters/Id'
responses:
'204':
$ref: '#/components/responses/204Deleted'
default:
$ref: '#/components/responses/DefaultError'
security:
- OAuth2ClientCredentials:
- write
tags:
- events subscription
/listener/productOrderCreateEvent:
post:
operationId: listenToProductOrderCreateEvent
summary: Client listener for ProductOrderCreateEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/ProductOrderCreateEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/productOrderAttributeValueChangeEvent:
post:
operationId: listenToProductOrderAttributeValueChangeEvent
summary: Client listener for ProductOrderAttributeValueChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/ProductOrderAttributeValueChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/productOrderStateChangeEvent:
post:
operationId: listenToProductOrderStateChangeEvent
summary: Client listener for ProductOrderStateChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/ProductOrderStateChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/productOrderMilestoneEvent:
post:
operationId: listenToProductOrderMilestoneEvent
summary: Client listener for ProductOrderMilestoneEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/ProductOrderMilestoneEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/productOrderJeopardyAlertEvent:
post:
operationId: listenToProductOrderJeopardyAlertEvent
summary: Client listener for ProductOrderJeopardyAlertEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/ProductOrderJeopardyAlertEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/productOrderInformationRequiredEvent:
post:
operationId: listenToProductOrderInformationRequiredEvent
summary: Client listener for ProductOrderInformationRequiredEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/ProductOrderInformationRequiredEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/cancelProductOrderStateChangeEvent:
post:
operationId: listenToCancelProductOrderStateChangeEvent
summary: Client listener for CancelProductOrderStateChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/CancelProductOrderStateChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/rescheduleProductOrderStateChangeEvent:
post:
operationId: listenToRescheduleProductOrderStateChangeEvent
summary: Client listener for RescheduleProductOrderStateChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/RescheduleProductOrderStateChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/respondProviderChangeStateChangeEvent:
post:
operationId: listenToRespondProviderChangeStateChangeEvent
summary: Client listener for RespondProviderChangeStateChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/RespondProviderChangeStateChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/closeProductOrderStateChangeEvent:
post:
operationId: listenToCloseProductOrderStateChangeEvent
summary: Client listener for CloseProductOrderStateChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/CloseProductOrderStateChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/addProductOrderInformationStateChangeEvent:
post:
operationId: listenToAddProductOrderInformationStateChangeEvent
summary: Client listener for AddProductOrderInformationStateChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/AddProductOrderInformationStateChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
/listener/amendProductOrderStateChangeEvent:
post:
operationId: listenToAmendProductOrderStateChangeEvent
summary: Client listener for AmendProductOrderStateChangeEvent
description: Example of a client listener for receiving notifications
requestBody:
$ref: '#/components/requestBodies/AmendProductOrderStateChangeEvent'
responses:
'204':
$ref: '#/components/responses/204Notified'
default:
$ref: '#/components/responses/DefaultError'
tags:
- notification listener
components:
schemas:
BillingAccountRef:
description: BillingAccount reference. A BillingAccount is a detailed description of a bill structure.
type: object
example: ''
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
BillingAccountRef: '#/components/schemas/BillingAccountRef'
CancelProductOrder:
description: Request for cancellation an existing product order
example:
description: Example of created CancelProductOrder
value:
'@type': CancelProductOrder
id: 2fd01b2b-9110-41ed-8efd-014d7e8ee158
href: https://api.example.org/tmf-api/productOrderingManagement/v5/cancelProductOrder/2fd01b2b-9110-41ed-8efd-014d7e8ee158
state: acknowledged
stateChangeDate: '2022-05-11T11:25:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
requestPostedDate: '2022-05-11T11:25:00+02:00'
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
cancellationReason:
- code: '001'
text: I don't want this anymore.
allOf:
- $ref: '#/components/schemas/TaskEntity'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
cancellationReason:
description: Reason for cancellation request described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
discriminator:
propertyName: '@type'
mapping:
CancelProductOrder: '#/components/schemas/CancelProductOrder'
CancelProductOrder_FVO:
description: |-
Request for cancellation an existing product order
Skipped properties: state, stateChange, stateChangeDate, stateChangeHistory, requestDate, requestPostedDate
allOf:
- $ref: '#/components/schemas/TaskEntity_FVO'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
cancellationReason:
description: Reason for cancellation request described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
discriminator:
propertyName: '@type'
mapping:
CancelProductOrder: '#/components/schemas/CancelProductOrder_FVO'
RescheduleProductOrder:
description: Request to reschedule an existing product order
example:
description: Example of created RescheduleProductOrder
value:
'@type': RescheduleProductOrder
id: 33359a1e-134f-4b0f-98a8-acc91af5bbee
href: https://api.example.org/tmf-api/productOrderingManagement/v5/rescheduleProductOrder/33359a1e-134f-4b0f-98a8-acc91af5bbee
state: acknowledged
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
rescheduledRequestedCompletionDate: '2022-07-20T12:00:00+02:00'
rescheduleReason:
- code: '002'
text: I'm on vacation.
productOrderItem:
id: '1'
requestedTimeSlot:
'@type': TimeSlot
validFor:
startDateTime: '2022-07-20T08:00:00+02:00'
endDateTime: '2022-07-20T12:00:00+02:00'
allOf:
- $ref: '#/components/schemas/TaskEntity'
- type: object
required:
- productOrder
- rescheduledRequestedCompletionDate
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
rescheduledRequestedCompletionDate:
description: Rescheduled requested delivery date from the requester perspective
type: string
format: date-time
example: '2025-12-24T19:30:00+01:00'
rescheduleReason:
description: Reason for rescheduling request
type: array
items:
$ref: '#/components/schemas/Message'
example: []
productOrderItem:
$ref: '#/components/schemas/ProductOrderItemId'
discriminator:
propertyName: '@type'
mapping:
RescheduleProductOrder: '#/components/schemas/RescheduleProductOrder'
RescheduleProductOrder_FVO:
description: |-
Request to reschedule an existing product order
Skipped properties: state, stateChange, stateChangeDate, stateChangeHistory, requestDate, requestPostedDate
allOf:
- $ref: '#/components/schemas/TaskEntity_FVO'
- type: object
required:
- productOrder
- rescheduledRequestedCompletionDate
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
rescheduledRequestedCompletionDate:
description: Expected completion date amended by the consumer
type: string
format: date-time
example: '2025-12-24T19:30:00+01:00'
rescheduleReason:
description: Reason for rescheduling request described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
productOrderItem:
$ref: '#/components/schemas/ProductOrderItemId'
discriminator:
propertyName: '@type'
mapping:
RescheduleProductOrder: '#/components/schemas/RescheduleProductOrder_FVO'
RespondProviderChange:
description: Response to an existing provider change product order
example:
description: Example of created RespondProviderChange
value:
'@type': RespondProviderChange
id: 892cfa45-fca3-488d-8a7c-2883923f820e
href: https://api.example.org/tmf-api/productOrderingManagement/v5/respondProviderChange/892cfa45-fca3-488d-8a7c-2883923f820e
state: acknowledged
stateChangeDate: '2022-05-11T10:35:00+02:00'
requestPostedDate: '2022-05-11T10:35:00+02:00'
productOrder:
'@type': ProductOrderRef
id: 596d7fa0-981f-4b98-bcf5-e9b2955776f4
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/596d7fa0-981f-4b98-bcf5-e9b2955776f4
approval: true
allOf:
- $ref: '#/components/schemas/TaskEntity'
- type: object
required:
- productOrder
- approval
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
approval:
description: Whether the approval has been given
type: boolean
example: true
responseReason:
description: Reason for response
type: array
items:
$ref: '#/components/schemas/Message'
example: []
discriminator:
propertyName: '@type'
mapping:
RespondProviderChange: '#/components/schemas/RespondProviderChange'
RespondProviderChange_FVO:
description: |-
Response to an existing product order
Skipped properties: state, stateChange, stateChangeDate, stateChangeHistory, requestDate, requestPostedDate
allOf:
- $ref: '#/components/schemas/TaskEntity_FVO'
- type: object
required:
- productOrder
- approval
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
approval:
description: Whether the approval has been given
type: boolean
example: true
responseReason:
description: Reason for response
type: array
items:
$ref: '#/components/schemas/Message'
example: []
discriminator:
propertyName: '@type'
mapping:
RespondProviderChange: '#/components/schemas/RespondProviderChange_FVO'
CloseProductOrder:
description: Request for closing an existing product order
example:
description: Example of created CloseProductOrder
value:
'@type': CloseProductOrder
id: a32b3fee-e1f0-4b3b-9fee-3907a8bdaac1
href: https://api.example.org/tmf-api/productOrderingManagement/v5/closeProductOrder/a32b3fee-e1f0-4b3b-9fee-3907a8bdaac1
state: acknowledged
stateChangeDate: '2022-06-03T10:41:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
requestPostedDate: '2022-06-03T10:41:00+02:00'
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
closeReason:
- code: '111'
text: TBD
allOf:
- $ref: '#/components/schemas/TaskEntity'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
closeReason:
description: Reason for closing request described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
discriminator:
propertyName: '@type'
mapping:
CloseProductOrder: '#/components/schemas/CloseProductOrder'
CloseProductOrder_FVO:
description: |-
Request for closing an existing product order
Skipped properties: state, stateChange, stateChangeDate, stateChangeHistory, requestDate, requestPostedDate
allOf:
- $ref: '#/components/schemas/TaskEntity_FVO'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
closeReason:
description: Reason for closing request described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
discriminator:
propertyName: '@type'
mapping:
CloseProductOrder: '#/components/schemas/CloseProductOrder_FVO'
AddProductOrderInformation:
description: Request for adding additional product order information an existing product order
example:
description: Example of created AddProductOrderInformation
value:
'@type': AddProductOrderInformation
id: d1317bb6-969a-4da7-be54-2d3760e48fee
href: https://api.example.org/tmf-api/productOrderingManagement/v5/addProductOrderInformation/d1317bb6-969a-4da7-be54-2d3760e48fee
state: acknowledged
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
relatedParty:
'@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
note:
'@type': Note
text: zweimal klingeln
allOf:
- $ref: '#/components/schemas/TaskEntity'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
relatedParty:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
note:
$ref: '#/components/schemas/Note'
discriminator:
propertyName: '@type'
mapping:
AddProductOrderInformation: '#/components/schemas/AddProductOrderInformation'
AddProductOrderInformation_FVO:
description: |-
Request for adding additional product order information an existing product order
Skipped properties: state, stateChange, stateChangeDate, stateChangeHistory, requestDate, requestPostedDate
allOf:
- $ref: '#/components/schemas/TaskEntity_FVO'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
relatedParty:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
note:
$ref: '#/components/schemas/Note'
discriminator:
propertyName: '@type'
mapping:
AddProductOrderInformation: '#/components/schemas/AddProductOrderInformation_FVO'
AmendProductOrder:
description: Request for amending an existing product order
example:
description: Example of created AmendProductOrder
value:
'@type': AmendProductOrder
id: f8d80f8c-7f70-4dca-aa25-a3321d50685d
href: https://api.example.org/tmf-api/productOrderingManagement/v5/amendProductOrder/f8d80f8c-7f70-4dca-aa25-a3321d50685d
state: acknowledged
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
amendProductOrderItem:
- action: add
productOrderItem:
'@type': ProductOrderItem
id: '2'
action: add
productOffering:
'@type': ProductOffering
name: Bereitstellung Komfort
productOrderItemRelationship:
- '@type': OrderItemRelationship
id: '1'
relationshipType: dependsOn
allOf:
- $ref: '#/components/schemas/TaskEntity'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
amendReason:
description: Reason for the amend request (Message)
type: array
items:
$ref: '#/components/schemas/Message'
amendProductOrderItem:
description: ProductOrderItem to be amended (id alone for delete, full ProductOrderItem for add and replace)
type: array
items:
$ref: '#/components/schemas/AmendProductOrderItem'
discriminator:
propertyName: '@type'
mapping:
AmendProductOrder: '#/components/schemas/AmendProductOrder'
AmendProductOrder_FVO:
description: |-
Request for amending an existing product order
Skipped properties: state, stateChange, stateChangeDate, stateChangeHistory, requestDate, requestPostedDate
allOf:
- $ref: '#/components/schemas/TaskEntity_FVO'
- type: object
required:
- productOrder
properties:
productOrder:
$ref: '#/components/schemas/ProductOrderRef'
amendReason:
description: Reason for the amend request (Message)
type: array
items:
$ref: '#/components/schemas/Message'
amendProductOrderItem:
description: ProductOrderItem to be amended (id alone for delete, full ProductOrderItem for add and replace)
type: array
items:
$ref: '#/components/schemas/AmendProductOrderItem'
discriminator:
propertyName: '@type'
mapping:
AmendProductOrder: '#/components/schemas/AmendProductOrder_FVO'
OrderItemActionType:
description: |-
Action to be performed on the product:
- *add*: Add product
- *modify*: Modify product
- *delete*: Delete product
- *nochange*: No change at main product
- *transfer*: Take over product
type: string
enum:
- add
- modify
- delete
- nochange
- transfer
OrderItemRelationship:
description: Used to describe relationships between order items for complex business cases (e.g. product change).
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
id:
description: Id of the related Order item (must be in the same Order)
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
relationshipType:
description: Relationship type as relies on, bundles, etc...
type: string
example: requires
discriminator:
propertyName: '@type'
mapping:
OrderItemRelationship: '#/components/schemas/OrderItemRelationship'
ProductOrderRelationship:
description: The ProductOrderRelationship makes it possible to document references to other product orders. Use cases include orders on behalf of third parties and group orders.
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
properties:
relationshipType:
description: The type of product order relationship
type: string
example: requires
productOrder:
description: Product order
type: array
items:
$ref: '#/components/schemas/ProductOrderRefOrValue'
example: []
discriminator:
propertyName: '@type'
mapping:
ProductOrderRelationship: '#/components/schemas/ProductOrderRelationship'
Product:
description: A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
properties:
creationDate:
description: Date and time when the product was created
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
description:
description: Is the description of the product. It could be copied from the description of the Product Offering.
type: string
example: Lorem ipsum dolor
name:
description: Name of the product. It could be the same as the name of the product offering
type: string
example: Acme ludicrous speed fiber line
orderDate:
description: Is the date when the product was ordered
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
startDate:
description: Is the date from which the product starts
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
terminationDate:
description: Is the date when the product was terminated
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
relatedPlace:
description: Related place
type: array
items:
$ref: '#/components/schemas/RelatedPlaceRefOrValue'
example: []
product:
description: Product
type: array
items:
$ref: '#/components/schemas/ProductRefOrValue'
example: []
productCharacteristic:
description: Product characteristic
type: array
items:
$ref: '#/components/schemas/Characteristic'
example: []
productOffering:
$ref: '#/components/schemas/ProductOfferingRefOrValue'
productRelationship:
description: Product relationship
type: array
items:
$ref: '#/components/schemas/ProductRelationship'
example: []
productSpecification:
$ref: '#/components/schemas/ProductSpecificationRef'
relatedParty:
type: array
items:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
example: []
status:
$ref: '#/components/schemas/ProductStatusType'
discriminator:
propertyName: '@type'
mapping:
Product: '#/components/schemas/Product'
BitstreamAccessProduct: '#/components/schemas/BitstreamAccessProduct'
OpticalAccessLineProduct: '#/components/schemas/OpticalAccessLineProduct'
HvtLocalLoopProduct: '#/components/schemas/HvtLocalLoopProduct'
KvzLocalLoopProduct: '#/components/schemas/KvzLocalLoopProduct'
ProductOfferingQualificationRef:
description: It's a productOfferingQualification that has been executed previously
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
ProductOfferingQualificationRef: '#/components/schemas/ProductOfferingQualificationRef'
ProductOrder:
description: A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa,
example:
description: Example of created ProductOrder
value:
'@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: ProductOrder
owner: DEU.VFD
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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
state: acknowledged
stateChangeDate: '2022-05-11T10:30:00+02:00'
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
required:
- productOrderItem
- category
- creationDate
- state
- stateChangeDate
properties:
category:
description: Used to categorize the order from a business perspective (new, productChange, groupChange, productModification, termination, groupMigration)
type: string
example: new
description:
description: Description of the product order
type: string
example: Lorem ipsum dolor
expectedCompletionDate:
description: Expected delivery date amended by the provider
type: string
format: date-time
example: '2025-12-24T19:30:00+01:00'
creationDate:
description: Date when the order resource was created
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
orderIsChargingRelevant:
description: Boolean amended by the provider defining if the processing of the ProductOrder is charging relevant
type: boolean
example: false
orderPostedDate:
description: Date when the order was posted by the requester
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
priority:
description: 'A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)'
type: string
example: '4'
requestedCompletionDate:
description: Requested delivery date from the requestors perspective
type: string
format: date-time
example: '2025-12-24T19:30:00+01:00'
agreement:
description: A reference to an agreement defined in the context of the product order
type: array
items:
$ref: '#/components/schemas/AgreementRefOrValue'
example: []
externalId:
description: A reference to an externaly defined object in the context of the product order
type: array
items:
$ref: '#/components/schemas/ExternalIdentifier'
example: []
billingAccount:
$ref: '#/components/schemas/BillingAccountRef'
note:
description: Note
type: array
items:
$ref: '#/components/schemas/Note'
example: []
productOfferingQualification:
description: Product offering qualification
type: array
items:
$ref: '#/components/schemas/ProductOfferingQualificationRef'
example: []
productOrderItem:
description: Product order item
type: array
items:
$ref: '#/components/schemas/ProductOrderItem'
example: []
minItems: 1
relatedParty:
description: Related party
type: array
items:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
example: []
state:
$ref: '#/components/schemas/ProductOrderStateType'
stateChangeDate:
description: The date and time the state changed.
type: string
format: date-time
example: '2024-01-01T12:00:00+01:00'
stateChangeReason:
description: Reason for the state change described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
stateChangeHistory:
description: The state change history that is associated to the Entity. Populated by the server
type: array
items:
$ref: '#/components/schemas/StateChange'
example: []
earliestOrderRetry:
description: Earliest date when the order can be submitted again.
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
attachment:
description: Attachment
type: array
items:
$ref: '#/components/schemas/AttachmentRefOrValue'
example: []
productOrderJeopardyAlert:
description: List of ProductOrderJeopardyAlerts. A ProductOrderJeopardyAlert represents a predicted exception during a product order processing that would brings risk to complete successfully the order.
type: array
items:
$ref: '#/components/schemas/ProductOrderJeopardyAlert'
example: []
productOrderMilestone:
description: List of ProductOrderMilestones. A ProductOrderMilestone represents an action or event marking a significant change or stage in processing of a product order.
type: array
items:
$ref: '#/components/schemas/ProductOrderMilestone'
example: []
productOrderRelationship:
description: Product order relationship
type: array
items:
$ref: '#/components/schemas/ProductOrderRelationship'
example: []
providerChangeInfo:
$ref: '#/components/schemas/ProviderChangeInfo'
additionalOrderInformation:
$ref: '#/components/schemas/AdditionalOrderInformation'
discriminator:
propertyName: '@type'
mapping:
ProductOrder: '#/components/schemas/ProductOrder'
ProductOrder_FVO:
description: |-
A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa,
Skipped properties: id, href, expectedCompletionDate, creationDate, orderIsChargingRelevant, state, stateChangeDate, stateChangeReason, stateChangeHistory, requestedCompletionChangeHistory, expectedCompletionChangeHistory, jeopardyAlert, milestone, expectedCompletionDate (also skip productOrderItem.state)
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- type: object
required:
- productOrderItem
- category
properties:
category:
description: Used to categorize the order from a business perspective (new, productChange, groupChange, productModification, termination, groupMigration)
type: string
example: new
description:
description: Description of the product order
type: string
example: Lorem ipsum dolor
orderPostedDate:
description: Date when the order request was created/posted
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
priority:
description: 'A way that can be used by consumers to prioritize orders in OM system (from 0 to 4: 0 is the highest priority, and 4 the lowest)'
type: string
example: '4'
requestedCompletionDate:
description: Expected completion date amended by the provider
type: string
format: date-time
example: '2025-12-24T19:30:00+01:00'
agreement:
description: A reference to an agreement defined in the context of the product order
type: array
items:
$ref: '#/components/schemas/AgreementRefOrValue'
example: []
externalId:
description: A reference to an externaly defined object in the context of the product order
type: array
items:
$ref: '#/components/schemas/ExternalIdentifier'
example: []
billingAccount:
$ref: '#/components/schemas/BillingAccountRef'
note:
description: Note
type: array
items:
$ref: '#/components/schemas/Note'
example: []
productOfferingQualification:
description: Product order qualification
type: array
items:
$ref: '#/components/schemas/ProductOfferingQualificationRef'
example: []
productOrderItem:
description: Product order item
type: array
items:
$ref: '#/components/schemas/ProductOrderItem'
example: []
minItems: 1
relatedParty:
description: Related party
type: array
items:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
example: []
attachment:
description: Attachment
type: array
items:
$ref: '#/components/schemas/AttachmentRefOrValue'
example: []
productOrderRelationship:
description: Product order relationship
type: array
items:
$ref: '#/components/schemas/ProductOrderRelationship'
example: []
additionalOrderInformation:
$ref: '#/components/schemas/AdditionalOrderInformation'
discriminator:
propertyName: '@type'
mapping:
ProductOrder: '#/components/schemas/ProductOrder_FVO'
ProductOrderItem:
description: An identified part of the order. A product order is decomposed into one or more order items.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- action
- id
properties:
id:
description: Identifier of the ProductOrder item (generally it is a sequence number 01, 02, 03,...)
type: string
example: '01'
action:
$ref: '#/components/schemas/OrderItemActionType'
billingAccount:
$ref: '#/components/schemas/BillingAccountRef'
product:
$ref: '#/components/schemas/ProductRefOrValue'
productOffering:
$ref: '#/components/schemas/ProductOfferingRefOrValue'
alternateProductOffering:
$ref: '#/components/schemas/ProductOfferingRefOrValue'
productOrderItemRelationship:
description: Product order item relationship
type: array
items:
$ref: '#/components/schemas/OrderItemRelationship'
example: []
productOfferingQualificationItem:
$ref: '#/components/schemas/ProductOfferingQualificationItemRef'
endUserAppointmentIsNecessary:
description: Defines if an end user appointment is required for this order item
type: boolean
example: false
requestedTimeSlot:
$ref: '#/components/schemas/TimeSlot'
appointment:
$ref: '#/components/schemas/AppointmentRefOrValue'
discriminator:
propertyName: '@type'
mapping:
ProductOrderItem: '#/components/schemas/ProductOrderItem'
AmendProductOrderItem:
description: ProductOrderItem to be amended (id alone for delete, full ProductOrderItem for add and replace)
properties:
action:
description: Defines the amend action for the attached product order item
$ref: '#/components/schemas/OrderItemActionType'
productOrderItem:
description: ProductOrderItem to be amended (id alone for delete, full ProductOrderItem for add and replace)
$ref: '#/components/schemas/ProductOrderItem'
ProductOfferingQualificationItemRef:
description: It's a productOfferingQualification item that has been executed previously
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
productOfferingQualificationName:
description: Name of the related entity.
type: string
example: n/a
productOfferingQualificationHref:
description: Reference of the related entity.
type: string
example: n/a
'@referredType':
description: The actual type of the target instance when needed for disambiguation.
type: string
example: n/a
productOfferingQualificationId:
description: Unique identifier of a related entity.
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
itemId:
description: Id of an item of a product offering qualification
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
ProductOrderStateType:
description: |-
Possible values for the state of the order:
- *acknowledged*: The Acknowledged state is where an order/item has been received and has passed message level validation (e. g. schema, conformance profile). The order is stored and addressable.
- *accepted*: The Accepted state is where an order has passed business validation. Several operations, e. g. storno, are possible.
- *rejected*: The Rejected state is where:
- An order failed the Order Feasibility check
- Invalid information is provided through the order request
- The order request fails to meet business rules for ordering
Same rules applied for order item.
- *pending*: The Pending state is used when an order/item is currently in a waiting stage for an action/activity to be completed before the order/item can progress further, pending order amend or cancel assessment. In situations where Access Seeker action is required, an “information required” notification will be issued on transition into this state.
A pending stage can lead into auto cancellation of an order/item, if no action is taken within the defined timeframes to be described under the Agreement.
- *inProgress*: The In Progress state is where an order Item has passed the Order Feasibility check successfully and product delivery has started.
For the order at least one order item is inProgress.
- *held*: The Held state is used when an order/item cannot be progressed due to an issue. SP has temporarily delayed completing an order/item to resolve an infrastructure shortfall to facilitate supply of order. Upon resolution of the issue, the order/item will continue to progress.
- *assessingCancellation*: Following a cancel request, the SP is assessing if cancel can be done for the order/item (or if the PO has reached PONR). If cancellation request is not accepted after assessment the order will return to Held or Pending or InProgress state.
- *cancelled*: The Cancelled state is where an In-Flight Order/item has been successfully cancelled.
- *completed*: The Completed state is where an item has complete provision and the service is now active.
For an order all order items are completed.
- *closed*: The post-provisioning activities such as billing account update have been finalized. The order is Closed.
- *failed*: Order item as not a successful delivery completion. The product is not delivered and the order item failed.
All Order items have failed which results in the entire Order has Failed.
type: string
enum:
- acknowledged
- accepted
- rejected
- pending
- inProgress
- held
- assessingCancellation
- cancelled
- completed
- closed
- failed
ProductOrderRef:
description: ProductOrder (ProductOrder). The product order which the action is related with.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
ProductOrderRefOrValue:
description: Product reference or value
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/ProductOrderRef'
- $ref: '#/components/schemas/ProductOrder'
ProductRef:
description: Product reference
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
ProductRefOrValue:
description: A product to be created defined by value or existing defined by reference.
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/ProductRef'
- $ref: '#/components/schemas/Product'
ProductRelationship:
description: Used to describe relationship between product.
type: object
properties:
relationshipType:
description: Relationship type as relies on, bundles, etc...
type: string
example: requires
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
ProductRelationship: '#/components/schemas/ProductRelationship'
ProductStatusType:
description: |-
Possible values for the status of the product:
- *created*: Product created
- *pendingActive*: Product pending active
- *cancelled*: Product cancelled
- *active*: Product active
- *pendingTerminate*: Product pendingTerminate
- *terminated*: Product terminated
- *suspended*: Product suspended
- *aborted*: Product aborted
type: string
enum:
- created
- pendingActive
- cancelled
- active
- pendingTerminate
- terminated
- suspended
- aborted
ProductOrderCreateEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
description: ProductOrderCreateEvent generic structure
properties:
event:
$ref: '#/components/schemas/ProductOrderCreateEventPayload'
discriminator:
propertyName: '@type'
mapping:
ProductOrderCreateEvent: '#/components/schemas/ProductOrderCreateEvent'
ProductOrderCreateEventPayload:
description: ProductOrderCreateEventPayload
type: object
properties:
productOrder:
$ref: '#/components/schemas/ProductOrder'
ProductOrderAttributeValueChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/AttributeValueChangeEvent'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/ProductOrderAttributeValueChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
ProductOrderAttributeValueChangeEvent: '#/components/schemas/ProductOrderAttributeValueChangeEvent'
ProductOrderAttributeValueChangeEventPayload:
description: The event data structure
type: object
properties:
productOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/ProductOrder'
ProductOrderStateChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/ProductOrderStateChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
ProductOrderStateChangeEvent: '#/components/schemas/ProductOrderStateChangeEvent'
ProductOrderStateChangeEventPayload:
description: The event data structure
type: object
properties:
productOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/ProductOrder'
ProductOrderInformationRequiredEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
fieldPath:
description: Field path
type: array
items:
$ref: '#/components/schemas/FieldPath'
example: []
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/ProductOrderInformationRequiredEventPayload'
discriminator:
propertyName: '@type'
mapping:
ProductOrderInformationRequiredEvent: '#/components/schemas/ProductOrderInformationRequiredEvent'
ProductOrderInformationRequiredEventPayload:
description: The event data structure
type: object
properties:
productOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/ProductOrder'
CancelProductOrderStateChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/CancelProductOrderStateChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
CancelProductOrderStateChangeEvent: '#/components/schemas/CancelProductOrderStateChangeEvent'
CancelProductOrderStateChangeEventPayload:
description: The event data structure
type: object
properties:
cancelProductOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/CancelProductOrder'
RescheduleProductOrderStateChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/RescheduleProductOrderStateChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
RescheduleProductOrderStateChangeEvent: '#/components/schemas/RescheduleProductOrderStateChangeEvent'
RescheduleProductOrderStateChangeEventPayload:
description: The event data structure
type: object
properties:
rescheduleProductOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/RescheduleProductOrder'
RespondProviderChangeStateChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/RespondProviderChangeStateChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
RespondProviderChangeStateChangeEvent: '#/components/schemas/RespondProviderChangeStateChangeEvent'
RespondProviderChangeStateChangeEventPayload:
description: The event data structure
type: object
properties:
respondProviderChange:
description: The involved resource data for the event
$ref: '#/components/schemas/RespondProviderChange'
CloseProductOrderStateChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/CloseProductOrderStateChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
CloseProductOrderStateChangeEvent: '#/components/schemas/CloseProductOrderStateChangeEvent'
CloseProductOrderStateChangeEventPayload:
description: The event data structure
type: object
properties:
closeProductOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/CloseProductOrder'
AddProductOrderInformationStateChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/AddProductOrderInformationStateChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
AddProductOrderInformationStateChangeEvent: '#/components/schemas/AddProductOrderInformationStateChangeEvent'
AddProductOrderInformationStateChangeEventPayload:
description: The event data structure
type: object
properties:
addProductOrderInformation:
description: The involved resource data for the event
$ref: '#/components/schemas/AddProductOrderInformation'
AmendProductOrderStateChangeEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/AmendProductOrderStateChangeEventPayload'
discriminator:
propertyName: '@type'
mapping:
AmendProductOrderStateChangeEvent: '#/components/schemas/AmendProductOrderStateChangeEvent'
AmendProductOrderStateChangeEventPayload:
description: The event data structure
type: object
properties:
amendProductOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/AmendProductOrder'
BitstreamAccessProduct:
description: Bitstream access product
allOf:
- $ref: '#/components/schemas/Product'
- type: object
properties:
accessTechnology:
description: Defines the type of connectivity (e.g. FTTH, FTTB, FTTC, HFC, Coax, TAL, OAL)
type: string
example: FTTH
accessProtocol:
description: "Defines the type and technology of the access (e.g. \tEthernet, P2P, GPON, XGS-PON, VDSL, GFAST-CuDa., GFAST-Coax, DOCSIS, ADSL, SDSL, ...)"
type: string
example: VDSL
upstreamNominalBandwidth:
description: Defines the upstream access bandwidth (e.g. 100 Mbit/s , 1 Gbit/s, 100 kbit/s)
$ref: '#/components/schemas/Quantity'
downstreamNominalBandwidth:
description: Defines the downstream access bandwidth (e.g. 400 Mbit/s , 1 Gbit/s )
$ref: '#/components/schemas/Quantity'
trafficHandOver:
description: Defines how the traffic is handed over to the reseller (e.g. L2, L3, LT)
type: string
example: L2
trafficAggregation:
description: Defines the aggregation provided by the supplier hand over close to customer, in a region or one central hand over for the complete country (e.g. local, regional, national)
type: string
example: local
networkTerminationUnitType:
description: Defines the type of the access termination (e.g. withOnt, withoutOnt)
type: string
example: withOnt
uniConnectorType:
description: Defines the interface of the access termination (e.g. TAE, RJ45, E2000, LC-APC, MMD (Multi Media Dose → Koaxialdose, F-Stecker) ...)
type: string
example: RJ45
reversePowering:
description: Defines if the DSLAM needs to be reverse powered (e.g. yes, no)
type: string
example: 'yes'
leadTime:
description: Defines the typical lead time for provisioning an access
$ref: '#/components/schemas/Duration'
lineID:
description: Defines the identifier of the access line. If ProductId is not known for change orders, the contract number of the product to be changed / terminated can be entered here by the buyer
type: string
virtualAccessLineId:
description: Line-Identifier for the end customer
type: string
enni:
description: Identifies the point of traffic interconnection external network to network interconnection (e.g. value or location of A10NSP)
type: string
enniPort:
description: Defines the configured port
type: string
example: n/a
cvlan:
description: Defines the configured C-VLAN
type: string
example: n/a
svlan:
description: Defines the configured S-VLAN
type: string
networkTerminationUnitLocation:
description: Describes the location of the network termination (e.g. describes the position of TAE/GF-TA or ONT)
type: string
homeId:
description: Identifies the GF-TA unit at the end user's premise.
type: string
example: a12d5a4545
ontSerialNumber:
description: Serial number of the ONT
type: string
example: '1515515155115'
trafficLimitationUpstream:
description: Defines the traffic/Speedlimit of bandwith
$ref: '#/components/schemas/Quantity'
trafficLimitationDownstream:
description: Defines the traffic/Speedlimit of bandwith
$ref: '#/components/schemas/Quantity'
singleContractIdExistingProduct:
description: If ProductId is not known for change orders, the contract number of the product to be changed / canceled can be entered here
type: string
example: '3072576895'
discriminator:
propertyName: '@type'
mapping:
BitstreamAccessProduct: '#/components/schemas/BitstreamAccessProduct'
OpticalAccessLineProduct:
description: Optical access line product
allOf:
- $ref: '#/components/schemas/Product'
- type: object
required:
- patchService
properties:
patchService:
description: Entity connecting active and passive port
$ref: '#/components/schemas/PatchServiceType'
passiveAccessLineId:
description: Technical identifier for the fibtre optical cable - starting at the ODF to the customers house - homeId
type: string
example: DEU.DGW.G465157FDU
ontType:
description: Type of ONT
type: string
example: '9000'
ontActivationCode:
description: Code required to activate an ONT at this connection, has to be provided by the NGA and used only if the ANE offers a service to deliver the ONT to the end-customer.
type: string
example: Aalskdg78q
ontSerialNumber:
description: Serial number of ONT
type: string
example: ALCL:F8ADCACF
oltName:
description: Name of the OLT the fibre shall be/is connected to.
type: string
example: dtm4711-access6
oltPort:
description: Port of the OLT the fibre shall be/is connected to.
type: string
example: 3/7/15
splitterName:
description: Name of the splitter
type: string
example: bch1743-NVT7-MUX34
splitterPort:
description: Port on the splitter the fibre is connected to may be provided by the NGA or ANE depending on set-up of the project
type: string
example: '27'
switchingDataNga:
description: Data provided by the NGA (owner of the active network) about the active fibre optical connection. Defines the location of the fibre in the POP.
$ref: '#/components/schemas/SwitchingDataOal'
switchingDataAne:
description: Data provided by the ANE (owner of the passive network) about the passive fibre optical connection. Defines the location of the fibre in the POP.
$ref: '#/components/schemas/SwitchingDataOal'
ontProvidedBy:
description: Provider of the ONT (e.g. Buyer, Seller)
example: Buyer
discriminator:
propertyName: '@type'
mapping:
OpticalAccessLineProduct: '#/components/schemas/OpticalAccessLineProduct'
PatchServiceType:
description: |-
Possible values are:
type: string
enum:
- partner
- supplier
SwitchingDataOal:
description: Switching data optical access line
type: object
properties:
room:
description: Room the ODF is located
type: string
example: A
rack:
description: Rack the ODF is located
type: string
example: '1'
shelf:
description: Shelf in the rack
type: string
example: '3'
slot:
description: Slot in the shelf
type: string
example: '5'
port:
description: Port in the slot
type: string
example: SPL-410688-05-B-2-32
ppid:
description: PortId
type: string
example: 000SP50
HvtLocalLoopProduct:
description: Local loop from the central office
allOf:
- $ref: '#/components/schemas/LocalLoopProduct'
- type: object
properties:
switchingDataHvt:
description: Switiching data for the Local loop from the central office
type: array
items:
$ref: '#/components/schemas/SwitchingDataHvt'
example: []
maxItems: 2
minItems: 1
discriminator:
propertyName: '@type'
mapping:
HvtLocalLoopProduct: '#/components/schemas/HvtLocalLoopProduct'
KvzLocalLoopProduct:
description: Local loop from the curb
allOf:
- $ref: '#/components/schemas/LocalLoopProduct'
- type: object
properties:
switchingDataKvz:
description: Switching data for the Local loop from the curb
type: array
items:
$ref: '#/components/schemas/SwitchingDataKvz'
example: []
maxItems: 2
minItems: 1
discriminator:
propertyName: '@type'
mapping:
KvzLocalLoopProduct: '#/components/schemas/KvzLocalLoopProduct'
LocalLoopProduct:
description: Local loop product
allOf:
- $ref: '#/components/schemas/Product'
- type: object
properties:
transmissionMethod:
description: Transmission method
type: string
example: H01
loopResistance:
description: 'Total resistance (unit: ohms) of the loop'
type: string
example: <1200
maxGrossBitrate:
description: Max. gross bit rate in kbit/s
type: string
example: '9000'
singleContractIdExistingProduct:
description: If ProductId is not known for change orders, the contract number of the product to be changed / canceled can be entered here
type: string
example: '3072345760'
accessLine:
$ref: '#/components/schemas/AccessLine'
lineSegment:
description: Line segment
type: array
items:
$ref: '#/components/schemas/LineSegment'
example: []
maxItems: 99
access:
$ref: '#/components/schemas/Access'
discriminator:
propertyName: '@type'
mapping:
LocalLoopProduct: '#/components/schemas/LocalLoopProduct'
AccessLine:
description: Access line for the local loop
type: object
properties:
lineKey:
description: Indicates the type of line
type: string
example: 96W
areaCodeA:
description: The area code of location A
type: string
example: '228'
areaCodeB:
description: The area code of location B
type: string
example: '228'
talSequenceNumber:
description: Consecutive number to identify the line
type: string
example: FXP00WZTRH
required:
- lineKey
- areaCodeA
- areaCodeB
- talSequenceNumber
LineSegment:
description: Line segment
type: object
properties:
id:
description: Consecutive number to identify the line section
type: string
example: '1'
length:
description: 'Length (unit: meter) of the line section'
type: string
example: '441'
diameter:
description: Diameter of the line section
type: string
example: '500'
required:
- id
- length
- diameter
Access:
description: Notes on the commissioned connection
type: object
properties:
areaCode:
description: Area code of the previous connection (when changing provider)
type: string
example: '228'
subscriberNumber:
description: Phone number of the previous connection (when changing provider)
type: string
example: '123456'
required:
- areaCode
- subscriberNumber
SwitchingDataKvz:
description: Switching data for the Local loop from the curb
type: object
properties:
kvzId:
description: Unique identifier of the cable distributor
type: string
example: '20'
kvzSwitchingId:
description: Information from the carrier regarding its switching data
type: string
example: '285'
required:
- kvzId
- kvzSwitchingId
SwitchingDataHvt:
description: Switching data for the Local loop from the central office
type: object
properties:
uevt:
description: Number of the "Übergabeverteiler"
type: string
example: '0203'
evs:
description: Number of the "Endverschluss"
type: string
example: '24'
copperPairId:
description: Number of the twisted pair
type: string
example: '43'
required:
- uevt
- evs
- copperPairId
ProductOrderMilestone:
description: A ProductOrderMilestone represents an action or event marking a significant change or stage in processing of a product order.
type: object
allOf:
- $ref: '#/components/schemas/Milestone'
discriminator:
propertyName: '@type'
mapping:
ProductOrderMilestone: '#/components/schemas/ProductOrderMilestone'
ProductOrderMilestoneEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/ProductOrderMilestoneEventPayload'
discriminator:
propertyName: '@type'
mapping:
ProductOrderMilestoneEvent: '#/components/schemas/ProductOrderMilestoneEvent'
ProductOrderMilestoneEventPayload:
description: The event data structure
type: object
properties:
productOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/ProductOrder'
ProductOrderJeopardyAlert:
description: A ProductOrderJeopardyAlert represents a predicted exception during a product order processing that would brings risk to complete successfully the order.
type: object
allOf:
- $ref: '#/components/schemas/JeopardyAlert'
discriminator:
propertyName: '@type'
mapping:
ProductOrderJeopardyAlert: '#/components/schemas/ProductOrderJeopardyAlert'
ProductOrderJeopardyAlertEvent:
description: The notification data structure
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
event:
description: The event payload linked to the involved resource object
$ref: '#/components/schemas/ProductOrderJeopardyAlertEventPayload'
discriminator:
propertyName: '@type'
mapping:
ProductOrderJeopardyAlertEvent: '#/components/schemas/ProductOrderJeopardyAlertEvent'
ProductOrderJeopardyAlertEventPayload:
description: The event data structure
type: object
properties:
productOrder:
description: The involved resource data for the event
$ref: '#/components/schemas/ProductOrder'
ProviderChangeInfo:
description: Additional provider change information for terminating provider
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
respondTime:
description: Latest time the response to the provider change request must have been submitted
type: string
format: date-time
example: '2025-12-24T19:30:00+01:00'
approval:
description: State of the provider change approval
type: boolean
example: true
responseReason:
$ref: '#/components/schemas/Message'
discriminator:
propertyName: '@type'
mapping:
ProviderChangeInfo: '#/components/schemas/ProviderChangeInfo'
ProductOrderItemId:
description: Defines the rescheduled product order item
type: object
properties:
id:
description: Identifier of the rescheduled product order item
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
appointment:
$ref: '#/components/schemas/AppointmentRefOrValue'
requestedTimeSlot:
$ref: '#/components/schemas/TimeSlot'
AdditionalOrderInformation:
description: Defines additional order information
type: object
properties:
providerChangeAgreementTechnology:
description: Technology of the old product (only for Provider Change Use Cases)
type: string
example: n/a
providerChangeAgreementLineId:
description: LineId of the old product (only for Provider Change Use Cases)
type: string
example: n/a
providerChangeAgreementSingleContractId:
description: Single Contract Id of the old product (only for Provider Change Use Cases)
type: string
example: n/a
providerChangePassiveAccessLineId:
description: Single Contract Id of the old product (only for Provider Change Use Cases)
type: string
example: n/a
previousTenantGivenName:
description: Given Name of the previous tenant
type: string
example: n/a
previousTenantFamilyName:
description: Family Name of the previous tenant
type: string
example: n/a
previousTenantNationalDestinationCode:
description: National destination code of the previous tenant
type: string
example: n/a
previousTenantSubscriberNumber:
description: Subscriber nuber of the previous tenant
type: string
example: n/a
campaignIdentifier:
description: Identifier for marketing campaigns, e. g. promotions
type: string
example: Identifier for marketing campaigns, e. g. promotions
projectIdentifier:
description: Identifier for specific projects
type: string
example: n/a
couplingIdentifier:
description: Identifier for specific projects
type: string
example: n/a
orderBindingId:
description: Identifier used to bind orders
type: string
example: n/a
orderBindingNumberOfOrders:
description: Number of orders (used together with orderBindingId)
type: integer
example: 2
orderBindingFailedExternalOrderId:
description: Failed order number (refers to another failed order)
type: string
example: n/a
copperPairInUseLineKey:
description: LineKey of the copper pair in Use
type: string
example: n/a
copperPairInUseNationalDestinationCodeA:
description: NationalDestinationCodeA of the copper pair in Use
type: string
example: n/a
copperPairInUseNationalDestinationCodeB:
description: NationalDestinationCodeB of the copper pair in Use
type: string
example: n/a
copperPairInUseTalSequenceNumber:
description: TalSequenceNumber of the copper pair in Use
type: string
example: n/a
hardwareIdType:
description: 'HardwareId to identify the line: type (e.g. OntSerialNuber)'
type: string
example: n/a
hardwareIdValue:
description: 'HardwareId to identify the line: value'
type: string
example: n/a
aggregatorProductOffering:
description: Name of pre product
type: string
example: n/a
aggregatorNGA:
description: Seller name of pre product
type: string
example: n/a
aggregatorOrderAction:
description: Order category of pre product
type: string
example: n/a
aggregatorOrderId:
description: Order id of pre product
type: string
example: n/a
Extensible:
description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
type: object
properties:
'@type':
description: When sub-classing, this defines the sub-class Extensible name
type: string
example: ''
'@baseType':
description: When sub-classing, this defines the super-class
type: string
example: ''
'@schemaLocation':
description: A URI to a JSON-Schema file that defines additional attributes and relationships
type: string
example: ''
discriminator:
propertyName: '@type'
required:
- '@type'
Entity:
description: Base entity schema for use in TMForum Open-APIs. Property.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
id:
description: Unique identifier
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
href:
description: Hyperlink reference
type: string
format: uri
example: https://api.example.org/resource/id
ContactMedium:
description: Indicates the contact medium that could be used to contact the party.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
contactMediumIdentifier:
description: Identifier for this contact medium.
type: string
example: '123'
contactType:
description: Type of the contact medium to qualifiy it like pro email / personal email. This is not used to define the contact medium used.
type: string
example: personal email
preferred:
description: If true, indicates that is the preferred contact medium
type: boolean
example: true
validFor:
$ref: '#/components/schemas/TimePeriod'
discriminator:
propertyName: '@type'
mapping:
PhoneContactMedium: '#/components/schemas/PhoneContactMedium'
EmailContactMedium: '#/components/schemas/EmailContactMedium'
PostalAddressContactMedium: '#/components/schemas/PostalAddressContactMedium'
PhoneContactMedium:
description: Describes a phone number that could be used to contact a party (an individual or an organization).
allOf:
- $ref: '#/components/schemas/ContactMedium'
- type: object
properties:
phoneNumber:
description: The phone number of the contact
type: string
example: +49 30 1234567
EmailContactMedium:
description: Describes a email that could be used to contact a party (an individual or an organization).
allOf:
- $ref: '#/components/schemas/ContactMedium'
- type: object
properties:
emailAddress:
description: Full email address in standard format
type: string
example: info@example.net
PostalAddressContactMedium:
description: Describes a email that could be used to contact a party (an individual or an organization).
allOf:
- $ref: '#/components/schemas/ContactMedium'
- type: object
properties:
city:
description: Full city name
type: string
example: Berlin
country:
description: Country that the address is in (ISO-3166-1 ALPHA-2)
type: string
example: DE
locality:
description: Locality
type: string
example: ''
postcode:
description: Postcode
type: string
example: 10117
streetName:
description: StreetName
type: string
example: Reinhardtstr.
streetNr:
description: StreetNr
type: string
example: 31
streetNrSuffix:
description: StreetNrSuffix
type: string
example: ''
TimePeriod:
description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
type: object
properties:
startDateTime:
description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
endDateTime:
description: End of the time period, using IETC-RFC-3339 format
type: string
format: date-time
example: '2025-12-24T19:30:00+01:00'
ExternalIdentifier:
description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
id:
description: Unique identifier
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
href:
description: Hyperlink reference
type: string
format: uri
example: https://example.org/resource/id
externalIdentifierType:
description: Type of the identification, typically would be the type of the entity within the external system
type: string
example: ProductOrder
owner:
description: Name of the external system that owns the entity.
type: string
example: AcmeCommerce
Characteristic:
description: Describes a given characteristic of an object or entity through a name/value pair.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
id:
description: Unique identifier of the characteristic
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
name:
description: Name of the characteristic
type: string
example: charachteristic name
valueType:
description: Data type of the value of the characteristic
type: string
example: string
discriminator:
propertyName: '@type'
mapping:
Characteristic: '#/components/schemas/Characteristic'
StringCharacteristic: '#/components/schemas/StringCharacteristic'
StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic'
ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic'
ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic'
NumberCharacteristic: '#/components/schemas/NumberCharacteristic'
NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic'
IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic'
IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic'
BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic'
BooleanArrayCharacteristic: '#/components/schemas/BooleanArrayCharacteristic'
StringCharacteristic:
description: A characteristic which value is a String.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
required:
- value
properties:
value:
description: Value of the characteristic
type: string
example: Lorem ipsum dolor
StringArrayCharacteristic:
description: A characteristic which value is a String.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
properties:
value:
description: Value of the characteristic
type: array
items:
type: string
example: []
ObjectCharacteristic:
description: A characteristic which value is an Object.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
required:
- value
properties:
value:
description: Value of the characteristic
type: object
example: ''
ObjectArrayCharacteristic:
description: A characteristic which value is an Object.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
properties:
value:
description: Value of the characteristic
type: array
items:
type: object
example: []
NumberCharacteristic:
description: A characteristic which value is a Number.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
required:
- value
properties:
value:
description: Value of the characteristic
type: number
example: 1
NumberArrayCharacteristic:
description: A characteristic which value is a Number.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
properties:
value:
description: Value of the characteristic
type: array
items:
type: number
example: []
IntegerCharacteristic:
description: A characteristic which value is an Integer.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
required:
- value
properties:
value:
description: Value of the characteristic
type: integer
example: 1
IntegerArrayCharacteristic:
description: A characteristic which value is an Integer.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
properties:
value:
description: Value of the characteristic
type: array
items:
type: integer
example: []
BooleanCharacteristic:
description: A characteristic which value is a Boolean.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
required:
- value
properties:
value:
description: Value of the characteristic
type: boolean
example: true
BooleanArrayCharacteristic:
description: A characteristic which value is a Boolean.
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
properties:
value:
description: Value of the characteristic
type: array
items:
type: boolean
example: []
Party:
description: Generic Party structure used to define commonalities between sub concepts of Individual and Organization.
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
properties:
contactMedium:
description: List of means for contacting the party, e.g. mobile phone, email address
type: array
items:
$ref: '#/components/schemas/ContactMedium'
example: []
externalReference:
description: List of identifiers of the Party in an external system, for example when party information is imported from a commerce system
type: array
items:
$ref: '#/components/schemas/ExternalIdentifier'
example: []
businessId:
description: A business relevant identifier when different from the technical identifier documented with the .id property
type: string
example: '1234'
partyCharacteristic:
description: List of additional characteristics that a Party can take on.
type: array
items:
$ref: '#/components/schemas/Characteristic'
example: []
Individual:
description: Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about.
allOf:
- $ref: '#/components/schemas/Party'
- type: object
properties:
familyName:
description: Contains the non-chosen or inherited name. Also known as last name in the Western context
type: string
example: Muster
salutation:
description: Standard wording used to address an individual
type: string
example: Ms
givenName:
description: First name of the individual
type: string
example: Melanie
title:
description: Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ...
type: string
example: Dr.
Organization:
description: Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data.
allOf:
- $ref: '#/components/schemas/Party'
- type: object
properties:
name:
description: Organization name (department name for example)
type: string
example: Acme Corp.
EntityRef:
description: Entity reference schema to be use for all entityRef class.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- id
properties:
id:
description: Identifier of the referred entity.
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
href:
description: Hyperlink reference
type: string
format: uri
example: https://api.example.org/resource/id
name:
description: Name of the referred entity.
type: string
example: EntityName
'@referredType':
description: The actual type of the target instance when needed for disambiguation.
type: string
example: ''
PartyRef:
description: Party reference.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
PartyRoleRef:
description: Party role reference.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
AccountRef:
description: Account reference. A account may be a party account or a financial account.
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
properties:
description:
description: Detailed description of the account
type: string
example: lorem ipsum dolor
AgreementRef:
description: Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
PartyOrPartyRole:
description: A Party or PartyRole or Ref
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/Individual'
- $ref: '#/components/schemas/Organization'
- $ref: '#/components/schemas/PartyRef'
- $ref: '#/components/schemas/PartyRoleRef'
- $ref: '#/components/schemas/PartyRole'
RelatedPartyOrPartyRole:
description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- role
- partyOrPartyRole
properties:
role:
description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user'
type: string
example: ''
partyOrPartyRole:
$ref: '#/components/schemas/PartyOrPartyRole'
PartyRole:
description: The part played by a party in a given context.
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
required:
- name
- engagedParty
properties:
businessId:
description: A business relevant identifier when different from the technical identifier documented with the .id property
type: string
example: '1234'
name:
description: A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles. It's the name of the PartyRole unique entity.
type: string
example: PartyRoleName
description:
description: A description of the PartyRole.
type: string
example: Lorem ipsum dolor
role:
description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification.
type: string
example: ''
engagedParty:
$ref: '#/components/schemas/PartyRef'
characteristic:
description: Describes the characteristic of a party role.
type: array
items:
$ref: '#/components/schemas/Characteristic'
example: []
account:
description: Account
type: array
items:
$ref: '#/components/schemas/AccountRef'
example: []
agreement:
description: Agreement
type: array
items:
$ref: '#/components/schemas/AgreementRef'
example: []
contactMedium:
description: Contact medium
type: array
items:
$ref: '#/components/schemas/ContactMedium'
example: []
relatedParty:
description: Related party
type: array
items:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
example: []
status:
description: Used to track the lifecycle status of the party role.
type: string
example: ''
statusReason:
description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection.
type: string
example: ''
validFor:
$ref: '#/components/schemas/TimePeriod'
Agreement:
description: An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
required:
- agreementType
properties:
name:
description: A human-readable name for the agreement
type: string
example: contract no. 42
engagedParty:
description: Engaged party
type: array
items:
$ref: '#/components/schemas/PartyOrPartyRole'
example: []
relatedParty:
description: Related party
type: array
items:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
example: []
businessId:
description: A business relevant identifier when different from the technical identifier documented with the .id property
type: string
example: '1234'
agreementType:
description: Type of the agreement (e.g. witaContract, ServiceContractCustomer, ServiceContractOrderer, SingleContract, PreAgreement, witaContract,...)
type: string
example: ServiceContractOrderer
AgreementRefOrValue:
description: Agreement reference or value
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/Agreement'
- $ref: '#/components/schemas/AgreementRef'
Note:
description: Extra information about a given entity
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
required:
- text
properties:
author:
description: Author of the note
type: string
example: jarvis
date:
description: Date of the note
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
text:
description: Text of the note
type: string
example: Lorem ipsum dolor
discriminator:
propertyName: '@type'
mapping:
Note: '#/components/schemas/Note'
InstallationInstruction: '#/components/schemas/InstallationInstruction'
InstallationInstruction:
description: Specialization of Note
allOf:
- $ref: '#/components/schemas/Note'
- type: object
Quantity:
description: An amount in a given unit
type: object
properties:
amount:
description: Numeric value in a given unit
type: number
format: float
example: 20
default: 1
units:
description: Unit
type: string
example: MBit/s
Duration:
description: A time interval in a given unit of time
type: object
properties:
amount:
description: Time interval (number of seconds, minutes, hours, etc.)
type: integer
example: 60
units:
description: Unit of time (seconds, minutes, hours, etc.)
type: string
example: seconds
Place:
description: Place value (base class).
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
properties:
externalIdentifier:
type: array
description: Collection of external identifiers
items:
$ref: '#/components/schemas/ExternalIdentifier'
GeographicSubAddress:
description: |-
Representation of a GeographicSubAddress
It is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building.
allOf:
- $ref: '#/components/schemas/Place'
- type: object
properties:
buildingName:
description: Allows for buildings that have well-known names
type: string
example: Hinterhaus
buildingComplement:
description: Additional designation for completing the building name
type: string
example: n/a
GeographicAddress:
description: |-
Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently).
Note : Address corresponds to SID UrbanPropertyAddress
allOf:
- $ref: '#/components/schemas/Place'
- type: object
properties:
city:
description: City that the address is in
type: string
example: Berlin
country:
description: Country that the address is in (ISO-3166-1 ALPHA-2)
type: string
example: DE
locality:
description: An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET]
type: string
example: ''
postcode:
description: descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also know as zipcode)
type: string
example: '10117'
streetName:
description: Name of the street or other street type
type: string
example: Reinhardtstr.
streetNr:
description: Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses
type: string
example: '31'
streetNrSuffix:
description: the first street number suffix
type: string
example: a
geographicSubAddress:
description: Geographic sub address
type: array
items:
$ref: '#/components/schemas/GeographicSubAddress'
example: []
GeographicSite:
description: Geographic site
allOf:
- $ref: '#/components/schemas/Place'
- type: object
properties:
code:
description: 'A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]'
type: string
example: ''
creationDate:
description: Date and time when the GeographicSite was created
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
description:
description: Text describing additional information regarding the site
type: string
example: Lorem ipsum dolor
place:
description: Place
type: array
items:
$ref: '#/components/schemas/Place'
example: []
geographicSiteCharacteristic:
description: Geographic site characteristics
type: array
items:
$ref: '#/components/schemas/Characteristic'
example: []
status:
description: The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former
type: string
example: active
PlaceRef:
description: Place reference.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
PlaceRefOrValue:
description: A place ref or value
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/GeographicAddress'
- $ref: '#/components/schemas/GeographicSite'
- $ref: '#/components/schemas/PlaceRef'
RelatedPlaceRefOrValue:
description: Entity reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the RelatedPlace entity and not the RelatedPlaceRefOrValue class itself
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- role
- place
properties:
role:
description: Role played by the related entity
type: string
example: ''
place:
$ref: '#/components/schemas/PlaceRefOrValue'
TargetProductSchema:
description: The reference object to the schema and type of target product which is described by product specification
type: object
properties:
'@schemaLocation':
description: This field provides a link to the schema describing the target product
type: string
example: https://schemas.example.com/example/schema
'@type':
description: Class type of the target product
type: string
example: ''
required:
- '@schemaLocation'
- '@type'
ProductSpecificationRef:
description: 'Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.'
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
properties:
version:
description: Version of the product specification
type: string
example: '1.0'
targetProductSchema:
$ref: '#/components/schemas/TargetProductSchema'
ProductOffering:
description: Represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
properties:
description:
description: Description of the productOffering
type: string
example: Lorem ipsum dolor
version:
description: ProductOffering version
type: string
example: '1.0'
lifecycleStatus:
description: Used to indicate the current lifecycle status
type: string
example: created
name:
description: Name of the productOffering
type: string
example: product offering name
productSpecification:
description: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.
$ref: '#/components/schemas/ProductSpecificationRef'
ProductOfferingRef:
description: ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
ProductOfferingRefOrValue:
description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the ProductOfferingRefOrValue class itself
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/ProductOffering'
- $ref: '#/components/schemas/ProductOfferingRef'
TimeSlot:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- validFor
properties:
id:
description: Unique identifier of the TimeSlot
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
href:
description: Reference of the TimeSlot
type: string
example: https://api.example.org/timeslot/id
relatedParty:
description: RelatedParty reference. A related party defines party or party role linked to a specific entity.
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
validFor:
description: Start date and end date of the timeSlot
$ref: '#/components/schemas/TimePeriod'
AppointmentRef:
description: Appointment reference.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
AttachmentRef:
description: Attachment reference.
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
Attachment:
description: Complements the description of an element (for instance a product) through video, pictures...
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
properties:
attachmentType:
description: Attachment type such as video, picture
type: string
example: video
content:
description: The actual contents of the attachment object, if embedded, encoded as base64
example: ''
format: base64
type: string
description:
description: A narrative text describing the content of the attachment
type: string
example: Photograph of the Product
mimeType:
description: Attachment mime type such as extension file for video, picture and document
type: string
example: image/AVIF
name:
description: The name of the attachment
type: string
example: attachment.file
url:
description: Uniform Resource Locator, is a web page address (a subset of URI)
type: string
format: uri
example: https://api.example.org/content/4aafacbd-11ff-4dc8-b445-305f2215715f
size:
description: The size of the attachment.
$ref: '#/components/schemas/Quantity'
validFor:
description: The period of time for which the attachment is valid
$ref: '#/components/schemas/TimePeriod'
AttachmentRefOrValue:
description: Attachment reference or value
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/AttachmentRef'
- $ref: '#/components/schemas/Attachment'
AppointmentStateType:
description: |-
Valid values for the lifecycle status of the appointment are:
- *initialized*: Appointment initialized
- *confirmed*: Appointment confirmed
- *cancelled*: Appointment cancelled
- *completed*: Appointment completed
- *failed*: Appointment failed
type: string
enum:
- initialized
- confirmed
- cancelled
- completed
- failed
Appointment:
description: An Appointment is an arrangement to do something or meet someone at a particular time, at a place (for face to face appointment) or in a contact medium (for phone appointment).
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
required:
- validFor
properties:
category:
description: 'Business category : intervention for example or to be more precise after SalesIntervention, orderDeliveryIntervention,...'
type: string
example: intervention
creationDate:
description: Appointment creation date
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
description:
description: Short free text describing the appointment
type: string
example: Lorem ipsum dolor
externalId:
description: External reference known by the customer
type: string
example: '1234'
lastUpdate:
description: Date of last appointment update
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
attachment:
description: Attachment
type: array
items:
$ref: '#/components/schemas/AttachmentRefOrValue'
example: []
contactMedium:
description: Contact medium
type: array
items:
$ref: '#/components/schemas/ContactMedium'
example: []
note:
description: Note
type: array
items:
$ref: '#/components/schemas/Note'
example: []
relatedParty:
description: Related party
type: array
items:
$ref: '#/components/schemas/RelatedPartyOrPartyRole'
example: []
relatedPlace:
description: Related place defines (by reference or value) the place where the appointment will take place.
$ref: '#/components/schemas/RelatedPlaceRefOrValue'
status:
$ref: '#/components/schemas/AppointmentStateType'
validFor:
$ref: '#/components/schemas/TimePeriod'
AppointmentRefOrValue:
description: Appointment reference and value
type: object
discriminator:
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/AppointmentRef'
- $ref: '#/components/schemas/Appointment'
Message:
description: A message described as a combination of a text and a code with additional info where required.
type: object
properties:
code:
description: Predefined code corresponding to the message
type: string
example: '00'
text:
description: Predefined text describing the message corresponding to the code
type: string
example: Lorem ipsum dolor
additionalInformation:
description: additional textual information for the message
type: string
example: Lorem ipsum dolor
messageSource:
description: Predefined text describing the message corresponding to the code (e.g. Related)
type: string
example: Related
StateChange:
description: Holds the state notification reasons and associated date the state changed, populated by the server
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- stateChangeDate
- state
properties:
stateChangeDate:
description: The date and time the state changed.
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
stateChangeReason:
description: Reason for the state change described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
state:
description: The state of the API resource
type: string
example: ''
JeopardyAlert:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: |-
A JeopardyAlert represents a predicted exception during a process that may cause a risk
to complete successfully the process.
properties:
id:
description: Identifier of the JeopardyAlert
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
alertDate:
description: A date time( DateTime). The date that the alert issued
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
name:
description: A string used to give a name to the jeopardy alert
type: string
example: alert name
jeopardyAlertMessage:
description: Text and code that represents the message of the jeopardy alert
type: array
items:
$ref: '#/components/schemas/Message'
example: []
estimatedAlertEndDate:
description: A date time(DateTime). The estimated date of the alert ending
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
exception:
description: The exception associated with this jeopardy alert
type: string
discriminator:
propertyName: '@type'
mapping:
JeopardyAlert: '#/components/schemas/JeopardyAlert'
Milestone:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: |-
Milestone represents an action or event marking a significant change or stage in a
process like an order process.
properties:
id:
description: Identifier of the Milestone
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
milestoneDate:
description: A date time( DateTime). The date that the milestone happens
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
name:
description: A string used to give a name to the milestone
type: string
example: milestone name
milestoneMessage:
description: Text and code that represents the message of the milestone
type: array
items:
$ref: '#/components/schemas/Message'
example: []
relatedState:
description: |-
Documents the state of the related API Resource at the time of the
Milestone
type: string
example: active
discriminator:
propertyName: '@type'
mapping:
Milestone: '#/components/schemas/Milestone'
ErrorMessage:
description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- code
- reason
properties:
code:
description: Application relevant detail, defined in the API or a common list.
type: string
example: '0995'
reason:
description: Explanation of the reason for the error which can be shown to a client user.
type: string
example: human error
message:
description: More details and corrective actions related to the error which can be shown to a client user.
type: string
example: Datenstruktur unzulässig.
status:
description: HTTP Error code extension
type: string
example: not found
referenceError:
description: URI of documentation describing the error.
type: string
format: uri
example: https://api.example.org/error/id
example:
'@type': ErrorMessage
code: '0995'
reason: human error
message: Datenstruktur unzulässig.
status: not found
referenceError: https://api.example.org/error/id
Extensible_FVO:
description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
type: object
properties:
'@type':
description: When sub-classing, this defines the sub-class Extensible name
type: string
example: ''
'@baseType':
description: When sub-classing, this defines the super-class
type: string
example: ''
'@schemaLocation':
description: A URI to a JSON-Schema file that defines additional attributes and relationships
type: string
example: ''
discriminator:
propertyName: '@type'
required:
- '@type'
TaskStateType:
description: |-
Possible values for the state of a task are:
- *acknowledged*: The acknowledged state is used if a task resource has been received and has passed message and basic business validations.
- *rejected*: The task has been rejected during validation or processing.
- *inProgress*: The InProgress state is used while the task is being processed.
- *done*: The task has been completed and a result is available.
- *terminatedWithError*: The task could not be correctly completed and no result is available.
type: string
enum:
- acknowledged
- rejected
- inProgress
- done
- terminatedWithError
TaskEntity:
description: Base schema for task resource entities
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
properties:
state:
$ref: '#/components/schemas/TaskStateType'
stateChangeDate:
description: The date and time the state changed.
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
stateChangeReason:
description: Reason for the state change described as a combination of a text and a code.
type: array
items:
$ref: '#/components/schemas/Message'
example: []
requestDate:
description: Date when the task resource was created
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
requestPostedDate:
description: Date when the request was posted
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
stateChangeHistory:
description: The state change history that is associated to the Entity. Populated by the server
type: array
items:
$ref: '#/components/schemas/StateChange'
example: []
externalIdentifier:
description: A reference to an externally defined object in the context of the managed entity
type: array
items:
$ref: '#/components/schemas/ExternalIdentifier'
example: []
Entity_FVO:
description: Base entity schema for use in TMForum Open-APIs. Property.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
id:
description: Unique identifier
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
TaskEntity_FVO:
description: Base schema for task resource FVO entities
allOf:
- $ref: '#/components/schemas/Entity_FVO'
- type: object
properties:
requestPostedDate:
description: Date when the request was posted
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
externalIdentifier:
description: A reference to an externally defined object in the context of the managed entity
type: array
items:
$ref: '#/components/schemas/ExternalIdentifier'
example: []
Hub_FVO:
description: Sets the communication endpoint address the service instance must use to deliver notification information
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
required:
- callback
properties:
callback:
description: The callback being registered.
type: string
example: ''
query:
description: Additional data to be passed
type: string
example: ''
Hub:
description: Sets the communication endpoint address the service instance must use to deliver notification information
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
required:
- callback
properties:
callback:
description: The callback being registered.
type: string
example: ''
query:
description: Additional data to be passed
type: string
example: ''
Event:
description: event with common attributes.
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
properties:
eventId:
description: The identifier of the notification.
type: string
example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5
eventTime:
description: Time of the event occurrence.
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
eventType:
description: The type of the notification.
type: string
example: ''
description:
description: An explanatory of the event.
type: string
example: Lorem ipsum dolor
timeOccurred:
description: The time the event occurred.
type: string
format: date-time
example: '2023-01-01T08:00:00+01:00'
source:
description: Source Entity described by EntityRef
$ref: '#/components/schemas/EntityRef'
reportingSystem:
description: Reporting System described by EntityRef
$ref: '#/components/schemas/EntityRef'
required:
- eventId
- eventTime
- eventType
- event
FieldPath:
description: Field path
type: object
properties:
path:
description: Path of updated attribute
type: string
example: /productOrderItem/0/product/terminationDate
typeOfChange:
description: Type of change
type: string
example: add
required:
- path
AttributeValueChangeEvent:
description: Attribute value change event
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
fieldPath:
description: Field path
type: array
items:
$ref: '#/components/schemas/FieldPath'
example: []
examples:
CreateProductOrder_request:
description: POST ProductOrder Request Example
value:
'@type': ProductOrder_FVO
category: new
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: ProductOrder
owner: DEU.VFD
note:
- '@type': InstallationInstruction
text: zweimal klingeln
productOrderItem:
- '@type': ProductOrderItem
id: '1'
action: add
product:
'@type': BitstreamAccessProduct
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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
CreateCancelProductOrder_request:
description: POST CancelProductOrder Request Example
value:
'@type': CancelProductOrder_FVO
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
cancellationReason:
- code: '001'
text: I don't want this anymore.
CreateRescheduleProductOrder_request:
description: POST RescheduleProductOrder Request Example
value:
'@type': RescheduleProductOrder_FVO
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
rescheduledRequestedCompletionDate: '2022-07-20T12:00:00+02:00'
rescheduleReason:
- code: '002'
text: I'm on vacation.
productOrderItem:
id: '1'
requestedTimeSlot:
'@type': TimeSlot
validFor:
startDateTime: '2022-07-20T08:00:00+02:00'
endDateTime: '2022-07-20T12:00:00+02:00'
CreateCloseProductOrder_request:
description: POST CloseProductOrder Request Example
value:
'@type': CloseProductOrder_FVO
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
closeReason:
- code: '111'
text: TBD
CreateAddProductOrderInformation_request:
description: POST AddProductOrderInformation Request Example
value:
'@type': AddProductOrderInformation_FVO
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
relatedParty:
'@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
note:
'@type': Note
text: zweimal klingeln
CreateAmendProductOrder_request:
description: POST AmendProductOrder Request Example
value:
'@type': AmendProductOrder_FVO
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
amendProductOrderItem:
- action: add
productOrderItem:
'@type': ProductOrderItem
id: '2'
action: add
productOffering:
'@type': ProductOffering
name: Bereitstellung Komfort
productOrderItemRelationship:
- '@type': OrderItemRelationship
id: '1'
relationshipType: dependsOn
CreateRespondProviderChange_request:
description: POST RespondProviderChange Request Example
value:
'@type': RespondProviderChange_FVO
productOrder:
'@type': ProductOrderRef
id: 596d7fa0-981f-4b98-bcf5-e9b2955776f4
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/596d7fa0-981f-4b98-bcf5-e9b2955776f4
approval: false
responseReason:
- code: KVE
text: Vorabstimmungs-ID fehlerhaft
ProductOrderAttributeValueChangeEvent_request:
description: Message example for ProductOrderAttributeValueChangeEvent event
value:
'@type': ProductOrderAttributeValueChangeEvent
eventId: bc026dc4-f8ac-4d59-8baf-e252cb73c6a6
eventTime: '2022-05-11T10:30:30+02:00'
eventType: ProductOrderAttributeValueChangeEvent
fieldPath:
- path: /earliestOrderRetry
typeOfChange: add
- path: /productOrderItem/0/alternateProductOffering
typeOfChange: add
- path: /productOrderItem/0/product/relatedPlace/-
typeOfChange: add
event:
productOrder:
'@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: ProductOrder
owner: DEU.VFD
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
- '@type': RelatedPlaceRefOrValue
role: alternateAddress
place:
'@type': GeographicAddress
city: Rheinhausen
country: DE
postcode: '59055'
streetName: Biberweg
streetNr: '2'
streetNrSuffix: b
networkTerminationUnitLocation: Flur 3.OG
homeId: a12d5a4545
productOffering:
'@type': ProductOffering
name: FTTH 250000
alternateProductOffering:
'@type': ProductOffering
name: FTTH L2 PON 1500 1000
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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
state: acknowledged
stateChangeDate: '2022-05-11T10:30:00+02:00'
earliestOrderRetry: '2023-01-16T10:00:00+01:00'
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
ProductOrderStateChangeEvent_request:
description: Message example for ProductOrderStateChangeEvent event
value:
'@type': ProductOrderStateChangeEvent
eventId: d1e29549-97d5-48f6-9b34-fe9ed626cb6e
eventTime: '2022-05-11T10:31:00+02:00'
eventType: ProductOrderStateChangeEvent
event:
productOrder:
'@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: ProductOrder
owner: DEU.VFD
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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
state: accepted
stateChangeDate: '2022-05-11T10:31:00+02:00'
stateChangeReason:
- code: '0000'
text: Keine Änderung zum Auftrag
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-05-11T10:30:00+02:00'
state: acknowledged
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
ProductOrderMilestoneEvent_request:
description: Message example for ProductOrderMilestoneEvent event
value:
'@type': ProductOrderMilestoneEvent
eventId: d1f9e16a-b6af-493a-8611-8e06430687ce
eventTime: '2022-05-20T10:45:00+02:00'
eventType: ProductOrderMilestoneEvent
event:
productOrder:
'@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
expectedCompletionDate: '2022-12-19T12:00:00+01:00'
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
- '@type': Agreement
name: singleContract
businessId: '3091231119'
agreementType: singleContract
externalId:
- '@type': ExternalIdentifier
id: '1000111'
externalIdentifierType: ProductOrder
owner: DEU.VFD
productOrderItem:
- '@type': ProductOrderItem
id: '1'
action: add
product:
'@type': BitstreamAccessProduct
id: 922ebf01-e930-47a0-842e-059d1f188a15
href: https://api.example.org/tmf-api/productInventoryManagement/v5/product/922ebf01-e930-47a0-842e-059d1f188a15
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
lineID: DEU.DTAG.FTYLIQ7PFT
networkTerminationUnitLocation: Flur 3.OG
homeId: a12d5a4545
productOffering:
'@type': ProductOffering
name: FTTH 250000
endUserAppointmentIsNecessary: true
requestedTimeSlot:
'@type': TimeSlot
validFor:
startDateTime: '2022-12-01T08:00:00+01:00'
endDateTime: '2022-12-01T12:00:00+01:00'
appointment:
'@type': Appointment
validFor:
startDateTime: '2022-12-19T08:00:00+01:00'
endDateTime: '2022-12-19T12: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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
- '@type': RelatedPartyOrPartyRole
role: orderManagementSellerContact
partyOrPartyRole:
'@type': Individual
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221789456'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878787878'
- '@type': EmailContactMedium
contactType: email
emailAddress: l.bach@example.net
familyName: Bach
salutation: Frau
givenName: Lisa
state: inProgress
stateChangeDate: '2022-05-20T10:39:00+02:00'
stateChangeReason:
- code: '0000'
text: Keine Änderung zum Auftrag
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-05-11T10:30:00+02:00'
state: acknowledged
- '@type': StateChange
stateChangeDate: '2022-05-11T10:31:00+02:00'
stateChangeReason:
- code: '0000'
text: Keine Änderung zum Auftrag
state: accepted
productOrderMilestone:
- '@type': ProductOrderMilestone
milestoneDate: '2022-05-20T10:45:00+02:00'
name: orderConfirmationUpdate
milestoneMessage:
- code: '0015'
text: Der Ausführungstermin wurde vom Leistungserbringer manuell geändert
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
ProductOrderJeopardyAlertEvent_request:
description: Message example for ProductOrderJeopardyAlertEvent event
value:
'@type': ProductOrderJeopardyAlertEvent
eventId: 50c1005e-eccb-4d3a-ab9c-8427bd9f0980
eventTime: '2022-10-16T10:34:00+02:00'
eventType: ProductOrderJeopardyAlertEvent
event:
productOrder:
'@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
expectedCompletionDate: '2022-12-19T12:00:00+01:00'
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
- '@type': Agreement
name: singleContract
businessId: '3091231119'
agreementType: singleContract
externalId:
- '@type': ExternalIdentifier
id: '1000111'
externalIdentifierType: ProductOrder
owner: DEU.VFD
productOrderItem:
- '@type': ProductOrderItem
id: '1'
action: add
product:
'@type': BitstreamAccessProduct
id: 922ebf01-e930-47a0-842e-059d1f188a15
href: https://api.example.org/tmf-api/productInventoryManagement/v5/product/922ebf01-e930-47a0-842e-059d1f188a15
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
lineID: DEU.DTAG.FTYLIQ7PFT
networkTerminationUnitLocation: Flur 3.OG
homeId: a12d5a4545
productOffering:
'@type': ProductOffering
name: FTTH 250000
endUserAppointmentIsNecessary: true
requestedTimeSlot:
'@type': TimeSlot
validFor:
startDateTime: '2022-12-01T08:00:00+01:00'
endDateTime: '2022-12-01T12:00:00+01:00'
appointment:
'@type': Appointment
validFor:
startDateTime: '2022-12-19T08:00:00+01:00'
endDateTime: '2022-12-19T12: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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
- '@type': RelatedPartyOrPartyRole
role: orderManagementSellerContact
partyOrPartyRole:
'@type': Individual
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221789456'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878787878'
- '@type': EmailContactMedium
contactType: email
emailAddress: l.bach@example.net
familyName: Bach
salutation: Frau
givenName: Lisa
state: inProgress
stateChangeDate: '2022-05-20T10:39:00+02:00'
stateChangeReason:
- code: '0000'
text: Keine Änderung zum Auftrag
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-05-11T10:30:00+02:00'
state: acknowledged
- '@type': StateChange
stateChangeDate: '2022-05-11T10:31:00+02:00'
stateChangeReason:
- code: '0000'
text: Keine Änderung zum Auftrag
state: accepted
productOrderJeopardyAlert:
- '@type': ProductOrderJeopardyAlert
alertDate: '2022-10-16T10:34:00+02:00'
name: orderDelay
jeopardyAlertMessage:
- code: '0070'
text: Der Auftrag wird manuell bearbeitet. Die Bearbeitungszeit kann sich daher verlängern.
exception: Der Auftrag befindet sich durch die noch nicht im Betrieb befindliche Carrierübergabe in der Auftragspufferung
productOrderMilestone:
- '@type': ProductOrderMilestone
milestoneDate: '2022-05-20T10:45:00+02:00'
name: orderConfirmationUpdate
milestoneMessage:
- code: '0015'
text: Der Ausführungstermin wurde vom Leistungserbringer manuell geändert
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
ProductOrderInformationRequiredEvent_request:
description: Message example for ProductOrderInformationRequiredEvent event
value:
'@type': ProductOrderInformationRequiredEvent
eventId: 497da45b-e91c-4f63-875f-492fdc3e25da
eventTime: '2022-05-20T10:41:00+02:00'
eventType: ProductOrderInformationRequiredEvent
fieldPath:
- path: /requestedCompletionDate
typeOfChange: replace
- path: /productOrderItem.requestedTimeSlot.validFor.startDateTime
typeOfChange: replace
- path: /productOrderItem.requestedTimeSlot.validFor.endDateTime
typeOfChange: replce
event:
productOrder:
'@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
expectedCompletionDate: '2022-12-01T12:00:00+01:00'
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
- '@type': Agreement
name: singleContract
businessId: '3091231119'
agreementType: singleContract
externalId:
- '@type': ExternalIdentifier
id: '1000111'
externalIdentifierType: ProductOrder
owner: DEU.VFD
productOrderItem:
- '@type': ProductOrderItem
id: '1'
action: add
product:
'@type': BitstreamAccessProduct
id: 922ebf01-e930-47a0-842e-059d1f188a15
href: https://api.example.org/tmf-api/productInventoryManagement/v5/product/922ebf01-e930-47a0-842e-059d1f188a15
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
lineID: DEU.DTAG.FTYLIQ7PFT
networkTerminationUnitLocation: Flur 3.OG
homeId: a12d5a4545
productOffering:
'@type': ProductOffering
name: FTTH 250000
endUserAppointmentIsNecessary: true
requestedTimeSlot:
'@type': TimeSlot
validFor:
startDateTime: '2022-12-01T08:00:00+01:00'
endDateTime: '2022-12-01T12:00:00+01:00'
appointment:
'@type': Appointment
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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
- '@type': RelatedPartyOrPartyRole
role: orderManagementSellerContact
partyOrPartyRole:
'@type': Individual
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221789456'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878787878'
- '@type': EmailContactMedium
contactType: email
emailAddress: l.bach@example.net
familyName: Bach
salutation: Frau
givenName: Lisa
state: pending
stateChangeDate: '2022-05-20T10:40:00+02:00'
stateChangeReason:
- code: '6000'
text: Endkunde hat Herstellung zurückgestellt/verweigert.
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-05-11T10:30:00+02:00'
state: acknowledged
- '@type': StateChange
stateChangeDate: '2022-05-11T10:31:00+02:00'
stateChangeReason:
- code: '0000'
text: Keine Änderung zum Auftrag
state: accepted
- '@type': StateChange
stateChangeDate: '2022-05-20T10:39:00+02:00'
stateChangeReason:
- code: '0000'
text: Keine Änderung zum Auftrag
state: inProgress
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
CancelProductOrderStateChangeEvent_request:
description: Message example for CancelProductOrderStateChangeEvent event
value:
'@type': CancelProductOrderStateChangeEvent
eventId: 4899ae3f-36c5-434a-af2b-dd75f04511bb
eventTime: '2022-05-11T11:25:00+02:00'
eventType: CancelProductOrderStateChangeEvent
event:
cancelProductOrder:
'@type': CancelProductOrder
id: 2fd01b2b-9110-41ed-8efd-014d7e8ee158
href: https://api.example.org/tmf-api/productOrderingManagement/v5/cancelProductOrder/2fd01b2b-9110-41ed-8efd-014d7e8ee158
state: inProgress
stateChangeDate: '2022-05-11T11:25:00+02:00'
stateChangeReason:
- code: code
text: inProgress_Reason
requestPostedDate: '2022-05-11T11:25:00+02:00'
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-05-11T11:25:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
state: acknowledged
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
cancellationReason:
- code: '001'
text: I don't want this anymore.
RescheduleProductOrderStateChangeEvent_request:
description: Message example for RescheduleProductOrderStateChangeEvent event
value:
'@type': RescheduleProductOrderStateChangeEvent
eventId: 2a527438-228b-47d7-9b14-5cc7892e7b59
eventTime: '2022-07-20T10:00:00+02:00'
eventType: RescheduleProductOrderStateChangeEvent
event:
rescheduleProductOrder:
'@type': RescheduleProductOrder
id: 33359a1e-134f-4b0f-98a8-acc91af5bbee
href: https://api.example.org/tmf-api/productOrderingManagement/v5/rescheduleProductOrder/33359a1e-134f-4b0f-98a8-acc91af5bbee
state: inProgress
stateChangeDate: '2022-07-20T10:00:00+02:00'
stateChangeReason:
- code: code
text: inProgress_Reason
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
state: acknowledged
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
rescheduledRequestedCompletionDate: '2022-07-20T12:00:00+02:00'
rescheduleReason:
- code: '002'
text: I'm on vacation.
productOrderItem:
id: '1'
requestedTimeSlot:
'@type': TimeSlot
validFor:
startDateTime: '2022-07-20T08:00:00+02:00'
endDateTime: '2022-07-20T12:00:00+02:00'
RespondProviderChangeStateChangeEvent_request:
description: Message example for RespondProviderChangeStateChangeEvent event
value:
'@type': RespondProviderChangeStateChangeEvent
eventId: e25523f1-a75d-4e72-b05a-3d0d7dca5862
eventTime: '2022-05-11T10:36:00+02:00'
eventType: RespondProviderChangeStateChangeEvent
event:
respondProviderChange:
'@type': RespondProviderChange
id: 892cfa45-fca3-488d-8a7c-2883923f820e
href: https://api.example.org/tmf-api/productOrderingManagement/v5/respondProviderChange/892cfa45-fca3-488d-8a7c-2883923f820e
state: inProgress
stateChangeDate: '2022-05-11T10:36:00+02:00'
stateChangeReason:
- code: code
text: inProgress_Reason
requestPostedDate: '2022-05-11T10:35:00+02:00'
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-05-11T10:35:00+02:00'
state: acknowledged
productOrder:
'@type': ProductOrderRef
id: 596d7fa0-981f-4b98-bcf5-e9b2955776f4
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/596d7fa0-981f-4b98-bcf5-e9b2955776f4
approval: true
CloseProductOrderStateChangeEvent_request:
description: Message example for CloseProductOrderStateChangeEvent event
value:
'@type': CloseProductOrderStateChangeEvent
eventId: e9555297-e3df-40dd-8dc3-f3e22669a1e7
eventTime: '2022-06-03T10:43:00+02:00'
eventType: CloseProductOrderStateChangeEvent
event:
closeProductOrder:
'@type': CloseProductOrder
id: a32b3fee-e1f0-4b3b-9fee-3907a8bdaac1
href: https://api.example.org/tmf-api/productOrderingManagement/v5/closeProductOrder/a32b3fee-e1f0-4b3b-9fee-3907a8bdaac1
state: rejected
stateChangeDate: '2022-06-03T10:43:00+02:00'
stateChangeReason:
- code: '9999'
text: tbd - zurueckgewiesen
requestPostedDate: '2022-06-03T10:41:00+02:00'
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-06-03T10:41:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
state: acknowledged
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
closeReason:
- code: '111'
text: TBD
AddProductOrderInformationStateChangeEvent_request:
description: Message example for AddProductOrderInformationStateChangeEvent event
value:
'@type': AddProductOrderInformationStateChangeEvent
eventId: 45a58469-bcc6-423c-9548-adc35eed90e0
eventTime: '2022-07-20T10:00:00+02:00'
eventType: AddProductOrderInformationStateChangeEvent
event:
addProductOrderInformation:
'@type': AddProductOrderInformation
id: d1317bb6-969a-4da7-be54-2d3760e48fee
href: https://api.example.org/tmf-api/productOrderingManagement/v5/addProductOrderInformation/d1317bb6-969a-4da7-be54-2d3760e48fee
state: inProgress
stateChangeDate: '2022-07-20T10:00:00+02:00'
stateChangeReason:
- code: code
text: inProgress_Reason
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
state: acknowledged
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
relatedParty:
'@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
note:
'@type': Note
text: zweimal klingeln
AmendProductOrderStateChangeEvent_request:
description: Message example for AmendProductOrderStateChangeEvent event
value:
'@type': AmendProductOrderStateChangeEvent
eventId: 53f7b076-e9d0-426a-a9ec-14e2c5876b63
eventTime: '2022-07-20T10:00:00+02:00'
eventType: AmendProductOrderStateChangeEvent
event:
amendProductOrder:
'@type': AmendProductOrder
id: f8d80f8c-7f70-4dca-aa25-a3321d50685d
href: https://api.example.org/tmf-api/productOrderingManagement/v5/amendProductOrder/f8d80f8c-7f70-4dca-aa25-a3321d50685d
state: inProgress
stateChangeDate: '2022-07-20T10:00:00+02:00'
stateChangeReason:
- code: code
text: inProgress_Reason
stateChangeHistory:
- '@type': StateChange
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
state: acknowledged
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
amendProductOrderItem:
- action: add
productOrderItem:
'@type': ProductOrderItem
id: '2'
action: add
productOffering:
'@type': ProductOffering
name: Bereitstellung Komfort
productOrderItemRelationship:
- '@type': OrderItemRelationship
id: '1'
relationshipType: dependsOn
CreateProductOrder_response:
description: Example of created ProductOrder
value:
'@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: ProductOrder
owner: DEU.VFD
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
contactMedium:
- '@type': PhoneContactMedium
contactType: fixed
phoneNumber: '+49221145155'
- '@type': PhoneContactMedium
contactType: mobile
phoneNumber: '+4917878878788'
familyName: Fischer
salutation: Herr
givenName: Alexander
state: acknowledged
stateChangeDate: '2022-05-11T10:30:00+02:00'
additionalOrderInformation:
campaignIdentifier: PromotionFiber
projectIdentifier: AB1234
couplingIdentifier: QW567
orderBindingId: AK45678
orderBindingNumberOfOrders: 5
hardwareIdType: OntSerialNumber
hardwareIdValue: '1234567890'
CancelProductOrder_response:
description: Example of created CancelProductOrder
value:
'@type': CancelProductOrder
id: 2fd01b2b-9110-41ed-8efd-014d7e8ee158
href: https://api.example.org/tmf-api/productOrderingManagement/v5/cancelProductOrder/2fd01b2b-9110-41ed-8efd-014d7e8ee158
state: acknowledged
stateChangeDate: '2022-05-11T11:25:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
requestPostedDate: '2022-05-11T11:25:00+02:00'
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
cancellationReason:
- code: '001'
text: I don't want this anymore.
RescheduleProductOrder_response:
description: Example of created RescheduleProductOrder
value:
'@type': RescheduleProductOrder
id: 33359a1e-134f-4b0f-98a8-acc91af5bbee
href: https://api.example.org/tmf-api/productOrderingManagement/v5/rescheduleProductOrder/33359a1e-134f-4b0f-98a8-acc91af5bbee
state: acknowledged
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
rescheduledRequestedCompletionDate: '2022-07-20T12:00:00+02:00'
rescheduleReason:
- code: '002'
text: I'm on vacation.
productOrderItem:
id: '1'
requestedTimeSlot:
'@type': TimeSlot
validFor:
startDateTime: '2022-07-20T08:00:00+02:00'
endDateTime: '2022-07-20T12:00:00+02:00'
CloseProductOrder_response:
description: Example of created CloseProductOrder
value:
'@type': CloseProductOrder
id: a32b3fee-e1f0-4b3b-9fee-3907a8bdaac1
href: https://api.example.org/tmf-api/productOrderingManagement/v5/closeProductOrder/a32b3fee-e1f0-4b3b-9fee-3907a8bdaac1
state: acknowledged
stateChangeDate: '2022-06-03T10:41:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
requestPostedDate: '2022-06-03T10:41:00+02:00'
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
closeReason:
- code: '111'
text: TBD
RespondProviderChange_response:
description: Example of created RespondProviderChange
value:
'@type': RespondProviderChange
id: 892cfa45-fca3-488d-8a7c-2883923f820e
href: https://api.example.org/tmf-api/productOrderingManagement/v5/respondProviderChange/892cfa45-fca3-488d-8a7c-2883923f820e
state: acknowledged
stateChangeDate: '2022-05-11T10:35:00+02:00'
requestPostedDate: '2022-05-11T10:35:00+02:00'
productOrder:
'@type': ProductOrderRef
id: 596d7fa0-981f-4b98-bcf5-e9b2955776f4
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/596d7fa0-981f-4b98-bcf5-e9b2955776f4
approval: true
AddProductOrderInformation_response:
description: Example of created AddProductOrderInformation
value:
'@type': AddProductOrderInformation
id: d1317bb6-969a-4da7-be54-2d3760e48fee
href: https://api.example.org/tmf-api/productOrderingManagement/v5/addProductOrderInformation/d1317bb6-969a-4da7-be54-2d3760e48fee
state: acknowledged
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
relatedParty:
'@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
note:
'@type': Note
text: zweimal klingeln
AmendProductOrder_response:
description: Example of created AmendProductOrder
value:
'@type': AmendProductOrder
id: f8d80f8c-7f70-4dca-aa25-a3321d50685d
href: https://api.example.org/tmf-api/productOrderingManagement/v5/amendProductOrder/f8d80f8c-7f70-4dca-aa25-a3321d50685d
state: acknowledged
stateChangeDate: '2022-07-20T09:00:00+02:00'
stateChangeReason:
- code: code
text: acknowledged_Reason
productOrder:
'@type': ProductOrderRef
id: 388a4963-f168-4603-99e8-477200099d91
href: https://api.example.org/tmf-api/productOrderingManagement/v5/productOrder/388a4963-f168-4603-99e8-477200099d91
amendProductOrderItem:
- action: add
productOrderItem:
'@type': ProductOrderItem
id: '2'
action: add
productOffering:
'@type': ProductOffering
name: Bereitstellung Komfort
productOrderItemRelationship:
- '@type': OrderItemRelationship
id: '1'
relationshipType: dependsOn
requestBodies:
ProductOrder_FVO:
description: The ProductOrder to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrder_FVO'
examples:
CreateProductOrder:
$ref: '#/components/examples/CreateProductOrder_request'
required: true
CancelProductOrder_FVO:
description: The CancelProductOrder to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelProductOrder_FVO'
examples:
CreateCancelProductOrder:
$ref: '#/components/examples/CreateCancelProductOrder_request'
required: true
RescheduleProductOrder_FVO:
description: The RescheduleProductOrder to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RescheduleProductOrder_FVO'
examples:
CreateRescheduleProductOrder:
$ref: '#/components/examples/CreateRescheduleProductOrder_request'
required: true
RespondProviderChange_FVO:
description: The RespondProviderChange to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RespondProviderChange_FVO'
examples:
CreateRescheduleProductOrder:
$ref: '#/components/examples/CreateRespondProviderChange_request'
required: true
CloseProductOrder_FVO:
description: The CloseProductOrder to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CloseProductOrder_FVO'
examples:
CreateCloseProductOrder:
$ref: '#/components/examples/CreateCloseProductOrder_request'
required: true
AddProductOrderInformation_FVO:
description: The AddProductOrderInformation to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AddProductOrderInformation_FVO'
examples:
CreateAddProductOrderInformation:
$ref: '#/components/examples/CreateAddProductOrderInformation_request'
required: true
AmendProductOrder_FVO:
description: The AmendProductOrder to be created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AmendProductOrder_FVO'
examples:
CreateAmendProductOrder:
$ref: '#/components/examples/CreateAmendProductOrder_request'
required: true
ProductOrderCreateEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrderCreateEvent'
ProductOrderAttributeValueChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrderAttributeValueChangeEvent'
examples:
ProductOrderAttributeValueChangeEvent:
$ref: '#/components/examples/ProductOrderAttributeValueChangeEvent_request'
ProductOrderStateChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrderStateChangeEvent'
examples:
ProductOrderStateChangeEvent:
$ref: '#/components/examples/ProductOrderStateChangeEvent_request'
ProductOrderMilestoneEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrderMilestoneEvent'
examples:
ProductOrderMilestoneEvent:
$ref: '#/components/examples/ProductOrderMilestoneEvent_request'
ProductOrderJeopardyAlertEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrderJeopardyAlertEvent'
examples:
ProductOrderJeopardyAlertEvent:
$ref: '#/components/examples/ProductOrderJeopardyAlertEvent_request'
ProductOrderInformationRequiredEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrderInformationRequiredEvent'
examples:
ProductOrderInformationRequiredEvent:
$ref: '#/components/examples/ProductOrderInformationRequiredEvent_request'
CancelProductOrderStateChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelProductOrderStateChangeEvent'
examples:
CancelProductOrderStateChangeEvent:
$ref: '#/components/examples/CancelProductOrderStateChangeEvent_request'
RescheduleProductOrderStateChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RescheduleProductOrderStateChangeEvent'
examples:
RescheduleProductOrderStateChangeEvent:
$ref: '#/components/examples/RescheduleProductOrderStateChangeEvent_request'
RespondProviderChangeStateChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RespondProviderChangeStateChangeEvent'
examples:
RespondProviderChangeStateChangeEvent:
$ref: '#/components/examples/RespondProviderChangeStateChangeEvent_request'
CloseProductOrderStateChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CloseProductOrderStateChangeEvent'
examples:
CloseProductOrderStateChangeEvent:
$ref: '#/components/examples/CloseProductOrderStateChangeEvent_request'
AddProductOrderInformationStateChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AddProductOrderInformationStateChangeEvent'
examples:
AddProductOrderInformationStateChangeEvent:
$ref: '#/components/examples/AddProductOrderInformationStateChangeEvent_request'
AmendProductOrderStateChangeEvent:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AmendProductOrderStateChangeEvent'
examples:
AmendProductOrderStateChangeEvent:
$ref: '#/components/examples/AmendProductOrderStateChangeEvent_request'
Hub_FVO:
description: Data containing the callback endpoint to deliver the information
content:
application/json:
schema:
$ref: '#/components/schemas/Hub_FVO'
required: true
responses:
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'405':
description: Method Not allowed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'406':
description: Not Acceptable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'429':
description: Too Many Requests
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ErrorMessage'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'501':
description: Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
200ProductOrderArray:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProductOrder'
200ProductOrder:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/CreateProductOrder_response'
201ProductOrder:
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/CreateProductOrder_response'
200CancelProductOrderArray:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CancelProductOrder'
200CancelProductOrder:
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/CancelProductOrder_response'
201CancelProductOrder:
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/CancelProductOrder_response'
200RescheduleProductOrderArray:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RescheduleProductOrder'
201RescheduleProductOrder:
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RescheduleProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/RescheduleProductOrder_response'
200RescheduleProductOrder:
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RescheduleProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/RescheduleProductOrder_response'
200CloseProductOrderArray:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CloseProductOrder'
200CloseProductOrder:
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CloseProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/CloseProductOrder_response'
201CloseProductOrder:
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CloseProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/CloseProductOrder_response'
200RespondProviderChangeArray:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RespondProviderChange'
200RespondProviderChange:
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RespondProviderChange'
examples:
retrieveProductOrder:
$ref: '#/components/examples/RespondProviderChange_response'
201RespondProviderChange:
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/RespondProviderChange'
examples:
retrieveProductOrder:
$ref: '#/components/examples/RespondProviderChange_response'
200AddProductOrderInformationArray:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AddProductOrderInformation'
200AddProductOrderInformation:
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AddProductOrderInformation'
examples:
retrieveProductOrder:
$ref: '#/components/examples/AddProductOrderInformation_response'
201AddProductOrderInformation:
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AddProductOrderInformation'
examples:
retrieveProductOrder:
$ref: '#/components/examples/AddProductOrderInformation_response'
200AmendProductOrderArray:
description: Success
headers:
X-Total-Count:
$ref: '#/components/headers/X-Total-Count'
X-Result-Count:
$ref: '#/components/headers/X-Result-Count'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AmendProductOrder'
200AmendProductOrder:
description: Success
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AmendProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/AmendProductOrder_response'
201AmendProductOrder:
description: Created
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/AmendProductOrder'
examples:
retrieveProductOrder:
$ref: '#/components/examples/AmendProductOrder_response'
DefaultError:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
201Hub:
description: Notified
content:
application/json:
schema:
$ref: '#/components/schemas/Hub'
204Deleted:
description: Deleted
204Notified:
description: Notified
securitySchemes:
OAuth2ClientCredentials:
type: oauth2
description: See https://oauth.net/2/grant-types/client-credentials/
flows:
clientCredentials:
tokenUrl: https://auth.example.org/oauth2/token/
scopes:
read: read objects
write: write objects
parameters:
Fields:
name: fields
in: query
description: Comma-separated properties to be provided in response
schema:
type: string
Offset:
name: offset
in: query
description: Requested index for start of resources to be provided in response
schema:
type: integer
Limit:
name: limit
in: query
description: Requested number of resources to be provided in response
schema:
type: integer
Id:
name: id
required: true
schema:
type: string
in: path
description: Identifier of the API Resource
headers:
X-Total-Count:
description: Total number of items matching criteria
schema:
type: integer
X-Result-Count:
description: Actual number of items returned in the response body
schema:
type: integer