{ "swagger": "2.0", "info": { "title": "Product Ordering", "description": "**TMF API Reference : TMF 622 - Product Ordering Management**\n\n**Release : 19.0 - June 2019**\n\nThe Product Ordering API provides a standardized mechanism for placing a product order with all of the necessary order parameters. The API consists of a simple set of operations that interact with CRM/Order Negotiation systems in a consistent manner. A product order is created based on a product offer that is defined in a catalog. The product offer identifies the product or set of products that are available to a customer, and includes characteristics such as pricing, product options and market. This API provide a task based resource to request order cancellation.\n\nThe product order references the product offer and identifies any specific requests made by the customer.\n\n**Product Order resource**\nA Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa. Main Product Order attributes are its identifier, state, priority category (mass market, Enterprise, etc.) related dates (start, completion, etc.), related billing account, related parties and order items. Main Order Items (aka order lines) attributes are the ordered offering and product characteristics with the related action to be performed (e.g. add or delete the products), state, location information for delivery, order item price and price alteration.\n\nProduct Order API performs the following operations on product order :\n\n -Retrieval of a product order or a collection of product orders depending on filter criteria\n -Partial update of a product order (including updating rules)\n -Creation of a product order (including default values and creation rules)\n -Deletion of product order (for administration purposes)\n -Notification of events on product order.\n\n**cancelProductOrder resource**\nThis resource is used to request a product order cancellation.\nProduct Order API performs the following operations on product order :\n\n -Retrieval of a cancel product order or a collection of cancel product orders \n -Creation of a cancel product order \n -Notification of events on cancel product order.\n\n\nCopyright \u00a9 TM Forum 2019. All Rights Reserved\n\n\n", "version": "4.0.0" }, "host": "serverRoot", "basePath": "/tmf-api/productOrderingManagement/v4/", "schemes": [ "https" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "tags": [ { "name": "productOrder" }, { "name": "cancelProductOrder" }, { "name": "notification listeners (client side)" }, { "name": "events subscription" } ], "paths": { "/productOrder": { "get": { "operationId": "listProductOrder", "summary": "List or find ProductOrder objects", "description": "This operation list or find ProductOrder entities", "tags": [ "productOrder" ], "parameters": [ { "name": "fields", "description": "Comma-separated properties to be provided in response", "required": false, "in": "query", "type": "string" }, { "name": "offset", "description": "Requested index for start of resources to be provided in response", "required": false, "in": "query", "type": "integer" }, { "name": "limit", "description": "Requested number of resources to be provided in response", "required": false, "in": "query", "type": "integer" } ], "responses": { "200": { "description": "Success", "headers": { "X-Result-Count": { "description": "Actual number of items returned in the response body", "type": "integer" }, "X-Total-Count": { "description": "Total number of items matching criteria", "type": "integer" } }, "schema": { "type": "array", "items": { "$ref": "#/definitions/ProductOrder" } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "post": { "operationId": "createProductOrder", "summary": "Creates a ProductOrder", "description": "This operation creates a ProductOrder entity.", "tags": [ "productOrder" ], "parameters": [ { "name": "productOrder", "description": "The ProductOrder to be created", "required": true, "schema": { "$ref": "#/definitions/ProductOrder_Create" }, "in": "body" } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/ProductOrder" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/productOrder/{id}": { "get": { "operationId": "retrieveProductOrder", "summary": "Retrieves a ProductOrder by ID", "description": "This operation retrieves a ProductOrder entity. Attribute selection is enabled for all first level attributes.", "tags": [ "productOrder" ], "parameters": [ { "name": "id", "description": "Identifier of the ProductOrder", "required": true, "type": "string", "in": "path" }, { "name": "fields", "description": "Comma-separated properties to provide in response", "required": false, "type": "string", "in": "query" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/ProductOrder" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "patch": { "operationId": "patchProductOrder", "summary": "Updates partially a ProductOrder", "description": "This operation updates partially a ProductOrder entity.", "tags": [ "productOrder" ], "parameters": [ { "name": "id", "description": "Identifier of the ProductOrder", "required": true, "type": "string", "in": "path" }, { "name": "productOrder", "description": "The ProductOrder to be updated", "required": true, "schema": { "$ref": "#/definitions/ProductOrder_Update" }, "in": "body" } ], "responses": { "200": { "description": "Updated", "schema": { "$ref": "#/definitions/ProductOrder" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "delete": { "operationId": "deleteProductOrder", "summary": "Deletes a ProductOrder", "description": "This operation deletes a ProductOrder entity.", "tags": [ "productOrder" ], "parameters": [ { "name": "id", "description": "Identifier of the ProductOrder", "required": true, "type": "string", "in": "path" } ], "responses": { "204": { "description": "Deleted" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/cancelProductOrder": { "get": { "operationId": "listCancelProductOrder", "summary": "List or find CancelProductOrder objects", "description": "This operation list or find CancelProductOrder entities", "tags": [ "cancelProductOrder" ], "parameters": [ { "name": "fields", "description": "Comma-separated properties to be provided in response", "required": false, "in": "query", "type": "string" }, { "name": "offset", "description": "Requested index for start of resources to be provided in response", "required": false, "in": "query", "type": "integer" }, { "name": "limit", "description": "Requested number of resources to be provided in response", "required": false, "in": "query", "type": "integer" } ], "responses": { "200": { "description": "Success", "headers": { "X-Result-Count": { "description": "Actual number of items returned in the response body", "type": "integer" }, "X-Total-Count": { "description": "Total number of items matching criteria", "type": "integer" } }, "schema": { "type": "array", "items": { "$ref": "#/definitions/CancelProductOrder" } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "post": { "operationId": "createCancelProductOrder", "summary": "Creates a CancelProductOrder", "description": "This operation creates a CancelProductOrder entity.", "tags": [ "cancelProductOrder" ], "parameters": [ { "name": "cancelProductOrder", "description": "The CancelProductOrder to be created", "required": true, "schema": { "$ref": "#/definitions/CancelProductOrder_Create" }, "in": "body" } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/CancelProductOrder" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/cancelProductOrder/{id}": { "get": { "operationId": "retrieveCancelProductOrder", "summary": "Retrieves a CancelProductOrder by ID", "description": "This operation retrieves a CancelProductOrder entity. Attribute selection is enabled for all first level attributes.", "tags": [ "cancelProductOrder" ], "parameters": [ { "name": "id", "description": "Identifier of the CancelProductOrder", "required": true, "type": "string", "in": "path" }, { "name": "fields", "description": "Comma-separated properties to provide in response", "required": false, "type": "string", "in": "query" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/CancelProductOrder" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/hub": { "post": { "operationId": "registerListener", "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.", "tags": [ "events subscription" ], "parameters": [ { "name": "data", "schema": { "$ref": "#/definitions/EventSubscriptionInput" }, "required": true, "in": "body", "description": "Data containing the callback endpoint to deliver the information" } ], "responses": { "201": { "description": "Subscribed", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/hub/{id}": { "delete": { "operationId": "unregisterListener", "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.", "tags": [ "events subscription" ], "parameters": [ { "name": "id", "type": "string", "required": true, "in": "path", "description": "The id of the registered listener" } ], "responses": { "204": { "description": "Deleted" }, "400": { "description": "Bad request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method not allowed", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/productOrderCreateEvent": { "post": { "operationId": "listenToProductOrderCreateEvent", "summary": "Client listener for entity ProductOrderCreateEvent", "description": "Example of a client listener for receiving the notification ProductOrderCreateEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/ProductOrderCreateEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/productOrderAttributeValueChangeEvent": { "post": { "operationId": "listenToProductOrderAttributeValueChangeEvent", "summary": "Client listener for entity ProductOrderAttributeValueChangeEvent", "description": "Example of a client listener for receiving the notification ProductOrderAttributeValueChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/ProductOrderAttributeValueChangeEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/productOrderDeleteEvent": { "post": { "operationId": "listenToProductOrderDeleteEvent", "summary": "Client listener for entity ProductOrderDeleteEvent", "description": "Example of a client listener for receiving the notification ProductOrderDeleteEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/ProductOrderDeleteEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/productOrderStateChangeEvent": { "post": { "operationId": "listenToProductOrderStateChangeEvent", "summary": "Client listener for entity ProductOrderStateChangeEvent", "description": "Example of a client listener for receiving the notification ProductOrderStateChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/ProductOrderStateChangeEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/productOrderInformationRequiredEvent": { "post": { "operationId": "listenToProductOrderInformationRequiredEvent", "summary": "Client listener for entity ProductOrderInformationRequiredEvent", "description": "Example of a client listener for receiving the notification ProductOrderInformationRequiredEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/ProductOrderInformationRequiredEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/cancelProductOrderCreateEvent": { "post": { "operationId": "listenToCancelProductOrderCreateEvent", "summary": "Client listener for entity CancelProductOrderCreateEvent", "description": "Example of a client listener for receiving the notification CancelProductOrderCreateEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/CancelProductOrderCreateEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/cancelProductOrderStateChangeEvent": { "post": { "operationId": "listenToCancelProductOrderStateChangeEvent", "summary": "Client listener for entity CancelProductOrderStateChangeEvent", "description": "Example of a client listener for receiving the notification CancelProductOrderStateChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/CancelProductOrderStateChangeEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/cancelProductOrderInformationRequiredEvent": { "post": { "operationId": "listenToCancelProductOrderInformationRequiredEvent", "summary": "Client listener for entity CancelProductOrderInformationRequiredEvent", "description": "Example of a client listener for receiving the notification CancelProductOrderInformationRequiredEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/CancelProductOrderInformationRequiredEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } } }, "definitions": { "AgreementItemRef": { "type": "object", "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "agreementItemId": { "type": "string", "description": "Identifier of the agreement" }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "AgreementRef": { "type": "object", "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the agreement" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "Any": {}, "AppointmentRef": { "type": "object", "description": "Refers an appointment, such as a Customer presentation or internal meeting or site visit", "properties": { "id": { "type": "string", "description": "The identifier of the referred appointment" }, "href": { "type": "string", "description": "The reference of the appointment" }, "description": { "type": "string", "description": "An explanatory text regarding the appointment made with a party" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation" } }, "required": [ "id" ] }, "BillingAccountRef": { "type": "object", "description": "BillingAccount reference. A BillingAccount is a detailed description of a bill structure.", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier of the billing account" }, "href": { "type": "string", "description": "Reference of the billing account" }, "name": { "type": "string", "description": "Name of the billing account" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "CancelOrder": { "type": "object", "description": "A Order cancel is a type of task which can be used to place a request to cancel an order", "properties": { "id": { "type": "string", "description": "id of the cancellation request (this is not an order id)" }, "href": { "type": "string", "description": "Hyperlink to access the cancellation request" }, "cancellationReason": { "type": "string", "description": "Reason why the order is cancelled." }, "effectiveCancellationDate": { "type": "string", "format": "date-time", "description": "Date when the order is cancelled." }, "requestedCancellationDate": { "type": "string", "format": "date-time", "description": "Date when the submitter wants the order to be cancelled" }, "state": { "$ref": "#/definitions/TaskStateType", "description": "Tracks the lifecycle status of the cancellation request, such as Acknowledged, Rejected, InProgress, Pending and so on." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "CancelProductOrder": { "type": "object", "description": "Request for cancellation an existing product order", "required": [ "productOrder" ], "properties": { "id": { "type": "string", "description": "id of the cancellation request (this is not an order id)" }, "href": { "type": "string", "description": "Hyperlink to access the cancellation request" }, "cancellationReason": { "type": "string", "description": "Reason why the order is cancelled." }, "effectiveCancellationDate": { "type": "string", "format": "date-time", "description": "Date when the order is cancelled." }, "requestedCancellationDate": { "type": "string", "format": "date-time", "description": "Date when the submitter wants the order to be cancelled" }, "productOrder": { "$ref": "#/definitions/ProductOrderRef" }, "state": { "$ref": "#/definitions/TaskStateType", "description": "Tracks the lifecycle status of the cancellation request, such as Acknowledged, Rejected, InProgress, Pending and so on." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "CancelProductOrder_Create": { "type": "object", "description": "Request for cancellation an existing product order\nSkipped properties: id,href,state,effectiveCancellationDate", "required": [ "productOrder" ], "properties": { "cancellationReason": { "type": "string", "description": "Reason why the order is cancelled." }, "requestedCancellationDate": { "type": "string", "format": "date-time", "description": "Date when the submitter wants the order to be cancelled" }, "productOrder": { "$ref": "#/definitions/ProductOrderRef" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "Characteristic": { "type": "object", "description": "Describes a given characteristic of an object or entity through a name/value pair.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "Name of the characteristic" }, "valueType": { "type": "string", "description": "Data type of the value of the characteristic" }, "value": { "$ref": "#/definitions/Any", "description": "The value of the characteristic" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "EntityRef": { "type": "object", "description": "Entity reference schema to be use for all entityRef class.", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "Money": { "type": "object", "description": "A base / value business entity used to represent money", "properties": { "unit": { "type": "string", "description": "Currency (ISO4217 norm uses 3 letters to define the currency)" }, "value": { "type": "number", "format": "float", "description": "A positive floating point number" } } }, "Note": { "type": "object", "description": "Extra information about a given entity", "required": [ "text" ], "properties": { "id": { "type": "string", "description": "Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation)" }, "author": { "type": "string", "description": "Author of the note" }, "date": { "type": "string", "format": "date-time", "description": "Date of the note" }, "text": { "type": "string", "description": "Text of the note" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "OrderItemActionType": { "type": "string", "description": "action to be performed on the product", "enum": [ "add", "modify", "delete", "noChange" ] }, "OrderItemRelationship": { "type": "object", "properties": { "id": { "type": "string" }, "relationshipType": { "type": "string", "description": "The type of order item relationship" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "OrderPrice": { "type": "object", "description": "An amount, usually of money, that represents the actual price paid by the Customer for this item or this order", "properties": { "description": { "type": "string", "description": "A narrative that explains in detail the semantics of this order item price." }, "name": { "type": "string", "description": "A short descriptive name such as \"Subscription price\"." }, "priceType": { "type": "string", "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth" }, "recurringChargePeriod": { "type": "string", "description": "Could be month, week..." }, "unitOfMeasure": { "type": "string", "description": "Could be minutes, GB..." }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef", "description": "A reference to a billing account used for paid the order price charge" }, "price": { "$ref": "#/definitions/Price", "description": "a structure used to define price amount" }, "priceAlteration": { "type": "array", "items": { "$ref": "#/definitions/PriceAlteration" }, "description": "a strucuture used to describe a price alteration" }, "productOfferingPrice": { "$ref": "#/definitions/ProductOfferingPriceRef", "description": "An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "OrderTerm": { "type": "object", "description": "Description of a productTerm linked to this orderItem. This represent a commitment with a duration", "properties": { "description": { "type": "string", "description": "Description of the productOrderTerm" }, "name": { "type": "string", "description": "Name of the productOrderTerm" }, "duration": { "$ref": "#/definitions/Quantity", "description": "Duration of the productOrderTerm" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "PaymentRef": { "type": "object", "description": "If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "A name for the payment" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "Place": { "type": "object", "description": "Place reference. Place defines the places where the products are sold or delivered.", "properties": { "id": { "type": "string", "description": "Unique identifier of the place" }, "href": { "type": "string", "description": "Unique reference of the place" }, "name": { "type": "string", "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "PlaceRef": { "type": "object", "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "Price": { "type": "object", "description": "Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.", "properties": { "percentage": { "type": "number", "format": "float", "description": "Percentage to apply for ProdOfferPriceAlteration" }, "taxRate": { "type": "number", "format": "float", "description": "Tax rate" }, "dutyFreeAmount": { "$ref": "#/definitions/Money", "description": "All taxes excluded amount (expressed in the given currency)" }, "taxIncludedAmount": { "$ref": "#/definitions/Money", "description": "All taxes included amount (expressed in the given currency)" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "PriceAlteration": { "type": "object", "description": "Is an amount, usually of money, that modifies the price charged for an order item.", "required": [ "price", "priceType" ], "properties": { "applicationDuration": { "type": "integer", "description": "Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)" }, "description": { "type": "string", "description": "A narrative that explains in detail the semantics of this order item price alteration" }, "name": { "type": "string", "description": "Name of the order item price alteration" }, "priceType": { "type": "string", "description": "A category that describes the price such as recurring, one time and usage." }, "priority": { "type": "integer", "description": "Priority level for applying this alteration among all the defined alterations on the order item price" }, "recurringChargePeriod": { "type": "string", "description": "Could be month, week..." }, "unitOfMeasure": { "type": "string", "description": "Could be minutes, GB..." }, "price": { "$ref": "#/definitions/Price" }, "productOfferingPrice": { "$ref": "#/definitions/ProductOfferingPriceRef" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "Product": { "type": "object", "description": "A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).", "properties": { "id": { "type": "string", "description": "Unique identifier of the product" }, "href": { "type": "string", "description": "Reference of the product" }, "description": { "type": "string", "description": "Is the description of the product. It could be copied from the description of the Product Offering." }, "isBundle": { "type": "boolean", "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." }, "isCustomerVisible": { "type": "boolean", "description": "If true, the product is visible by the customer." }, "name": { "type": "string", "description": "Name of the product. It could be the same as the name of the product offering" }, "orderDate": { "type": "string", "format": "date-time", "description": "Is the date when the product was ordered" }, "productSerialNumber": { "type": "string", "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." }, "startDate": { "type": "string", "format": "date-time", "description": "Is the date from which the product starts" }, "terminationDate": { "type": "string", "format": "date-time", "description": "Is the date when the product was terminated" }, "agreement": { "type": "array", "items": { "$ref": "#/definitions/AgreementItemRef" } }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef" }, "place": { "type": "array", "items": { "$ref": "#/definitions/RelatedPlaceRefOrValue" } }, "product": { "type": "array", "items": { "$ref": "#/definitions/ProductRefOrValue" } }, "productCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } }, "productOffering": { "$ref": "#/definitions/ProductOfferingRef" }, "productOrderItem": { "type": "array", "items": { "$ref": "#/definitions/RelatedProductOrderItem" } }, "productPrice": { "type": "array", "items": { "$ref": "#/definitions/ProductPrice" } }, "productRelationship": { "type": "array", "items": { "$ref": "#/definitions/ProductRelationship" } }, "productSpecification": { "$ref": "#/definitions/ProductSpecificationRef" }, "productTerm": { "type": "array", "items": { "$ref": "#/definitions/ProductTerm" } }, "realizingResource": { "type": "array", "items": { "$ref": "#/definitions/ResourceRef" } }, "realizingService": { "type": "array", "items": { "$ref": "#/definitions/ServiceRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "status": { "$ref": "#/definitions/ProductStatusType", "description": "Is the lifecycle status of the product." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "ProductOfferingPriceRef": { "type": "object", "description": "ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "ProductOfferingQualificationItemRef": { "type": "object", "description": "It's a productOfferingQualification item that has been executed previously.", "required": [ "id", "productOfferingQualificationId" ], "properties": { "id": { "type": "string", "description": "Id of an item of a product offering qualification" }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "productOfferingQualificationHref": { "type": "string", "description": "Reference of the related entity." }, "productOfferingQualificationId": { "type": "string", "description": "Unique identifier of a related entity." }, "productOfferingQualificationName": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "ProductOfferingQualificationRef": { "type": "object", "description": "It's a productOfferingQualification that has been executed previously", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "ProductOfferingRef": { "type": "object", "description": "ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "ProductOrder": { "type": "object", "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,", "required": [ "productOrderItem" ], "properties": { "id": { "type": "string", "description": "ID created on repository side (OM system)" }, "href": { "type": "string", "description": "Hyperlink to access the order" }, "cancellationDate": { "type": "string", "format": "date-time", "description": "Date when the order is cancelled. This is used when order is cancelled. " }, "cancellationReason": { "type": "string", "description": "Reason why the order is cancelled. This is used when order is cancelled. " }, "category": { "type": "string", "description": "Used to categorize the order from a business perspective that can be useful for the OM system (e.g. \"enterprise\", \"residential\", ...)" }, "completionDate": { "type": "string", "format": "date-time", "description": "Date when the order was completed" }, "description": { "type": "string", "description": "Description of the product order" }, "expectedCompletionDate": { "type": "string", "format": "date-time", "description": "Expected delivery date amended by the provider" }, "externalId": { "type": "string", "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards)" }, "notificationContact": { "type": "string", "description": "Contact attached to the order to send back information regarding this order" }, "orderDate": { "type": "string", "format": "date-time", "description": "Date when the order was created" }, "priority": { "type": "string", "description": "A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)" }, "requestedCompletionDate": { "type": "string", "format": "date-time", "description": "Requested delivery date from the requestor perspective" }, "requestedStartDate": { "type": "string", "format": "date-time", "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date. " }, "agreement": { "type": "array", "items": { "$ref": "#/definitions/AgreementRef" }, "description": "A reference to an agreement defined in the context of the product order" }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef" }, "channel": { "type": "array", "items": { "$ref": "#/definitions/RelatedChannel" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "orderTotalPrice": { "type": "array", "items": { "$ref": "#/definitions/OrderPrice" } }, "payment": { "type": "array", "items": { "$ref": "#/definitions/PaymentRef" } }, "productOfferingQualification": { "type": "array", "items": { "$ref": "#/definitions/ProductOfferingQualificationRef" } }, "productOrderItem": { "type": "array", "items": { "$ref": "#/definitions/ProductOrderItem" }, "minItems": 1 }, "quote": { "type": "array", "items": { "$ref": "#/definitions/QuoteRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "state": { "$ref": "#/definitions/ProductOrderStateType", "description": "Tracks the lifecycle status of the product order, such as Acknowledged, Rejected, InProgress, Pending and so on." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "ProductOrder_Create": { "type": "object", "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,\nSkipped properties: id,href,completionDate,orderDate,state,expectedCompletionDate,productOrderItem.state", "required": [ "productOrderItem" ], "properties": { "cancellationDate": { "type": "string", "format": "date-time", "description": "Date when the order is cancelled. This is used when order is cancelled. " }, "cancellationReason": { "type": "string", "description": "Reason why the order is cancelled. This is used when order is cancelled. " }, "category": { "type": "string", "description": "Used to categorize the order from a business perspective that can be useful for the OM system (e.g. \"enterprise\", \"residential\", ...)" }, "description": { "type": "string", "description": "Description of the product order" }, "externalId": { "type": "string", "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards)" }, "notificationContact": { "type": "string", "description": "Contact attached to the order to send back information regarding this order" }, "priority": { "type": "string", "description": "A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)" }, "requestedCompletionDate": { "type": "string", "format": "date-time", "description": "Requested delivery date from the requestor perspective" }, "requestedStartDate": { "type": "string", "format": "date-time", "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date. " }, "agreement": { "type": "array", "items": { "$ref": "#/definitions/AgreementRef" }, "description": "A reference to an agreement defined in the context of the product order" }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef" }, "channel": { "type": "array", "items": { "$ref": "#/definitions/RelatedChannel" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "orderTotalPrice": { "type": "array", "items": { "$ref": "#/definitions/OrderPrice" } }, "payment": { "type": "array", "items": { "$ref": "#/definitions/PaymentRef" } }, "productOfferingQualification": { "type": "array", "items": { "$ref": "#/definitions/ProductOfferingQualificationRef" } }, "productOrderItem": { "type": "array", "items": { "$ref": "#/definitions/ProductOrderItem" }, "minItems": 1 }, "quote": { "type": "array", "items": { "$ref": "#/definitions/QuoteRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "ProductOrder_Update": { "type": "object", "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,\nSkipped properties: id,href,orderDate", "required": [ "productOrderItem" ], "properties": { "cancellationDate": { "type": "string", "format": "date-time", "description": "Date when the order is cancelled. This is used when order is cancelled. " }, "cancellationReason": { "type": "string", "description": "Reason why the order is cancelled. This is used when order is cancelled. " }, "category": { "type": "string", "description": "Used to categorize the order from a business perspective that can be useful for the OM system (e.g. \"enterprise\", \"residential\", ...)" }, "completionDate": { "type": "string", "format": "date-time", "description": "Date when the order was completed" }, "description": { "type": "string", "description": "Description of the product order" }, "expectedCompletionDate": { "type": "string", "format": "date-time", "description": "Expected delivery date amended by the provider" }, "externalId": { "type": "string", "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards)" }, "notificationContact": { "type": "string", "description": "Contact attached to the order to send back information regarding this order" }, "priority": { "type": "string", "description": "A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)" }, "requestedCompletionDate": { "type": "string", "format": "date-time", "description": "Requested delivery date from the requestor perspective" }, "requestedStartDate": { "type": "string", "format": "date-time", "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date. " }, "agreement": { "type": "array", "items": { "$ref": "#/definitions/AgreementRef" }, "description": "A reference to an agreement defined in the context of the product order" }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef" }, "channel": { "type": "array", "items": { "$ref": "#/definitions/RelatedChannel" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "orderTotalPrice": { "type": "array", "items": { "$ref": "#/definitions/OrderPrice" } }, "payment": { "type": "array", "items": { "$ref": "#/definitions/PaymentRef" } }, "productOfferingQualification": { "type": "array", "items": { "$ref": "#/definitions/ProductOfferingQualificationRef" } }, "productOrderItem": { "type": "array", "items": { "$ref": "#/definitions/ProductOrderItem" }, "minItems": 1 }, "quote": { "type": "array", "items": { "$ref": "#/definitions/QuoteRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "state": { "$ref": "#/definitions/ProductOrderStateType", "description": "Tracks the lifecycle status of the product order, such as Acknowledged, Rejected, InProgress, Pending and so on." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "ProductOrderItem": { "type": "object", "description": "An identified part of the order. A product order is decomposed into one or more order items.", "required": [ "id", "action" ], "properties": { "id": { "type": "string", "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, ...)" }, "quantity": { "type": "integer", "description": "Quantity ordered" }, "action": { "$ref": "#/definitions/OrderItemActionType", "description": "The action to be carried out on the Product. Can be: add, modify, delete, noChange" }, "appointment": { "$ref": "#/definitions/AppointmentRef" }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef" }, "itemPrice": { "type": "array", "items": { "$ref": "#/definitions/OrderPrice" } }, "itemTerm": { "type": "array", "items": { "$ref": "#/definitions/OrderTerm" } }, "itemTotalPrice": { "type": "array", "items": { "$ref": "#/definitions/OrderPrice" } }, "payment": { "type": "array", "items": { "$ref": "#/definitions/PaymentRef" } }, "product": { "$ref": "#/definitions/ProductRefOrValue" }, "productOffering": { "$ref": "#/definitions/ProductOfferingRef" }, "productOfferingQualificationItem": { "$ref": "#/definitions/ProductOfferingQualificationItemRef" }, "productOrderItem": { "type": "array", "items": { "$ref": "#/definitions/ProductOrderItem" } }, "productOrderItemRelationship": { "type": "array", "items": { "$ref": "#/definitions/OrderItemRelationship" } }, "qualification": { "type": "array", "items": { "$ref": "#/definitions/ProductOfferingQualificationRef" } }, "quoteItem": { "$ref": "#/definitions/QuoteItemRef" }, "state": { "$ref": "#/definitions/ProductOrderItemStateType", "description": "State of the order item : described in the state machine diagram" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "ProductOrderItemStateType": { "type": "string", "description": "Possible values for the state of the product order item", "enum": [ "acknowledged", "rejected", "pending", "held", "inProgress", "cancelled", "completed", "failed", "assessingCancellation", "pendingCancellation" ] }, "ProductOrderRef": { "type": "object", "description": "ProductOrder (ProductOrder) .The product order which the recommendation is related with.", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "ProductOrderStateType": { "type": "string", "description": "Possible values for the state of the order", "enum": [ "acknowledged", "rejected", "pending", "held", "inProgress", "cancelled", "completed", "failed", "partial", "assessingCancellation", "pendingCancellation" ] }, "ProductPrice": { "type": "object", "description": "An amount, usually of money, that represents the actual price paid by a Customer for a purchase, a rent or a lease of a Product. The price is valid for a defined period of time.", "required": [ "price", "priceType" ], "properties": { "description": { "type": "string", "description": "A narrative that explains in detail the semantics of this product price." }, "name": { "type": "string", "description": "A short descriptive name such as \"Subscription price\"." }, "priceType": { "type": "string", "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth." }, "recurringChargePeriod": { "type": "string", "description": "Could be month, week..." }, "unitOfMeasure": { "type": "string", "description": "Could be minutes, GB..." }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef" }, "price": { "$ref": "#/definitions/Price" }, "productOfferingPrice": { "$ref": "#/definitions/ProductOfferingPriceRef" }, "productPriceAlteration": { "type": "array", "items": { "$ref": "#/definitions/PriceAlteration" } }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "ProductRef": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "ProductRefOrValue": { "type": "object", "description": "A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself", "properties": { "id": { "type": "string", "description": "Unique identifier of the product" }, "href": { "type": "string", "description": "Reference of the product" }, "description": { "type": "string", "description": "Is the description of the product. It could be copied from the description of the Product Offering." }, "isBundle": { "type": "boolean", "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." }, "isCustomerVisible": { "type": "boolean", "description": "If true, the product is visible by the customer." }, "name": { "type": "string", "description": "Name of the product. It could be the same as the name of the product offering" }, "orderDate": { "type": "string", "format": "date-time", "description": "Is the date when the product was ordered" }, "productSerialNumber": { "type": "string", "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." }, "startDate": { "type": "string", "format": "date-time", "description": "Is the date from which the product starts" }, "terminationDate": { "type": "string", "format": "date-time", "description": "Is the date when the product was terminated" }, "agreement": { "type": "array", "items": { "$ref": "#/definitions/AgreementItemRef" } }, "billingAccount": { "$ref": "#/definitions/BillingAccountRef" }, "place": { "type": "array", "items": { "$ref": "#/definitions/RelatedPlaceRefOrValue" } }, "product": { "type": "array", "items": { "$ref": "#/definitions/ProductRefOrValue" } }, "productCharacteristic": { "type": "array", "items": { "$ref": "#/definitions/Characteristic" } }, "productOffering": { "$ref": "#/definitions/ProductOfferingRef" }, "productOrderItem": { "type": "array", "items": { "$ref": "#/definitions/RelatedProductOrderItem" } }, "productPrice": { "type": "array", "items": { "$ref": "#/definitions/ProductPrice" } }, "productRelationship": { "type": "array", "items": { "$ref": "#/definitions/ProductRelationship" } }, "productSpecification": { "$ref": "#/definitions/ProductSpecificationRef" }, "productTerm": { "type": "array", "items": { "$ref": "#/definitions/ProductTerm" } }, "realizingResource": { "type": "array", "items": { "$ref": "#/definitions/ResourceRef" } }, "realizingService": { "type": "array", "items": { "$ref": "#/definitions/ServiceRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "status": { "$ref": "#/definitions/ProductStatusType", "description": "Is the lifecycle status of the product." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "ProductRelationship": { "type": "object", "description": "Linked products to the one instantiate, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful", "required": [ "product", "relationshipType" ], "properties": { "relationshipType": { "type": "string", "description": "Type of the product relationship, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful" }, "product": { "$ref": "#/definitions/ProductRefOrValue" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "ProductSpecificationRef": { "type": "object", "description": "Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "version": { "type": "string", "description": "Version of the product specification" }, "targetProductSchema": { "$ref": "#/definitions/TargetProductSchema", "description": "A target product schema reference. The reference object to the schema and type of target product which is described by product specification." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "ProductStatusType": { "type": "string", "description": "Possible values for the status of the product", "enum": [ "created", "pendingActive", "cancelled", "active", "pendingTerminate", "terminated", "suspended", "aborted " ] }, "ProductTerm": { "type": "object", "description": "Description of a productTerm linked to this product. This represent a commitment with a duration", "properties": { "description": { "type": "string", "description": "Description of the productTerm" }, "name": { "type": "string", "description": "Name of the productTerm" }, "duration": { "$ref": "#/definitions/Quantity", "description": "Duration of the productTerm" }, "validFor": { "$ref": "#/definitions/TimePeriod", "description": "productTerm validity period" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "Quantity": { "type": "object", "description": "An amount in a given unit", "properties": { "amount": { "default": 1, "type": "number", "format": "float", "description": "Numeric value in a given unit" }, "units": { "type": "string", "description": "Unit" } } }, "QuoteItemRef": { "type": "object", "description": "It's a Quote item that has been executed previously.", "required": [ "id", "quoteId" ], "properties": { "id": { "type": "string", "description": "Id of an item of a quote" }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "quoteHref": { "type": "string", "description": "Reference of the related entity." }, "quoteId": { "type": "string", "description": "Unique identifier of a related entity." }, "quoteName": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "QuoteRef": { "type": "object", "description": "It's a Quote that has been executed previously", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "RelatedChannel": { "type": "object", "description": "Related channel to another entity. May be online web, mobile app, social ,etc.", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the channel." }, "role": { "type": "string", "description": "Role playing by the channel." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "RelatedParty": { "type": "object", "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", "required": [ "@referredType", "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "role": { "type": "string", "description": "Role played by the related party" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "RelatedPlaceRefOrValue": { "type": "object", "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself", "required": [ "role" ], "properties": { "id": { "type": "string", "description": "Unique identifier of the place" }, "href": { "type": "string", "description": "Unique reference of the place" }, "name": { "type": "string", "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" }, "role": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "RelatedProductOrderItem": { "type": "object", "description": "RelatedProductOrderItem (ProductOrder item) .The product order item which triggered product creation/change/termination.", "required": [ "orderItemId", "productOrderId" ], "properties": { "orderItemAction": { "type": "string", "description": "Action of the order item for this product" }, "orderItemId": { "type": "string", "description": "Identifier of the order item where the product was managed" }, "productOrderHref": { "type": "string", "description": "Reference of the related entity." }, "productOrderId": { "type": "string", "description": "Unique identifier of a related entity." }, "role": { "type": "string", "description": "role of the product order item for this product" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "ResourceRef": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the resource" }, "value": { "type": "string", "description": "The resource value that can be used to identify a resource with a public key (e.g.: a tel nr, an msisdn)" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "ServiceRef": { "type": "object", "description": "Service reference, for when Service is used by other entities", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "TargetProductSchema": { "type": "object", "description": "The reference object to the schema and type of target product which is described by product specification", "required": [ "@schemaLocation", "@type" ], "properties": { "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "This field provides a link to the schema describing the target product" }, "@type": { "type": "string", "description": "Class type of the target product" } } }, "TaskStateType": { "type": "string", "description": "Possible values for the state of a task", "enum": [ "acknowledged", "terminatedWithError", "inProgress", "done" ] }, "TimePeriod": { "type": "object", "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", "properties": { "endDateTime": { "type": "string", "format": "date-time", "description": "End of the time period, using IETC-RFC-3339 format" }, "startDateTime": { "type": "string", "format": "date-time", "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" } } }, "EventSubscription": { "type": "object", "description": "Sets the communication endpoint address the service instance must use to deliver notification information", "required": [ "id", "callback" ], "properties": { "id": { "type": "string", "description": "Id of the listener" }, "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } } }, "EventSubscriptionInput": { "type": "object", "description": "Sets the communication endpoint address the service instance must use to deliver notification information", "required": [ "callback" ], "properties": { "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } } }, "ProductOrderCreateEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/ProductOrderCreateEventPayload" } } }, "ProductOrderCreateEventPayload": { "type": "object", "description": "The event data structure", "properties": { "productOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/ProductOrder" } } }, "ProductOrderAttributeValueChangeEvent": { "type": "object", "description": "The notification data structure", "properties": { "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/ProductOrderAttributeValueChangeEventPayload" } } }, "ProductOrderAttributeValueChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "productOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/ProductOrder" } } }, "ProductOrderDeleteEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/ProductOrderDeleteEventPayload" } } }, "ProductOrderDeleteEventPayload": { "type": "object", "description": "The event data structure", "properties": { "productOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/ProductOrder" } } }, "ProductOrderStateChangeEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/ProductOrderStateChangeEventPayload" } } }, "ProductOrderStateChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "productOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/ProductOrder" } } }, "ProductOrderInformationRequiredEvent": { "type": "object", "description": "The notification data structure", "properties": { "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/ProductOrderInformationRequiredEventPayload" } } }, "ProductOrderInformationRequiredEventPayload": { "type": "object", "description": "The event data structure", "properties": { "productOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/ProductOrder" } } }, "CancelProductOrderCreateEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/CancelProductOrderCreateEventPayload" } } }, "CancelProductOrderCreateEventPayload": { "type": "object", "description": "The event data structure", "properties": { "cancelProductOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/CancelProductOrder" } } }, "CancelProductOrderStateChangeEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/CancelProductOrderStateChangeEventPayload" } } }, "CancelProductOrderStateChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "cancelProductOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/CancelProductOrder" } } }, "CancelProductOrderInformationRequiredEvent": { "type": "object", "description": "The notification data structure", "properties": { "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/CancelProductOrderInformationRequiredEventPayload" } } }, "CancelProductOrderInformationRequiredEventPayload": { "type": "object", "description": "The event data structure", "properties": { "cancelProductOrder": { "description": "The involved resource data for the event", "$ref": "#/definitions/CancelProductOrder" } } }, "Error": { "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", "type": "object", "required": [ "code", "reason" ], "properties": { "code": { "type": "string", "description": "Application relevant detail, defined in the API or a common list." }, "reason": { "type": "string", "description": "Explanation of the reason for the error which can be shown to a client user." }, "message": { "type": "string", "description": "More details and corrective actions related to the error which can be shown to a client user." }, "status": { "type": "string", "description": "HTTP Error code extension" }, "referenceError": { "type": "string", "format": "uri", "description": "URI of documentation describing the error." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class." }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name." } } } } }