openapi: 3.0.1 info: title: Product Ordering Management description: > **This file forms part of Mplify 123.1** This API implements Business Requirements described in MEF 57.2 and Mplify 57.2.1 Product Order Management allows the Buyer to request the Seller to initiate and complete the fulfillment process of an installation of a Product Offering, an update to an existing Product, or a disconnect of an existing Product at the address defined by the Buyer. List of supported Use Cases: - Create Product Order - Update Product Order by Product Order Identifier - Retrieve List of Product Orders - Retrieve Product Order by Product Order Identifier - Modify Product Order Item Requested Delivery Date - Retrieve Modify Product Order Item Requested Delivery Date List - Retrieve Modify Product Order Item Requested Delivery Date by Identifier - Cancel Product Order - Retrieve List of Cancel Product Orders - Retrieve Cancel Product Order Request by Cancel Product Order Identifier - Respond to Charge - Retrieve List of Charges - Retrieve Charge by Charge Identifier - Register for Notifications Copyright 2025 Mplify Alliance and its contributors This file includes content based on the TM Forum Product Order API (TMF622 v4.0.0) available at https://github.com/tmforum-apis/TMF622_ProductOrder, which is licensed by the TM Forum under the Apache License version 2.0. Such content has been modified by the Mplify Alliance and its contributors. version: 11.0.1 servers: - url: 'https://{serverBase}/mefApi/sonata/productOrderingManagement/v11/' variables: serverBase: description: The base of Seller's URL. default: mplify.net tags: - name: productOrder - name: cancelProductOrder - name: charge - name: modifyProductOrderItemRequestedDeliveryDate - name: events subscription paths: /productOrder: get: tags: - productOrder summary: Lists or finds ProductOrder objects description: This operation lists or finds ProductOrder entities operationId: listProductOrder parameters: - name: state in: query description: State of the Product Order required: false schema: type: string enum: - acknowledged - assessingCancellation - cancelled - completed - failed - held.assessingCharge - inProgress - partial - pending.assessingModification - pendingCancellation - rejected - name: externalId in: query description: >- A number that uniquely identifies an order within the Buyer's enterprise. required: false schema: type: string - name: projectId in: query description: >- An identifier that is used to group Product Orders that represent a unit of functionality that is important to a Buyer. required: false schema: type: string - name: orderDate.gt in: query description: Date when the order was created greater than required: false schema: type: string format: date-time - name: orderDate.lt in: query description: Date when the order was created lesser than required: false schema: type: string format: date-time - name: completionDate.gt in: query description: Effective completion date greater than required: false schema: type: string format: date-time - name: completionDate.lt in: query description: Effective completion date lesser than required: false schema: type: string format: date-time - name: itemRequestedCompletionDate.gt in: query description: >- This is requested date to get this Product Order Item completed greater than required: false schema: type: string format: date-time - name: itemRequestedCompletionDate.lt in: query description: >- This is requested date to get this Product Order Item completed lesser than required: false schema: type: string format: date-time - name: itemExpectedCompletionDate.gt in: query description: >- Seller planned completion date of the Product Order Item, greater than required: false schema: type: string format: date-time - name: itemExpectedCompletionDate.lt in: query description: >- Seller planned completion date of the Product Order Item, lesser than required: false schema: type: string format: date-time - name: cancellationDate.gt in: query description: order cancellation date greater than required: false schema: type: string format: date-time - name: cancellationDate.lt in: query description: order cancellation date lesser than required: false schema: type: string format: date-time - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when the responding entity represents more than one Seller. required: false schema: type: string - name: offset in: query description: >- Requested index for start of item to be provided in response requested by the client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client required: false schema: type: integer format: int32 responses: '200': description: 'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)' headers: X-Pagination-Throttled: description: > Used to indicate that result page was throttled to maximum possible size and there are additional results that can be fetched schema: type: boolean X-Total-Count: description: > The total number of matching items. E.g. if there are 50 matching items in total, but the request has offset=10 and limit=10, then the X-Total-Count is 50. schema: type: integer X-Result-Count: description: The number of items included in the response schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/ProductOrder_Find' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' post: tags: - productOrder summary: Creates a ProductOrder description: This operation creates a ProductOrder entity. operationId: createProductOrder parameters: - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when the responding entity represents more than one Seller. required: false schema: type: string requestBody: description: The ProductOrder to be created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ProductOrder_Create' required: true responses: '201': description: 'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)' content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ProductOrder' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/productOrder/{id}': get: tags: - productOrder summary: Retrieves a ProductOrder by ID description: This operation retrieves a ProductOrder entity. operationId: retrieveProductOrder parameters: - name: id in: path description: Identifier of the ProductOrder required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string responses: '200': description: 'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)' content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ProductOrder' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' patch: tags: - productOrder summary: Updates partially a ProductOrder description: This operation updates partially a ProductOrder entity. operationId: patchProductOrder parameters: - name: id in: path description: Identifier of the ProductOrder required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string requestBody: description: The ProductOrder to be updated content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ProductOrder_Update' required: true responses: '200': description: 'Updated (https://tools.ietf.org/html/rfc7231#section-6.3.1)' content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ProductOrder' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error409' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' /cancelProductOrder: get: tags: - cancelProductOrder summary: Lists or finds CancelProductOrder objects description: This operation lists or finds CancelProductOrder entities operationId: listCancelProductOrder parameters: - name: productOrderId in: query required: false schema: type: string - name: state in: query required: false schema: type: string enum: - acknowledged - done - done.declined - inProgress.assessingCharge - rejected - name: cancellationReasonType in: query description: >- Identifies the type of reason, Technical or Commercial, for the Cancellation request required: false schema: type: string enum: - technical - commercial - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string - name: offset in: query description: >- Requested index for start of item to be provided in response requested by client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client required: false schema: type: integer format: int32 responses: '200': description: Success headers: X-Pagination-Throttled: description: > Used to indicate that result page was throttled to maximum possible size and there are additional results that can be fetched schema: type: boolean X-Total-Count: description: > The total number of matching items. E.g. if there are 50 matching items in total, but the request has offset=10 and limit=10, then the X-Total-Count is 50. schema: type: integer X-Result-Count: description: The number of items included in the response schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/CancelProductOrder_Find' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' post: tags: - cancelProductOrder summary: Creates a CancelProductOrder description: This operation creates a CancelProductOrder entity. operationId: createCancelProductOrder parameters: - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string requestBody: description: The CancelProductOrder to be created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CancelProductOrder_Create' required: true responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CancelProductOrder' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' '/cancelProductOrder/{id}': get: tags: - cancelProductOrder summary: Retrieves a CancelProductOrder by ID description: This operation retrieves a CancelProductOrder entity. operationId: retrieveCancelProductOrder parameters: - name: id in: path description: Identifier of the CancelProductOrder required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CancelProductOrder' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' /charge: get: tags: - charge summary: Lists or finds Charge objects description: This operation lists or finds Charge entities operationId: listCharge parameters: - name: productOrderId in: query description: id of the Product Order this Charge relates to. required: false schema: type: string - name: productOrderItemId in: query description: id of the Product Order Item this Charge relates to. required: false schema: type: string - name: creationDate.gt in: query description: Date that the Charge was created by the Seller (greater than) required: false schema: type: string format: date-time - name: creationDate.lt in: query description: Date that the Charge was created by the Seller. (greater than) required: false schema: type: string format: date-time - name: responseDueDate.gt in: query description: >- The date that the Buyer must respond to the Seller's Charge. If there is no response received by the Due Date the Seller will treat all charges as declined (greater than) required: false schema: type: string format: date-time - name: responseDueDate.lt in: query description: >- The date that the Buyer must respond to the Seller's Charge. If there is no response received by the Due Date the Seller will treat all charges as declined (greater than) required: false schema: type: string format: date-time - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string - name: offset in: query description: >- Requested index for start of item to be provided in response requested by client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client required: false schema: type: integer format: int32 responses: '200': description: Success headers: X-Pagination-Throttled: description: > Used to indicate that result page was throttled to maximum possible size and there are additional results that can be fetched schema: type: boolean X-Total-Count: description: > The total number of matching items. E.g. if there are 50 matching items in total, but the request has offset=10 and limit=10, then the X-Total-Count is 50. schema: type: integer X-Result-Count: description: The number of items included in the response schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/MEFProductOrderCharge_Find' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' '/charge/{id}': get: tags: - charge summary: Retrieves a Charge by ID description: This operation retrieves a Charge entity. operationId: retrieveCharge parameters: - name: id in: path description: Identifier of the Charge required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/MEFProductOrderCharge' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' patch: tags: - charge summary: Updates partially a Charge description: This operation updates partially a Charge entity. operationId: patchCharge parameters: - name: id in: path description: Identifier of the Charge required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string requestBody: description: The Charge to be updated content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/MEFProductOrderCharge_Update' required: true responses: '200': description: 'Updated (https://tools.ietf.org/html/rfc7231#section-6.3.1)' content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/MEFProductOrderCharge' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error409' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' /hub: post: tags: - events subscription summary: Register a listener description: >- Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics. operationId: registerListener parameters: - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string requestBody: description: Data containing the callback endpoint to deliver the information content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/EventSubscriptionInput' required: true responses: '201': description: Subscribed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/EventSubscription' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' '/hub/{id}': get: tags: - events subscription summary: Retrieves a Hub by ID description: This operation retrieves a hub entity. operationId: retrieveHub parameters: - name: id in: path description: Identifier of the Hub required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/EventSubscription' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' delete: tags: - events subscription summary: Unregister a listener description: >- Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics. operationId: unregisterListener parameters: - name: id in: path description: The id of the registered listener required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string responses: '204': description: Deleted '400': description: Bad request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' /modifyProductOrderItemRequestedDeliveryDate: get: tags: - modifyProductOrderItemRequestedDeliveryDate summary: Lists or finds ModifyProductOrderItemRequestedDeliveryDate objects description: >- This operation lists or finds ModifyProductOrderItemRequestedDeliveryDate entities operationId: listModifyProductOrderItemRequestedDeliveryDate parameters: - name: productOrderId in: query required: false schema: type: string - name: state in: query required: false schema: type: string enum: - acknowledged - done - done.declined - inProgress.assessingCharge - rejected - name: expediteIndicator in: query description: Indicates that expedited treatment is requested. required: false schema: type: boolean - name: requestedCompletionDate.gt in: query description: >- Identifies the Buyer's desired due date (requested delivery date) - greater than required: false schema: type: string format: date-time - name: requestedCompletionDate.lt in: query description: >- Identifies the Buyer's desired due date (requested delivery date) - lesser than required: false schema: type: string format: date-time - name: creationDate.gt in: query description: >- The date on which the Seller assigned the Modify Product Order Item Requested Delivery Data Identifier - greater than required: false schema: type: string format: date-time - name: creationDate.lt in: query description: >- The date on which the Seller assigned the Modify Product Order Item Requested Delivery Data Identifier - lesser than required: false schema: type: string format: date-time - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string - name: offset in: query description: >- Requested index for start of item to be provided in response requested by client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client required: false schema: type: integer format: int32 responses: '200': description: Success headers: X-Pagination-Throttled: description: > Used to indicate that result page was throttled to maximum possible size and there are additional results that can be fetched schema: type: boolean X-Total-Count: description: > The total number of matching items. E.g. if there are 50 matching items in total, but the request has offset=10 and limit=10, then the X-Total-Count is 50. schema: type: integer X-Result-Count: description: The number of items included in the response schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: >- #/components/schemas/MEFModifyProductOrderItemRequestedDeliveryDate '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' post: tags: - modifyProductOrderItemRequestedDeliveryDate summary: Creates a ModifyProductOrderItemRequestedDeliveryDate description: >- This operation creates a ModifyProductOrderItemRequestedDeliveryDate entity. operationId: createModifyProductOrderItemRequestedDeliveryDate parameters: - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string requestBody: description: The ModifyProductOrderItemRequestedDeliveryDate to be created content: application/json;charset=utf-8: schema: $ref: >- #/components/schemas/MEFModifyProductOrderItemRequestedDeliveryDate_Create required: true responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: >- #/components/schemas/MEFModifyProductOrderItemRequestedDeliveryDate '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' '/modifyProductOrderItemRequestedDeliveryDate/{id}': get: tags: - modifyProductOrderItemRequestedDeliveryDate summary: Retrieves a ModifyProductOrderItemRequestedDeliveryDate by ID description: >- This operation retrieves a ModifyProductOrderItemRequestedDeliveryDate entity. operationId: retrieveModifyProductOrderItemRequestedDeliveryDate parameters: - name: id in: path description: Identifier of the ModifyProductOrderItemRequestedDeliveryDate required: true schema: type: string - name: buyerId in: query description: >- The unique identifier of the organization that is acting as the a Buyer. MUST be specified in the request only when the requester represents more than one Buyer. required: false schema: type: string - name: sellerId in: query description: >- The unique identifier of the organization that is acting as the Seller. MUST be specified in the request only when responding entity represents more than one Seller. required: false schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: >- #/components/schemas/MEFModifyProductOrderItemRequestedDeliveryDate '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' components: schemas: CancelProductOrder: description: Request for cancellation an existing product order type: object properties: cancellationDeniedReason: description: >- If the Cancel Product Order request is denied by the Seller, the Seller provides a reason to the Buyer using this attribute. type: string cancellationReason: description: >- An optional attribute that allows the Buyer to provide additional detail to the Seller on their reason for cancelling the Product Order type: string cancellationReasonType: description: >- Identifies the type of reason, Technical or Commercial, for the Cancellation request $ref: '#/components/schemas/CancellationReasonType' charge: description: >- The Charge Identifier of any charges that are related to the Cancel Product Order. $ref: '#/components/schemas/MEFProductOrderChargeRef' href: description: > Hyperlink to the cancellation request. Hyperlink MAY be used by the Seller in responses Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request type: string id: description: >- Unique identifier for the Cancel Product Order that is generated by the Seller when the Cancel Product Order request `state` is set to `acknowledged` type: string productOrder: description: A reference to a Product Order that the Buyer wishes to cancel. $ref: '#/components/schemas/MEFProductOrderRef' relatedContactInformation: description: >- Contact information of an individual or organization playing a role for this Cancel Product Order. The rule for mapping a represented attribute value to a `role` is to use the _lowerCamelCase_ pattern e.g. - Cancel Product Order Contact: `role=cancelProductOrderContact` - Cancel Product Order Seller Contact: `role=cancelProductOrderSellerContact` type: array items: $ref: '#/components/schemas/RelatedContactInformation' state: description: >- The states as defined by TMF622 and extended to meet Mplify requirements. These states are used to convey the Cancel Product Order status during the lifecycle of the Product Order. $ref: '#/components/schemas/MEFChargeableTaskStateType' required: - id - productOrder - relatedContactInformation - state CancelProductOrder_Create: description: |- Request for cancellation an existing product order Skipped properties: id,href,state,effectiveCancellationDate type: object properties: cancellationReason: description: >- An optional attribute that allows the Buyer to provide additional detail to the Seller on their reason for cancelling the Product Order type: string cancellationReasonType: description: >- Identifies the type of reason, Technical or Commercial, for the Cancellation request $ref: '#/components/schemas/CancellationReasonType' productOrder: description: A reference to a Product Order that the buyer wishes to cancel. $ref: '#/components/schemas/MEFProductOrderRef' relatedContactInformation: description: >- Contact information of an individual or organization playing a role for this Cancel Product Order. The rule for mapping a represented attribute value to a `role` is to use the _lowerCamelCase_ pattern e.g. - Cancel Product Order Contact: `role=cancelProductOrderContact` type: array minItems: 1 items: $ref: '#/components/schemas/RelatedContactInformation' required: - productOrder - relatedContactInformation CancelProductOrder_Find: description: A response to a Buyer's get List of Cancel Product Orders type: object properties: cancellationReasonType: description: >- Identifies the type of reason, Technical or Commercial, for the Cancellation request $ref: '#/components/schemas/CancellationReasonType' id: description: >- Unique identifier for the Cancel Product Order that is generated by the Seller when the Cancel Product Order request `state` is set to `acknowledged` type: string productOrder: description: A reference to a Product Order that the Buyer wishes to cancel. $ref: '#/components/schemas/MEFProductOrderRef' state: description: >- The states as defined by TMF622 and extended to meet Mplify requirements. These states are used to convey the Cancel Product Order status during the lifecycle of the Product Order. $ref: '#/components/schemas/MEFChargeableTaskStateType' required: - cancellationReasonType - id - productOrder - state CancellationReasonType: description: >- Identifies the type of reason, Technical or Commercial, for the Cancellation request type: string enum: - technical - commercial ContactInformation: description: >- Contact data for a person or organization that is involved in the product offering qualification. In a given context it is always specified by the Seller (e.g. Seller Contact Information) or by the Buyer. type: object properties: number: description: Phone number type: string emailAddress: description: Email address type: string postalAddress: description: >- Identifies the postal address of the person or office to be contacted. $ref: '#/components/schemas/FieldedAddressRepresentation' organization: description: The organization or company that the contact belongs to type: string name: description: Name of the contact type: string numberExtension: description: Phone number extension type: string required: - emailAddress - name - number Duration: description: 'A Duration in a given unit of time e.g. 3 hours, or 5 days.' type: object properties: amount: description: 'Duration (number of seconds, minutes, hours, etc.)' type: integer minimum: 0 units: description: Time unit enumerated $ref: '#/components/schemas/TimeUnit' required: - amount - units Error: description: > Standard Class used to describe API response error Not intended to be used directly. The `code` in the HTTP header is used as a discriminator for the type of error returned in runtime. type: object properties: message: description: >- Text that provides mode details and corrective actions related to the error. This can be shown to a client user. type: string reason: description: >- Text that explains the reason for the error. This can be shown to a client user. type: string maxLength: 255 referenceError: description: URL pointing to documentation describing the error type: string format: uri required: - reason Error400: description: 'Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1)' allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: >- One of the following error codes: - missingQueryParameter: The URI is missing a required query-string parameter - missingQueryValue: The URI is missing a required query-string parameter value - invalidQuery: The query section of the URI is invalid. - invalidBody: The request has an invalid body $ref: '#/components/schemas/Error400Code' required: - code Error400Code: description: >- One of the following error codes: - missingQueryParameter: The URI is missing a required query-string parameter - missingQueryValue: The URI is missing a required query-string parameter value - invalidQuery: The query section of the URI is invalid. - invalidBody: The request has an invalid body type: string enum: - missingQueryParameter - missingQueryValue - invalidQuery - invalidBody Error401: description: 'Unauthorized. (https://tools.ietf.org/html/rfc7235#section-3.1)' allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: >- One of the following error codes: - missingCredentials: No credentials provided. - invalidCredentials: Provided credentials are invalid or expired $ref: '#/components/schemas/Error401Code' required: - code Error401Code: description: |- One of the following error codes: - missingCredentials: No credentials provided. - invalidCredentials: Provided credentials are invalid or expired type: string enum: - missingCredentials - invalidCredentials Error403: description: >- Forbidden. This code indicates that the server understood the request but refuses to authorize it. (https://tools.ietf.org/html/rfc7231#section-6.5.3) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: |- This code indicates that the server understood the request but refuses to authorize it because of one of the following error codes: - accessDenied: Access denied - forbiddenRequester: Forbidden requester - tooManyUsers: Too many users $ref: '#/components/schemas/Error403Code' required: - code Error403Code: description: |- This code indicates that the server understood the request but refuses to authorize it because of one of the following error codes: - accessDenied: Access denied - forbiddenRequester: Forbidden requester - tooManyUsers: Too many users type: string enum: - accessDenied - forbiddenRequester - tooManyUsers Error404: description: >- Resource for the requested path not found. (https://tools.ietf.org/html/rfc7231#section-6.5.4) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: >- The following error code: - notFound: A current representation for the target resource not found type: string enum: - notFound required: - code Error409: description: 'Conflict (https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.8)' allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: >- The following error code: - conflict: The client has provided a value whose semantics are not appropriate for the property. type: string enum: - conflict required: - code Error422: description: >- Unprocessable entity due to a business validation problem. (https://tools.ietf.org/html/rfc4918#section-11.2) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: | One of the following error codes: - missingProperty: The property the Seller has expected is not present in the payload - invalidValue: The property has an incorrect value - invalidFormat: The property value does not comply with the expected value format - referenceNotFound: The object referenced by the property cannot be identified in the Seller system - unexpectedProperty: Additional property, not expected by the Seller has been provided - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold. - otherIssue: Other problem was identified (detailed information provided in a reason) $ref: '#/components/schemas/Error422Code' propertyPath: description: > A pointer to a particular property of the payload that caused the validation issue. It is highly recommended that this property should be used. Defined using JavaScript Object Notation (JSON) Pointer (https://tools.ietf.org/html/rfc6901). type: string required: - code Error422Code: description: | One of the following error codes: - missingProperty: The property the Seller has expected is not present in the payload - invalidValue: The property has an incorrect value - invalidFormat: The property value does not comply with the expected value format - referenceNotFound: The object referenced by the property cannot be identified in the Seller system - unexpectedProperty: Additional property, not expected by the Seller has been provided - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold. - otherIssue: Other problem was identified (detailed information provided in a reason) type: string enum: - missingProperty - invalidValue - invalidFormat - referenceNotFound - unexpectedProperty - tooManyRecords - otherIssue Error500: description: >- Internal Server Error. (https://tools.ietf.org/html/rfc7231#section-6.6.1) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: >- The following error code: - internalError: Internal server error - the server encountered an unexpected condition that prevented it from fulfilling the request. type: string enum: - internalError required: - code Error501: description: >- Not Implemented. Used in case Seller is not supporting an optional operation (https://tools.ietf.org/html/rfc7231#section-6.6.2) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: |- The following error code: - notImplemented: Method not supported by the server type: string enum: - notImplemented required: - code EventSubscription: description: | This resource is used to respond to notification subscriptions. type: object properties: callback: description: >- The value provided by the Buyer in `EventSubscriptionInput` during notification registration type: string id: description: >- An identifier of this Event Subscription assigned by the Seller when a resource is created. type: string query: description: >- The value provided by the Buyer in `EventSubscriptionInput` during notification registration type: string required: - callback - id EventSubscriptionInput: description: This class is used to register for Notifications. type: object properties: callback: description: >- This callback value must be set to *host* property from Buyer Product Order Notification API (productOrderNotification.api.yaml). This property is appended with the base path and notification resource path specified in that API to construct an URL to which notification is sent. E.g. for "callback": `https://buyer.mef.com/listenerEndpoint``, the product order state change event notification will be sent to: `https://buyer.mef.com/listenerEndpoint/mefApi/sonata/productOrderingNotification/v11/listener/productOrderStateChangeEvent` type: string query: description: >- This attribute is used to define to which type of events to register to. Example: "query":"eventType = productOrderStateChangeEvent". To subscribe for more than one event type, put the values separated by comma: `eventType=productOrderStateChangeEvent,productOrderItemStateChangeEvent`. The possible values are enumerated by 'ProductOrderEventType', `CancelProductOrderEventType` in productOrderNotification.api.yaml. An empty query is treated as specifying no filters - ending in subscription for all event types. type: string required: - callback FieldedAddressRepresentation: description: >- A type of Address that has a discrete field and value for each type of boundary or identifier down to the lowest level of detail. For example "street number" is one field, "street name" is another field, etc. type: object properties: streetNr: description: >- Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses. type: string streetNrSuffix: description: >- The first street number suffix (in a street number range) or the suffix for the street number if there is no range type: string streetNrLast: description: Last number in a range of street numbers allocated to an Address type: string streetNrLastSuffix: description: Last street number suffix for a ranged Address type: string streetPreDirection: description: The direction of the street that appears before the Street Name type: string streetName: description: Name of the street or other street type type: string streetType: description: >- The type of street (e.g., alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf) type: string streetPostDirection: description: >- A modifier denoting a relative direction that appears after the Street Name. type: string poBox: description: >- Number identifying a specific location in a post office. type: string locality: description: >- An area of defined or undefined boundaries within a local authority or other legislatively defined area. type: string city: description: City in which the Address is located. type: string postcode: description: >- A descriptor for a postal delivery area used to speed and simplify the delivery of mail (also known as zip code) type: string postcodeExtension: description: >- The extension used on a postal code. Note: there are different use codes for this attribute depending upon the country. type: string stateOrProvince: description: The State or Province in which the Address is located. type: string countryCode: description: >- Country in which the Address is located, defined using two characters as defined in ISO 3166 type: string minLength: 2 maxLength: 2 subUnit: description: >- The Sub Unit represented as a list. This is a list to allow complex sub-unit information such as SUITE 42 ROOM A type: array items: $ref: '#/components/schemas/SubUnit' buildingName: description: > The well-known name of a building that is located at this Address (e.g., where there is one Address for a campus). type: string privateStreetNumber: description: Street number on a private street within the Address. type: string privateStreetName: description: >- Private streets internal to a property (e.g., a university) may have internal names that are not recorded by the land title office. type: string language: description: >- The language in which the address is expressed. It MUST use the ISO 639:2023 two letter code 639:2023 type: string minLength: 2 maxLength: 2 FormattedAddressRepresentation: description: 'A freeform text representation agreed to by the Buyer and Seller. ' type: object properties: formattedAddress: description: >- A formatted Address Representation that contains a non-fielded address. type: string language: description: >- The language in which the address is expressed. Based on ISO 639:2023 type: string minLength: 2 maxLength: 2 required: - formattedAddress GeographicAddressRef: description: > A reference to a Geographic Address resource available through Address Validation API. type: object properties: href: description: > Hyperlink to the referenced Address. Hyperlink MAY be used by the Seller in responses. Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request. type: string id: description: >- Identifier of the referenced Geographic Address. This identifier is assigned during a successful address validation request (Geographic Address Management API) type: string '@type': description: Used to unambiguously designate the class type when using `oneOf` type: string enum: - GeographicAddressRef required: - '@type' - id GeographicAddress_Query: description: >- A list of representations being a subset of Geographic Address entity. This is to be used when providing a list of representations to validate or search for a Geographic Address type: object properties: fieldedAddressRepresentation: description: A list of Fielded Address representations type: array items: $ref: '#/components/schemas/FieldedAddressRepresentation' formattedAddressRepresentation: description: A list of Formatted Address representations type: array items: $ref: '#/components/schemas/FormattedAddressRepresentation' geographicPointRepresentation: description: A list of Geographic Point Address representations type: array items: $ref: '#/components/schemas/GeographicPointRepresentation' labelRepresentation: description: A list of Label Address representations type: array items: $ref: '#/components/schemas/LabelRepresentation' '@type': description: Used to unambiguously designate the class type when using `oneOf` type: string enum: - GeographicAddress_Query required: - '@type' minProperties: 2 GeographicPointRepresentation: description: > A GeographicPointRepresentation defines a geographic point through coordinates. type: object properties: spatialRef: description: >- The spatial reference system used to determine the coordinates. The system used and the value of this field are to be agreed during the onboarding process. type: string latitude: description: The latitude expressed in the format specified by the `spacialRef` type: string longitude: description: The longitude expressed in the format specified by the `spacialRef` type: string elevation: description: The elevation expressed in the format specified by the `spacialRef` type: string required: - latitude - longitude - spatialRef GeographicSiteRef: description: > A reference to a Geographic Site resource available through Service Site API type: object properties: href: description: > Hyperlink to the referenced Site. Hyperlink MAY be used by the Seller in responses. Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request. type: string id: description: Identifier of the referenced Geographic Site. type: string '@type': description: Used to unambiguously designate the class type when using `oneOf` type: string enum: - GeographicSiteRef required: - '@type' - id LabelRepresentation: description: >- A unique identifier controlled by a generally accepted independent administrative authority that specifies a fixed geographical location. type: object properties: label: description: >- The unique reference to an Geographic Address assigned by the Administrative Authority. type: string administrativeAuthority: description: >- The organization or standard from the organization that administers this Geographic Address Label ensuring it is unique within the Administrative Authority. type: string language: description: 'The language in which the label is expressed. Based on ISO 639:2023' type: string minLength: 2 maxLength: 2 required: - administrativeAuthority - label MEFAcceptedRejectedType: description: Indicator of acceptance type: string enum: - accepted - rejected MEFBillingAccountRef: description: A reference to the Buyer's Billing Account type: object properties: id: description: >- Identifies the buyer's billing account to which the recurring and non-recurring charges for this order or order item will be billed. Required if the Buyer has more than one Billing Account with the Seller and for all new Product Orders. type: string required: - id MEFBuyerSellerType: description: Indicates if the note is from Buyer or Seller. type: string enum: - buyer - seller MEFCancelProductOrderRef: description: A reference to a Cancel Product Order instance type: object properties: href: description: Hyperlink to access the Cancel Product Order type: string id: description: A unique identifier of the Cancel Product Order type: string required: - id MEFChargeableTaskStateType: description: | The states as defined by TMF622 and extended to meet MEF requirements. | Name | MEF 57.2 Name | Description | | -------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | inProgress.assessingCharge | ACCESSING_CHARGE | The Modify Product Order Item Requested Delivery Date request results in a Charge being initiated by the Seller. The Modify Product Order Item Requested Delivery Date remains in this state until the Charge is completed or withdrawn by the Seller. All charges within a Charge that was initiated due to a Modify Product Order Item Requested Delivery Date are considered Blocking charges. If any charge is not accepted by the Buyer, the Modify Product Order Item Requested Delivery Date moves from the `inProgress.assessingCharge` state to the `done.declined` state. | | acknowledged | ACKNOWLEDGED | A Modify Product Order Item Requested Delivery Date request has been received and has passed basic validation. The Modify Product Order Item Requested Delivery Date Identifier is assigned in the `acknowledged` state. Validation of Modify Product Order Item Requested Delivery Date attributes as applicable is completed in the `acknowledged` state. | | done | ACCEPTED | A Modify Product Order Item Requested Delivery Date request has been received, passed all validations, if a Charge is associated all Charge Items have been accepted by the Buyer, and the Product Order Item Completion Date has been updated as requested. | | done.declined | DECLINED | Blocking charges associated with a Modify Product Order Item Requested Delivery Date have been declined by the Buyer. No updates are made to the Product Order Item. | | rejected | REJECTED | A Modify Product Order Item Requested Delivery Date request was submitted by the Buyer, and it has failed any validation checks the Seller performs during the `acknowledged` state. No updates are made to the referenced Product Order Item. type: string enum: - acknowledged - done - done.declined - inProgress.assessingCharge - rejected MEFEndOfTermAction: description: >- The action the Seller will take once the term expires. Roll indicates that the Product's contract will continue on a rolling basis for the duration of the Roll Interval at the end of the Term. Auto-disconnect indicates that the Product will be disconnected at the end of the Term. Auto-renew indicates that the Product's contract will be automatically renewed for the Term Duration at the end of the Term. type: string enum: - roll - autoDisconnect - autoRenew MEFItemTerm: description: The term of the Item type: object properties: description: description: Description of the term type: string duration: description: Duration of the term $ref: '#/components/schemas/Duration' endOfTermAction: description: >- The action that needs to be taken by the Seller once the term expires $ref: '#/components/schemas/MEFEndOfTermAction' name: description: Name of the term type: string rollInterval: description: >- The recurring period that the Buyer is willing to pay for the Product after the original term has expired. $ref: '#/components/schemas/Duration' required: - duration - endOfTermAction - name MEFMilestone: description: >- Milestones associated to the Product Order Item. Set by the Seller when a Milestone occurs. type: object properties: date: description: The date on when the milestone was reached type: string format: date-time name: description: Name of the Milestone. type: string note: description: Additional comment related to milestone change. type: string required: - date - name MEFModifyProductOrderItemRequestedDeliveryDate: description: >- A response to a request initiated by the Buyer to modify the Requested Completion Date or the Expedite Indicator of a Product Order Item. type: object properties: creationDate: description: >- Date that the Modify Product Order Item Requested Delivery Date was created in the Seller's system and the id was assigned type: string format: date-time expediteIndicator: description: >- Indicates that expedited treatment is requested. Set by the Buyer. Default Value = FALSE. If this is set to TRUE, the Buyer sets the Requested Completion Date to the expedited date type: boolean default: false href: description: > Hyperlink to the modification request. Hyperlink MAY be used by the Seller in responses Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request type: string id: description: >- Unique identifier for the MEFModifyProductOrderItemRequestedDeliveryDate that is generated by the Seller when the MEFModifyProductOrderItemRequestedDeliveryDate request is moved to the 'acknowledged' state. type: string productOrderItem: description: A reference to the Product Order Item to be modified. $ref: '#/components/schemas/MEFProductOrderItemRef' requestedCompletionDate: description: Identifies the Buyer's desired due date (requested delivery date) type: string format: date-time state: description: >- The state of the Modify Product Order Item Requested Delivery Date request $ref: '#/components/schemas/MEFChargeableTaskStateType' required: - creationDate - id - productOrderItem - state MEFModifyProductOrderItemRequestedDeliveryDateRef: description: a reference to Modify Product Order Item Requested Delivery Date type: object properties: href: description: >- Hyperlink to access the Modify Product Order Item Requested Delivery Date type: string id: description: >- A unique identifier of the Modify Product Order Item Requested Delivery Date type: string required: - id MEFModifyProductOrderItemRequestedDeliveryDate_Create: description: >- A request initiated by the Buyer to modify the Requested Requested Delivery Date or the Expedite Indicator of a Product Order Item. type: object properties: expediteIndicator: description: >- Indicates that expedited treatment is requested. Set by the Buyer. Default Value = FALSE. If this is set to TRUE, the Buyer sets the Requested Completion Date to the expedited date type: boolean default: false productOrderItem: description: A reference to the Product Order Item to be modified. $ref: '#/components/schemas/MEFProductOrderItemRef' requestedCompletionDate: description: Identifies the Buyer's desired due date (requested delivery date) type: string format: date-time required: - productOrderItem MEFOrderItemCoordinatedAction: description: >- The interval after the completion of one or more related Order Items that this Order Item can be started or completed type: object properties: coordinatedActionDelay: description: The period of time for which the coordinated action is delayed. $ref: '#/components/schemas/Duration' coordinationDependency: description: A dependency between the Order Item and a related Order Item $ref: '#/components/schemas/MEFOrderItemCoordinationDependencyType' itemId: description: Specifies Order Item that is to be coordinated with this Order Item. type: string required: - coordinatedActionDelay - coordinationDependency - itemId MEFOrderItemCoordinationDependencyType: description: | Possible values of the Order Item Coordination Dependency | OrderItemCoordinationDependencyType | MEF 57.2 | Description | |-------------------------------------|------------------|----------------------------------------------------------------------------------------------------| | startToStart | START_TO_START | Work on the Specified Order Item can only be started after the Coordinated Order Items are started | | startToFinish | START_TO_FINISH | The Coordinated Order Items must complete before work on the Specified Order Item begins | | finishToStart | FINISH_TO_START | Work on the Related Order Items begins after the completion of the Specified Order Item | | finishToFinish | FINISH_TO_FINISH | Work on the Related Order Items completes at the same time as the Specified Order Item | type: string enum: - startToStart - startToFinish - finishToStart - finishToFinish MEFPriceCategory: description: A description of the cause of the Charge Item type: string enum: - cancellation - construction - connection - disconnect - expedite - other MEFPriceType: description: Indicates if the price is for recurring or non-recurring charges. type: string enum: - recurring - nonRecurring - usageBased MEFProductActionType: description: | Action to be performed on the Product that the Order Item refers to. | ProductActionType | MEF 57.2 | | ----------------- | ---------- | | add | INSTALL | | modify | CHANGE | | delete | DISCONNECT | type: string enum: - add - modify - delete MEFProductConfiguration: description: >- MEFProductConfiguration is used as an extension point for MEF specific product/service payload. The `@type` attribute is used as a discriminator type: object properties: '@type': description: >- The name of the type, defined in the JSON schema specified above, for the product that is the subject of the Product Order Request. The named type must be a subclass of MEFProductConfiguration. type: string required: - '@type' discriminator: propertyName: '@type' MEFProductOrderCharge: description: >- When non-recurring or updated recurring charges are identified by the Seller during their processing of a Product Order, the Seller must communicate these charges to the Buyer and the Buyer must respond to the Seller informing the Seller if they accept or reject each charge. The Seller indicates for each charge, if the charge is Blocking or non-Blocking. If the Buyer rejects a Blocking Charge, the Seller will cancel that Product Order Item and any related Product Order Items. If the Buyer rejects a non-blocking Charge, the Seller may proceed with fulfillment of the Product Order Item. type: object properties: cancelProductOrder: description: >- A reference to the Cancel Product Order request that is cause of the Charge. Required if the Charge was caused by a Cancel Product Order. $ref: '#/components/schemas/MEFCancelProductOrderRef' chargeItem: description: A list of Charge Items contained in the Charge type: array items: $ref: '#/components/schemas/MEFProductOrderChargeItem' creationDate: description: Date that the Charge was created by the Seller. type: string format: date-time href: description: > Hyperlink to the Charge. Hyperlink MAY be used by the Seller in responses Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request type: string id: description: A unique identifier of the Charge type: string modifyProductOrderItemRequestedDeliveryDate: description: >- A reference to the Modify Product Order Item Requested Delivery Date request that is cause of the Charge. Required if the Charge was caused by a Modify Product Order Item Requested Delivery Date request. $ref: >- #/components/schemas/MEFModifyProductOrderItemRequestedDeliveryDateRef productOrder: description: >- Product Order which the Seller is communicating additional or modified charges to the Buyer. This relation MUST be set when the Charge applies to a Product Order. (Caused by Cancel Product Order request) $ref: '#/components/schemas/MEFProductOrderRef' productOrderItem: description: >- Product Order Item which the Seller is communicating additional or modified charges to the Buyer. This relation MUST be set when the Charge applies to a Product Order Item. (Identified by Seller or caused by Modify Product Order Item Requested Delivery Date request) $ref: '#/components/schemas/MEFProductOrderItemRef' responseDueDate: description: >- The date by which the Buyer must respond to the Seller's Charge. If there is no response received by the Due Date the Seller will treat all charges as declined and move them to `declinedByBuyer` status and put the Charge to `completed` status. type: string format: date-time state: description: The state of the Charge $ref: '#/components/schemas/MEFProductOrderChargeStateType' required: - chargeItem - creationDate - id - responseDueDate - state MEFProductOrderChargeActivityType: description: | Possible values for the state of the Charge Activity Type type: string enum: - new - change MEFProductOrderChargeItem: description: A single component part of the Charge type: object properties: acceptanceIndicator: description: Indicates if the Buyer has accepted the specified charge. $ref: '#/components/schemas/MEFAcceptedRejectedType' activityType: description: >- Indicates if this is a new charge or a change to a charge provided in a Quote or in a previous accepted Charge Item. $ref: '#/components/schemas/MEFProductOrderChargeActivityType' blocking: description: >- Indicates if rejecting the charge will cause the Seller to cancel the Product Order Item, or close the Cancel Product Order or Modify Product Order Item Requested Delivery Date without action. type: boolean id: description: An identifier that is unique among all Charge Items within a Charge type: string note: description: > Free form text to clarify or explain the Charge Item. Only new notes can be entered. The Seller cannot modify an existing Note. type: array items: $ref: '#/components/schemas/Note' price: description: The value of the Price associated with the Charge Item $ref: '#/components/schemas/Price' priceCategory: description: The category of the price $ref: '#/components/schemas/MEFPriceCategory' priceType: description: The type of the price. $ref: '#/components/schemas/MEFPriceType' recurringChargePeriod: description: >- Used for a Charge Item with a priceType = recurring to indicate the period $ref: '#/components/schemas/Duration' state: description: The state of the Charge Item $ref: '#/components/schemas/MEFProductOrderChargeItemStateType' unitOfMeasure: description: >- Unit of Measure if price depending on it is usageBased (Gb, SMS volume, etc..) type: string required: - activityType - blocking - id - price - priceCategory - priceType - state MEFProductOrderChargeItemStateType: description: | Possible values for the state of the Charge Item | State | MEF 57.2 Name | Description | | ------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `awaitingResponse` | AWAITING_RESPONSE | A Charge has been initiated by the Buyer. The charge includes one or more charges related to a Product Order or Product Order Item. Buyer has not indicated whether they accept or reject the charges via a Respond to Charge request. | | `completed` | COMPLETED | All Charge Items included in the Charge have moved to either the `acceptedByBuyer` state, the `declinedByBuyer` state, or the `withdrawnBySeller` state. | | `timeout` | TIMEOUT | A Charge Item has been declined by the Buyer. The referenced Product Order and Product Order Items are updated. If a Blocking charge is declined, the Seller may cancel the referenced Product Order Item and any related Product Order Items, the related Cancel Product Order, or the related Modify Product Order Item Requested Delivery Date. | | `withdrawnBySeller` | WITHDRAWN_BY_SELLER | The Seller determines that the Charge Item is incorrect. They withdraw the Charge Item and initiate a new Charge with the required correction(s) if needed. | type: string enum: - awaitingResponse - acceptedByBuyer - declinedByBuyer - withdrawnBySeller MEFProductOrderChargeItem_Update: description: >- A type used to perform Buyer's response to a Charge Item - to accept or reject it. type: object properties: acceptanceIndicator: description: Indicates if the Buyer has accepted the specified charge $ref: '#/components/schemas/MEFAcceptedRejectedType' id: description: >- An identifier that is unique among Charge. Used for Charge Item matching, not to be update. type: string note: description: > Free form text to clarify or explain the Charge Item. Only new notes can be entered. The Seller cannot modify an existing Note. type: array items: $ref: '#/components/schemas/Note' required: - acceptanceIndicator - id MEFProductOrderChargeRef: description: A reference to a Charge instance type: object properties: href: description: Hyperlink to access the Charge type: string id: description: A unique identifier of the Charge type: string required: - id MEFProductOrderChargeStateType: description: | Possible values for the state of the Charge | State | Description | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | `completed` | All Charge Items included in the Charge for a given Product Order Item have moved to either the `accepted` state or the `declined` state. | | `awaitingResponse` | A Charge has been initiated by the Buyer. The charge includes one or more charges. | | `timeout` | A response has not been received from the Buyer within the `responseDueDate`. This is treated as if the Buyer declined the Charge Items. | | `withdrawnBySeller` | The Seller determines that the Charge is incorrect. They withdraw the Charge and initiate a new Charge with the required correction(s). | type: string enum: - awaitingResponse - completed - timeout - withdrawnBySeller MEFProductOrderCharge_Find: description: A response object for Buyer's get Charge List request. type: object properties: creationDate: description: Date that the Charge was created by the Seller. type: string format: date-time id: description: A unique identifier of the Charge type: string productOrder: description: >- Product Order which the Seller is communicating additional or modified charges to the Buyer. This relation MUST be set when the Charge applies to a Product Order. (Caused by Cancel Product Order request) $ref: '#/components/schemas/MEFProductOrderRef' productOrderItem: description: >- Product Order Item which the Seller is communicating additional or modified charges to the Buyer. This relation MUST be set when the Charge applies to a Product Order Item. (Identified by Seller or caused by Modify Product Order Item Requested Delivery Date request) $ref: '#/components/schemas/MEFProductOrderItemRef' responseDueDate: description: >- The date by which the Buyer must respond to the Seller's Charge. If there is no response received by the Due Date the Seller will treat all charges as declined and move them to `declinedByBuyer` status and put the Charge to `completed` status. type: string format: date-time state: description: The state of the Charge $ref: '#/components/schemas/MEFProductOrderChargeStateType' required: - creationDate - id - responseDueDate - state MEFProductOrderCharge_Update: description: >- A subset of MEFProductOrderCharge that is allowed to be updated by the Buyer type: object properties: chargeItem: description: A list of Charge Items contained in the Charge type: array minItems: 1 items: $ref: '#/components/schemas/MEFProductOrderChargeItem_Update' required: - chargeItem MEFProductOrderItemRef: description: It's a ProductOrder item type: object properties: productOrderHref: description: Reference of the related ProductOrder. type: string productOrderId: description: Unique identifier of a ProductOrder. type: string productOrderItemId: description: Id of an Item within the Product Order type: string required: - productOrderId - productOrderItemId MEFProductOrderItemStateChange: description: >- Holds the State notification reasons and associated date the State changed, populated by the server type: object properties: changeDate: description: The date on when the state was reached type: string format: date-time changeReason: description: Additional comment related to state change. type: string state: description: Reached state $ref: '#/components/schemas/MEFProductOrderItemStateType' MEFProductOrderItemStateType: description: | Possible values for the state of the Product Order Item The following mapping has been used between `MEFProductOrderItemStateType` and MEF 57.2: | state | MEF 57.2 name | Description | | --------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `acknowledged` | ACKNOWLEDGED | A Product Order Item has been received and has passed basic business validations. From the `acknowledged` state the Product Order Item is further validated and depending on the results of the validation and if other Product Order Items in the Product Order are also validated the Product Order Item moves to `inProgress`, `rejected.validated`, or `rejected.unassessed`. | | `cancelled` | CANCELLED | The Product Order has moved to the `pendingCancellation` state. All Product Order Items move to `cancelled`. | | `completed` | COMPLETED | The Product Order Item has completed provisioning. This is an end state | | `failed` | FAILED | The fulfillment of a Product Order Item has failed. A Product Order Item may fail because the Buyer declined a Blocking charge identified via the Charge, the Buyer failed to respond to a Charge Item included in a Charge, or the Seller is unable to fulfill the Product Order Item. A Product Order Item moving to `failed` state results in the Product Order State being `failed` or `partial`. This is a terminal state. | | `held` | HELD | The Product Order Item cannot be progressed due to Charge the Seller awaiting a response from the Buyer on a Charge. The Seller stops work on the Product Order Item until the Charge has completed. Upon acceptance by the Buyer of all Blocking charges, the Product Order Item returns to `inProgress` state If the Buyer rejects a Blocking charge, the Product Order Item moves to the `failed` state. | | `inProgress` | IN_PROGRESS | The Product Order Item has been successfully validated and fulfillment has started. If the Seller's system links validation between Product Order Items in a Product Order, a Product Order Item in this state also indicates that the other Product Order Items passed validation. | | `pending` | PENDING | The Product Order Item cannot be progressed due to the Seller assessing a Cancel Product Order or Modify Product Order Item Requested Delivery Date request. The Seller stops work on the Product Order Item until either the Cancel Product Order has been accepted and the Product Order state moves to `pendingCancellation` and the Product Order Item state moves to `cancelled`, the Cancel Product Order has been rejected and the Product Order Item State moves to `inProgress`, the Modify Product Order Item Requested Delivery Date has been accepted and the Product Order Item State moves to `inProgress`, or the Modify Product Order Item Requested Delivery Date moves to `done.declined` and the Product Order Item state moves to `inProgress` with original delivery dates. | | `rejected` | REJECTED | A Product Order Item was submitted, and it has failed at least one validation checks the Seller performs during the `acknowledged` state. Other Product Order Items may continue to be processed. | | `rejected.unassessed` | UNASSESSED | A Product Order was submitted and all validation checks the Seller performs during the `acknowledged` state have not been completed, but another Product Order Item in the Product Order has moved to the `rejected` state. | | `rejected.validated` | VALIDATED | A Product Order was submitted, and it has passed all validation checks the Seller performs during the `acknowledged` state, but another Product Order Item in the Product Order has moved to the `rejected` state | type: string enum: - acknowledged - cancelled - completed - failed - held - inProgress - pending - rejected - rejected.validated - rejected.unassessed MEFProductOrderItem_Common: description: > An identified part of the order. A product order is decomposed into one or more order items. This type holds the attributes common to request and response representation of the Product Order Item. type: object properties: action: description: >- Action to be applied to the product referred by this Product Order Item $ref: '#/components/schemas/MEFProductActionType' agreementName: description: >- The name of the Agreement which is referenced for the Product Order Item. type: string billingAccount: description: >- Billing account information for the billing account the Buyer wants used for the Product Order Item $ref: '#/components/schemas/MEFBillingAccountRef' coordinatedAction: description: >- The interval after the completion of one or more related Product Order Items that this Product Order Item can be started or completed type: array items: $ref: '#/components/schemas/MEFOrderItemCoordinatedAction' endCustomerName: description: >- The name of the End Customer, either a business name or an individual name depending on the end customer. type: string expediteIndicator: description: >- Indicates that expedited treatment is requested. Set by the Buyer. If this is set to TRUE, the Buyer sets the Requested Completion Date to the expedited date. See MEF 57.2 section 7.3 for a description of the interaction between the Buyer and the Seller. type: boolean default: false id: description: > A Buyer provided identifier to identify Product Order Items and to be able to relate them to one another. This is set by the Buyer and is unique within the Product Order. Examples of Reference Identifier could be 1, 2, 3 or A, B, C. The Reference Identifier can be reused in multiple Product Orders to identify a Product Order Item within that Product Order. type: string note: description: > Free form text to clarify or explain the Product Order Item. Only new notes can be entered. The Buyer and Seller cannot modify an existing Note. The Buyer creates a Note when creating the Product Order Item or when updating it. The Seller may add notes at any time. This is not to be used to inform the Seller of Actions that the Buyer wishes performed. type: array items: $ref: '#/components/schemas/Note' product: description: >- The Buyer's existing Product for which the Product Order is being requested. Set by the Buyer if the Product Action is modify or delete. $ref: '#/components/schemas/MEFProductRefOrValueOrder' productOfferingQualificationItem: description: >- The POQ and POQ Item associated to this Product Order Item. The relation may be required by the Seller. In that case, this is a mandatory field. If the Seller does not require the POQ Item reference, then this is an optional attribute. $ref: '#/components/schemas/ProductOfferingQualificationItemRef' productOrderItemRelationship: description: The relationship between Product Order Items in the Product Order. type: array items: $ref: '#/components/schemas/OrderItemRelationship' quoteItem: description: >- The Quote Item associated to this Product Order Item. The Quote Item reference may be required by the Seller. In that case, this is a mandatory field. If the Seller does not require the Quote, then this is an optional attribute. $ref: '#/components/schemas/MEFQuoteItemRef' relatedBuyerPON: description: >- Identifies the Buyer Purchase Order Number that is related to this Product Order. type: string relatedContactInformation: description: >- Contact information of an individual or organization playing a role for this Order Item. The rule for mapping a represented attribute value to a `role` is to use the _lowerCamelCase_ pattern e.g. - Buyer Product Order Item Contact: `role=buyerProductOrderItemContact` - Buyer Implementation Contact: `role=buyerImplementationContact` - Buyer Technical Contact: `role=buyerTechnicalContact` - Buyer Billing Contact: `role=buyerBillingContact` - Buyer Fault Contact: `role=buyerFaultContact` - Seller Fault Contact: `role=sellerFaultContact` - Buyer GDPR Contact: `role=buyerGDPRContact` - Seller GDPR Contact: `role=sellerGDPRContact` type: array items: $ref: '#/components/schemas/RelatedContactInformation' requestedCompletionDate: description: Identifies the Buyer's desired due date (requested delivery date) type: string format: date-time requestedItemTerm: description: Requested term of the Product Order Item $ref: '#/components/schemas/MEFItemTerm' tspRestorationPriority: description: > Within the United States, indicates the provisioning and restoration priority as defined under the TSP Service Vendor Handbook. The valid values are defined in ATIS OBF document: ATIS-0404001. type: string required: - action - id - product - requestedCompletionDate MEFProductOrderItem_Create: allOf: - $ref: '#/components/schemas/MEFProductOrderItem_Common' - description: | An identified part of the order. A product order is decomposed into one or more order items. The modelling pattern introduces the `Common` supertype to aggregate attributes that are common to both `ProductOrderItem` and `ProductOrderItem_Create`. The `Create` type has a subset of attributes of the response type and does not introduce any new, thus the `Create` type has an empty definition. type: object MEFProductOrderItem_Update: description: | An updatable representation of the Product Order Item. type: object properties: endCustomerName: description: >- The name of the End Customer, either a business name or an individual name depending on the end customer. type: string id: description: > Identifier of the Item. This is to address the Item to be updated within the Product Order. The id itself cannot be updated. type: string note: description: > Free form text to clarify or explain the Product Order Item. Only new notes can be entered. The Buyer and Seller cannot modify an existing Note. The Buyer creates a Note when creating the Product Order Item or when updating it. The Seller may add notes at any time. type: array items: $ref: '#/components/schemas/Note' relatedBuyerPON: description: >- This information is not used by the Seller and is maintained for the convenience of the Buyer (e.g. search purposes). type: string relatedContactInformation: description: >- Contact information of an individual or organization playing a role for this Order Item. Buyer may modify, add, or delete only Buyer-related contacts. - Buyer Product Order Item Contact: `role=buyerProductOrderItemContact` - Buyer Implementation Contact: `role=buyerImplementationContact` - Buyer Technical Contact: `role=buyerTechnicalContact` - Buyer Fault Contact: `role=buyerFaultContact` - Buyer GDPR Contact: `role=buyerGDPRContact` type: array items: $ref: '#/components/schemas/RelatedContactInformation' required: - id MEFProductOrderRef: description: Holds the MEF Product Order reference type: object properties: productOrderHref: description: Hyperlink to access the order type: string productOrderId: description: >- Unique (within the ordering domain) identifier for the order that is generated by the seller when the order is initially accepted. type: string required: - productOrderId MEFProductOrderStateChange: description: >- Holds the State notification reasons and associated date the State changed, populated by the server type: object properties: changeDate: description: The date on when the state was reached type: string format: date-time changeReason: description: Additional comment related to state change type: string state: description: Reached state $ref: '#/components/schemas/MEFProductOrderStateType' MEFProductOrderStateType: description: | Possible values for the state of the Product Order The following mapping has been used between `MEFProductOrderStateType` and MEF 57.2: | state | MEF 57.2 name | Description | | ------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `acknowledged` | ACKNOWLEDGED | A Product Order has been received by the Seller and has passed basic validation. A `productOrder.id` is assigned in the `acknowledged` state and a response is returned to the Buyer. The Product Order remains in the `acknowledged` state while validations of Product Order and Product Order Item(s) attributes as applicable is completed. If the Product Order and Product Order Item attributes are validated the Product Order moves to the `inProgress` state. If not validated, the Product Order moves to the `rejected` state. | | `assessingCancellation` | ASSESSING_CANCELLATION | A Cancel Product Order request has been received by the Seller. The Product Order is being assessed to determine if the Product Order can be cancelled. If there are charges associated with cancelling the Product Order, these are communicated to the Buyer using the Charge process. The Product Order remains in the `assessingCancellation` state until any relevant Charge is completed or withdrawn by the Seller. Once the Buyer's request has been validated and any associated Charges completed, the Product Order moves to the `pendingCancellation` state. If the request is not validated or if any associated Charges are not completed, the Product Order moves to the `inProgress` state and the Product Order is not cancelled. | | `held.assessingCharge` | ASSESSING_CHARGE | A Charge has been initiated by the Seller that is not the result of a Modify Product Order Item Requested Delivery Date or Cancel Product Order request and the Seller is awaiting a Buyer response to the Charge. If a blocking or non-blocking charge is accepted by the Buyer, the Product Order moves to `inProgress`. If a non-blocking charge is declined by the Buyer, the Product Order moves to `inProgress`. If a blocking charge is declined by the Buyer and there are no unrelated Product Order Items in the Product Order, the Product Order moves to the `inProgress` and then to the `failed` state. If a blocking charge is declined by the Buyer and there are unrelated Product Order Items in the Product Order, the Product Order moves to the `inProgress` state. | | `pending.assessingModification` | ASSESSING_MODIFICATION | A request has been made by the Buyer to modify either the `expediteIndicator` or the `requestedCompletionDate` of a Product Order Item. The Product Order Item is currently being assessed to determine whether the Modify Product Order Item Requested Delivery Date is valid. If there is a charge associated with the Modify Product Order Item Requested Delivery Date, the Product Order remains in the `pending.assessingModification` state until the Charge is completed or withdrawn by the Seller. Once the Buyer's request has been validated and any associated Charges completed, the Product Order returns to the `inProgress` state. | | `cancelled` | CANCELLED | The Product Order has been successfully cancelled. This is a terminal state. | | `pendingCancellation` | CANCELLING | The Buyer's Cancel Request has been assessed and it has been determined that it is feasible to proceed with the cancellation. This state can also result from a Seller cancelling the Product Order within their systems without a request from the Buyer. | | `completed` | COMPLETED | The Product Order has completed fulfillment and the Product is now active. This is a terminal state | | `failed` | FAILED | All Product Order Items have failed which results in the entire Product Order failing. This is a terminal state. | | `inProgress` | IN_PROGRESS | The Product Order has been successfully validated, and fulfillment has started. | | `partial` | PARTIAL | At least one Product Order Item is `failed` or `rejected`, and fulfillment of at least one Product Order Item has been successful. This is a terminal state | | `rejected` | REJECTED | A Product Order was submitted, and it has failed at least one of the validation checks the Seller performs after it reached the `acknowledged` state | type: string enum: - acknowledged - assessingCancellation - cancelled - completed - failed - held.assessingCharge - inProgress - partial - pending.assessingModification - pendingCancellation - rejected MEFProductRefOrValueOrder: description: >- Used by the Buyer to point to existing and/or describe the desired shape of the product. In case of `add` action - only `productConfiguration` MUST be specified. For `modify` action - both `id` and `productConfiguration` MUST be provided to point which product instance to update and to what state. In `delete` only the `id` must be provided. type: object properties: href: description: >- Hyperlink to the referenced Product. Hyperlink MAY be used by the Seller in responses. Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request. type: string id: description: >- The unique identifier of an in-service Product that is the ordering subject. This field MUST be populated if an item `action` is either `modify` or `delete`. This field MUST NOT be populated if an item `action` is `add`. type: string place: description: >- The relationships between this Product Order Item and one or more Places as defined in the Product Specification. type: array items: $ref: '#/components/schemas/RelatedPlaceRefOrQueryWithSubUnit' productConfiguration: description: >- MEFProductConfiguration is used to specify the MEF specific product payload. This field MUST be populated if an item `action` is `add` or `modify`. It MUST NOT be populated when an item `action` is `delete`. The @type is used as a discriminator. $ref: '#/components/schemas/MEFProductConfiguration' productOffering: description: >- A particular Product Offering defines the technical and commercial attributes and behaviors of a Product. $ref: '#/components/schemas/ProductOfferingRef' productRelationship: description: >- A list of references to existing products that are related to the ordered Product. type: array items: $ref: '#/components/schemas/ProductRelationship' MEFQuoteItemRef: description: It's a Quote item that has been executed previously. type: object properties: id: description: Id of an Quote Item type: string quoteHref: description: Reference of the related Quote. type: string quoteId: description: Unique identifier of a Quote. type: string required: - id - quoteId Money: description: A base/value business entity used to represent money type: object properties: unit: description: Currency (ISO4217 norm uses 3 letters to define the currency) type: string value: description: A positive floating point number type: number format: float required: - unit - value Note: description: >- Extra information about a given entity. Only useful in processes involving human interaction. Not applicable for the automated process. type: object properties: author: description: Author of the note type: string date: description: Date the Note was created type: string format: date-time id: description: >- Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation) type: string source: description: Indicates if the note is from Buyer or Seller $ref: '#/components/schemas/MEFBuyerSellerType' text: description: Text of the note type: string required: - author - date - id - source - text OrderItemRelationship: description: The relationship between Product Order Items in the Product Order. type: object properties: id: description: Id of the related Order Item (must be in the same Order). type: string relationshipType: description: >- Specifies the nature of the relationship to the related Product Order Item. A string that is one of the relationship types specified in the Product Specification. type: string required: - id - relationshipType PlaceRefOrQuery: description: >- A place described by reference to Geographic Address, Geographic Site or by Geographic Address Representations. type: object discriminator: propertyName: '@type' mapping: GeographicAddressRef: '#/components/schemas/GeographicAddressRef' GeographicSiteRef: '#/components/schemas/GeographicSiteRef' GeographicAddress_Query: '#/components/schemas/GeographicAddress_Query' oneOf: - $ref: '#/components/schemas/GeographicAddressRef' - $ref: '#/components/schemas/GeographicSiteRef' - $ref: '#/components/schemas/GeographicAddress_Query' Price: description: >- Provides all amounts (tax included, duty-free, tax rate) and used currency of a Price type: object properties: dutyFreeAmount: description: All taxes excluded amount (expressed in the given currency) $ref: '#/components/schemas/Money' taxIncludedAmount: description: All taxes included amount (expressed in the given currency) $ref: '#/components/schemas/Money' taxRate: description: 'Price Tax Rate. Unit: [%]. E.g. value 16 stand for 16% tax.' type: number format: float required: - dutyFreeAmount ProductOfferingQualificationItemRef: description: >- It's a productOfferingQualification item that has been executed previously. type: object properties: alternateProductOfferingProposalId: description: >- A unique identifier for the Alternate Product Offeering Proposal assigned by the Seller, if the referenced product offering qualification comes from an alternate proposal. type: string id: description: Id of an item of a product offering qualification type: string productOfferingQualificationHref: description: Reference to a related Product Offering Qualification resource. type: string productOfferingQualificationId: description: >- Unique identifier of related Product Offering Qualification resource. type: string required: - id - productOfferingQualificationId ProductOfferingRef: description: >- A reference to a Product Offering offered by the Seller to the Buyer. A Product Offering contains the commercial and technical details of a Product sold by a particular Seller. A Product Offering defines all of the commercial terms and, through association with a particular Product Specification, defines all the technical attributes and behaviors of the Product. A Product Offering may constrain the allowable set of configurable technical attributes and/or behaviors specified in the associated Product Specification. type: object properties: href: description: > Hyperlink to a Product Offering in Sellers catalog. In case Seller is not providing a catalog capabilities this field is not used. The catalog API definition is provided by the Seller to the Buyer during onboarding Hyperlink MAY be used by the Seller in responses Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request type: string id: description: >- id of a Product Offering. It is assigned by the Seller. The Buyer and the Seller exchange information about offerings' ids during the onboarding process. type: string required: - id ProductOrder: allOf: - $ref: '#/components/schemas/ProductOrder_Common' - 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 type: object properties: cancellationCharge: description: Charges associated with cancelling the Product Order type: array items: $ref: '#/components/schemas/MEFProductOrderChargeRef' cancellationDate: description: >- Identifies the date the Seller cancelled the Order. Set by Seller when the Order is moved to the cancelled state. type: string format: date-time cancellationReason: description: >- An optional free-form text field for the Seller to provide additional information regarding the reason for the cancellation. If the Seller cancels the Product Order, the Seller provides the reason. If the Buyer requests the cancellation, the Seller copies the reason provided by the Buyer from the Cancel Product Order request. type: string completionDate: description: >- Identifies the date that all Product Order Items within the Order have reached a terminal state. No further action is permitted on the Product Order. type: string format: date-time href: description: Hyperlink to access the order type: string id: description: >- Unique identifier for the Product Order that is generated by the Seller when the Product Order is initially accepted via an API. type: string orderDate: description: >- Date when the Product Order was created in the Seller's system and a Product Order Identifier was assigned type: string format: date-time productOrderItem: description: | Items contained in the Product Order. type: array minItems: 1 items: $ref: '#/components/schemas/ProductOrderItem' state: description: >- The states as defined by TMF622 and extended to meet MEF requirements. These states are used to convey the Product Order status during the lifecycle of the Product Order. $ref: '#/components/schemas/MEFProductOrderStateType' stateChange: description: State change for the Product Order type: array minItems: 1 items: $ref: '#/components/schemas/MEFProductOrderStateChange' required: - id - orderDate - productOrderItem - state - stateChange ProductOrderItem: allOf: - $ref: '#/components/schemas/MEFProductOrderItem_Common' - description: > An identified part of the order. A product order is decomposed into one or more order items. type: object properties: charge: description: >- The Charges associated to this Product Order Item. This list contains all completed Charges containing accepted Charge Items initiated by the Seller. Any Charge that is withdrawn or containing all declined Charge Items must not be included in this list. type: array items: $ref: '#/components/schemas/MEFProductOrderChargeRef' completionDate: description: >- Identifies the date the Seller completed the Product Order Item. Set by Seller when all Product Order Items have reached a terminal state. No further action is permitted on the Product Order after this state is reached. type: string format: date-time expectedCompletionDate: description: > Identifies the date the Seller expects to complete the Product Order Item. type: string format: date-time expediteAcceptedIndicator: description: >- Indicates if the Seller has accepted the Buyer's Expedite request. See MEF 57.2 section 7.3 for a description of the interaction between the Buyer and Seller. If this is set to true, the Seller provides the costs to expedite the Product Order in the charge attribute type: boolean default: false itemTerm: description: Term of the Product Order Item type: array maxItems: 1 items: $ref: '#/components/schemas/MEFItemTerm' milestone: description: >- Milestones associated to the Product Order Item. Set by the Seller when a Milestone occurs. type: array items: $ref: '#/components/schemas/MEFMilestone' state: description: State of the Product Order Item $ref: '#/components/schemas/MEFProductOrderItemStateType' stateChange: description: State change for the Product Order Item type: array minItems: 1 items: $ref: '#/components/schemas/MEFProductOrderItemStateChange' terminationError: description: >- When the Seller cannot process the request, the Seller returns a text-based list of reasons here. type: array items: $ref: '#/components/schemas/TerminationError' required: - state - stateChange ProductOrder_Common: 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, type: object properties: externalId: description: An identifier for this order within the Buyer's enterprise. type: string note: description: > Free form text to clarify or explain the Product Order. Only new notes can be entered. The Buyer and Seller cannot modify an existing Note. The Buyer creates a Note when creating the Product Order or when updating it. The Seller may add notes at any time. type: array items: $ref: '#/components/schemas/Note' projectId: description: >- An identifier that is used to group Product Orders that is important to the Buyer. A projectId can be used to relate multiple Product Orders together. type: string relatedContactInformation: description: >- Contact information of an individual or organization playing a role in this context. (e.g. Product Order Contact: role=productOrderContact; Seller Contact: role=sellerContact) Providing the Product Order Contact in the request is mandatory. type: array minItems: 1 items: $ref: '#/components/schemas/RelatedContactInformation' required: - relatedContactInformation ProductOrder_Create: allOf: - $ref: '#/components/schemas/ProductOrder_Common' - 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,completionDate,orderDate,state,stateChange,cancellationDate,cancellationReason type: object properties: productOrderItem: description: | Items contained in the Product Order. type: array minItems: 1 items: $ref: '#/components/schemas/MEFProductOrderItem_Create' required: - productOrderItem ProductOrder_Find: description: >- Structure to define GET without id response. A list of productOrder matching request criteria. Provides Product order summary view. type: object properties: cancellationDate: description: >- Identifies the date the Seller cancelled the Order. Set by Seller when the Order is moved to the cancelled state. type: string format: date-time completionDate: description: >- Identifies the date that all Product Order Items within the Order have reached a terminal state. No further action is permitted on the Product Order after this notification. type: string format: date-time externalId: description: >- ID given by the consumer and only understandable by him (to facilitate his searches afterward). type: string id: description: >- Unique identifier for the order that is generated by the Seller when the order is initially accepted via an API. type: string orderDate: description: Date when the Product Order was created type: string format: date-time projectId: description: >- An identifier that is used to group Product Orders that is important to the Buyer. A projectId can be used to relate multiple Product Orders together. type: string state: description: >- The states as defined by TMF622 and extended to meet MEF requirements. These states are used to convey the Product Order status during the lifecycle of the Product Order. $ref: '#/components/schemas/MEFProductOrderStateType' required: - id - orderDate - state ProductOrder_Update: description: A request initiated by the Buyer to update Product Order and/or Product type: object properties: externalId: description: An identifier for this Product Order within the Buyer's enterprise. type: string note: description: > Free form text to clarify or explain the Product Order. Only new notes can be entered. The Buyer and Seller cannot modify an existing Note. The Buyer creates a Note when creating the Product Order or when updating it. The Seller may add notes at any time. type: array items: $ref: '#/components/schemas/Note' productOrderItem: description: | Order Item attributes that may be updated type: array items: $ref: '#/components/schemas/MEFProductOrderItem_Update' projectId: description: >- An identifier that is used to group Product Orders that is important to the Buyer. A projectId can be used to relate multiple Product Orders together. type: string relatedContactInformation: description: > Contact information of an individual or organization playing a role in this context. Buyer can modify, add, or delete only Buyer-related contacts. type: array minItems: 1 items: $ref: '#/components/schemas/RelatedContactInformation' ProductRelationship: description: >- A relationship to an existing Product. The requirements for usage for given Product are described in the Product Specification. type: object properties: href: description: >- Hyperlink to the product in Seller's inventory that is referenced Hyperlink MAY be used when providing a response by the Seller Hyperlink MUST be ignored by the Seller in case it is provided by the Buyer in a request type: string id: description: unique identifier of the related Product type: string relationshipType: description: > Specifies the type (nature) of the relationship to the related Product. The nature of required relationships varies for Products of different types. For example, a UNI or ENNI Product may not have any relationships, but an Access E-Line may have two mandatory relationships (related to the UNI on one end and the ENNI on the other). More complex Products such as multipoint IP or Firewall Products may have more complex relationships. As a result, the allowed and mandatory `relationshipType` values are defined in the Product Specification. type: string required: - id - relationshipType RelatedContactInformation: description: | Contact data for a person or organization that is involved in a given context. It is specified by the Seller (e.g. Seller Contact Information) or by the Buyer. type: object properties: emailAddress: description: Email address type: string name: description: Name of the contact type: string number: description: Phone number type: string numberExtension: description: Phone number extension type: string organization: description: The organization or company that the contact belongs to type: string postalAddress: description: >- Identifies the postal address of the person or office to be contacted. $ref: '#/components/schemas/FieldedAddressRepresentation' role: description: A role the party plays in a given context. type: string required: - emailAddress - name - number - role RelatedPlaceRefOrQueryWithSubUnit: description: >- Allows pointing to a place by referring a GeographicAddress, GeographicSite, or providing GeographicAddress by value. It also provides additional information like the `role` the place plays for given Product, `subUnit` to provide more detailed information about the precise location of the installation and `contact` needed access to this place. type: object properties: place: description: A place described by reference to Geographic Address, Geographic Site or by Geographic Address Representations. $ref: '#/components/schemas/PlaceRefOrQuery' role: description: >- Role of this place. The values that can be specified here are described by Product Specification (e.g. "INSTALL_LOCATION"). type: string subUnit: description: >- A list of zero or more sub units included within the boundary of the `place` for this POQ Item. This is a list to allow complex sub-unit information such as SUITE 42 ROOM A type: array items: $ref: '#/components/schemas/SubUnit' contact: description: >- The person to call to get access to this place in case such access is required to complete the evaluation of this POQ Item. type: array items: $ref: '#/components/schemas/ContactInformation' required: - place - role SubUnit: description: Allows for sub unit identification type: object properties: subUnitNumber: description: >- The discriminator used for the subunit, often just a simple number but may also be a range. type: string subUnitType: description: >- The type of subunit e.g. BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF. type: string required: - subUnitNumber - subUnitType TerminationError: description: >- This indicates an error that caused an Item to be terminated. The code and propertyPath should be used like in Error422. type: object properties: code: description: | One of the following error codes: - missingProperty: The property the Seller has expected is not present in the payload - invalidValue: The property has an incorrect value - invalidFormat: The property value does not comply with the expected value format - referenceNotFound: The object referenced by the property cannot be identified in the Seller system - unexpectedProperty: Additional property, not expected by the Seller has been provided - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold. - otherIssue: Other problem was identified (detailed information provided in a reason) $ref: '#/components/schemas/Error422Code' propertyPath: description: > A pointer to a particular property of the payload that caused the validation issue. It is highly recommended that this property should be used. Defined using JavaScript Object Notation (JSON) Pointer (https://tools.ietf.org/html/rfc6901). type: string value: description: Text to describe the reason of the termination. type: string TimeUnit: description: | Represents a unit of time. type: string enum: - seconds - minutes - businessHours - calendarHours - businessDays - calendarDays - months - years