{
  "openapi": "3.0.1",
  "info": {
    "title": "TMF 622 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.",
    "license": {
      "name": "Apache 2.0",
      "url": "https://osl.etsi.org"
    },
    "version": "1.0.0"
  },
  "externalDocs": {
    "description": "TMF API Tables",
    "url": "https://www.tmforum.org/oda/open-apis/table"
  },
  "servers": [
    {
      "url": "https://portal.openslice.eu/tmf-api",
      "description": "Generated server url"
    }
  ],
  "security": [
    {
      "security_auth": []
    }
  ],
  "tags": [
    {
      "name": "productOrder",
      "description": "the productOrder API"
    },
    {
      "name": "listener",
      "description": "the listener API"
    },
    {
      "name": "cancelProductOrder",
      "description": "the cancelProductOrder API"
    },
    {
      "name": "hub",
      "description": "the hub API"
    }
  ],
  "paths": {
    "/productOrderingManagement/v4/productOrder": {
      "get": {
        "tags": [
          "productOrder"
        ],
        "summary": "List or find ProductOrder objects",
        "description": "This operation list or find ProductOrder entities",
        "operationId": "listProductOrder",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated properties to be provided in response",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Requested index for start of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Requested number of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "starttime",
            "in": "query",
            "description": "Requested starttime for start of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endtime",
            "in": "query",
            "description": "Requested endtime for start of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOrder"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "productOrder"
        ],
        "summary": "Creates a ProductOrder",
        "description": "This operation creates a ProductOrder entity.",
        "operationId": "createProductOrder",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/ProductOrderCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "400": {
            "description": "Created",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/productOrderStateChangeEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity ProductOrderStateChangeEvent",
        "description": "Example of a client listener for receiving the notification ProductOrderStateChangeEvent",
        "operationId": "listenToProductOrderStateChangeEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/ProductOrderStateChangeEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/productOrderInformationRequiredEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity ProductOrderInformationRequiredEvent",
        "description": "Example of a client listener for receiving the notification ProductOrderInformationRequiredEvent",
        "operationId": "listenToProductOrderInformationRequiredEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/ProductOrderInformationRequiredEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/productOrderDeleteEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity ProductOrderDeleteEvent",
        "description": "Example of a client listener for receiving the notification ProductOrderDeleteEvent",
        "operationId": "listenToProductOrderDeleteEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/ProductOrderDeleteEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/productOrderCreateEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity ProductOrderCreateEvent",
        "description": "Example of a client listener for receiving the notification ProductOrderCreateEvent",
        "operationId": "listenToProductOrderCreateEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/ProductOrderCreateEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/productOrderAttributeValueChangeEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity ProductOrderAttributeValueChangeEvent",
        "description": "Example of a client listener for receiving the notification ProductOrderAttributeValueChangeEvent",
        "operationId": "listenToProductOrderAttributeValueChangeEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/ProductOrderAttributeValueChangeEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/cancelProductOrderStateChangeEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity CancelProductOrderStateChangeEvent",
        "description": "Example of a client listener for receiving the notification CancelProductOrderStateChangeEvent",
        "operationId": "listenToCancelProductOrderStateChangeEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/CancelProductOrderStateChangeEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/cancelProductOrderInformationRequiredEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity CancelProductOrderInformationRequiredEvent",
        "description": "Example of a client listener for receiving the notification CancelProductOrderInformationRequiredEvent",
        "operationId": "listenToCancelProductOrderInformationRequiredEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/CancelProductOrderInformationRequiredEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/listener/cancelProductOrderCreateEvent": {
      "post": {
        "tags": [
          "listener",
          "notification listeners (client side)"
        ],
        "summary": "Client listener for entity CancelProductOrderCreateEvent",
        "description": "Example of a client listener for receiving the notification CancelProductOrderCreateEvent",
        "operationId": "listenToCancelProductOrderCreateEvent",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/CancelProductOrderCreateEvent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/hub": {
      "post": {
        "tags": [
          "hub",
          "events subscription"
        ],
        "summary": "Register a listener",
        "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
        "operationId": "registerListener",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/EventSubscriptionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "400": {
            "description": "Subscribed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/EventSubscription"
                }
              }
            }
          }
        }
      }
    },
    "/cancelProductOrder": {
      "get": {
        "tags": [
          "cancelProductOrder"
        ],
        "summary": "List or find CancelProductOrder objects",
        "description": "This operation list or find CancelProductOrder entities",
        "operationId": "listCancelProductOrder",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated properties to be provided in response",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Requested index for start of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Requested number of resources to be provided in response",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CancelProductOrder"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "cancelProductOrder"
        ],
        "summary": "Creates a CancelProductOrder",
        "description": "This operation creates a CancelProductOrder entity.",
        "operationId": "createCancelProductOrder",
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/CancelProductOrderCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "400": {
            "description": "Created",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/productOrder/{id}": {
      "get": {
        "tags": [
          "productOrder"
        ],
        "summary": "Retrieves a ProductOrder by ID",
        "description": "This operation retrieves a ProductOrder entity. Attribute selection is enabled for all first level attributes.",
        "operationId": "retrieveProductOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the ProductOrder",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated properties to provide in response",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "productOrder"
        ],
        "summary": "Deletes a ProductOrder",
        "description": "This operation deletes a ProductOrder entity.",
        "operationId": "deleteProductOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the ProductOrder",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          },
          "204": {
            "description": "Deleted"
          },
          "409": {
            "description": "Conflict"
          },
          "404": {
            "description": "Not Found"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request"
          },
          "405": {
            "description": "Method Not allowed"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "productOrder"
        ],
        "summary": "Updates partially a ProductOrder",
        "description": "This operation updates partially a ProductOrder entity.",
        "operationId": "patchProductOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the ProductOrder",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": {
                "$ref": "#/components/schemas/ProductOrderUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "200": {
            "description": "Updated",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOrder"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/productOrder/{id}/notes_graph": {
      "get": {
        "tags": [
          "productOrder"
        ],
        "summary": "Get a SVG image with Product order notes activity graph",
        "description": "This operation returns a SVG image with Product order notes activity  graph",
        "operationId": "getImageProductOrderNotesGraph",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the ProductOrder",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          },
          "302": {
            "description": "Success"
          },
          "409": {
            "description": "Conflict"
          },
          "404": {
            "description": "Not Found"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request"
          },
          "405": {
            "description": "Method Not allowed"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/productOrderingManagement/v4/productOrder/{id}/item/{itemid}/relationship_graph": {
      "get": {
        "tags": [
          "productOrder"
        ],
        "summary": "Get a SVG image with product order item services relationship graph",
        "description": "This operation returns a SVG image with Product order item services relationship graph",
        "operationId": "getImageProductOrderItemRelationshipGraph",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the ProductOrder",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemid",
            "in": "path",
            "description": "Identifier of the ProductOrderItem",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          },
          "302": {
            "description": "Success"
          },
          "409": {
            "description": "Conflict"
          },
          "404": {
            "description": "Not Found"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request"
          },
          "405": {
            "description": "Method Not allowed"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/cancelProductOrder/{id}": {
      "get": {
        "tags": [
          "cancelProductOrder"
        ],
        "summary": "Retrieves a CancelProductOrder by ID",
        "description": "This operation retrieves a CancelProductOrder entity. Attribute selection is enabled for all first level attributes.",
        "operationId": "retrieveCancelProductOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identifier of the CancelProductOrder",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated properties to provide in response",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "200": {
            "description": "Success",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/CancelProductOrder"
                }
              }
            }
          }
        }
      }
    },
    "/productOrderingManagement/v4/hub/{id}": {
      "delete": {
        "tags": [
          "hub",
          "events subscription"
        ],
        "summary": "Unregister a listener",
        "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
        "operationId": "unregisterListener",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the registered listener",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "500": {
            "description": "Internal Server Error"
          },
          "400": {
            "description": "Bad request"
          },
          "204": {
            "description": "Deleted"
          },
          "405": {
            "description": "Method not allowed"
          },
          "404": {
            "description": "Not Found"
          },
          "403": {
            "description": "Forbidden"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AgreementItemRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "agreementItemId": {
            "type": "string"
          },
          "@referredType": {
            "type": "string"
          }
        },
        "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."
      },
      "AgreementRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the agreement"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "@referredType": {
            "type": "string"
          }
        },
        "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."
      },
      "AppointmentRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "The reference of the appointment"
          },
          "id": {
            "type": "string",
            "description": "The identifier of the referred appointment"
          },
          "description": {
            "type": "string",
            "description": "An explanatory text regarding the appointment made with a party"
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "Refers an appointment, such as a Customer presentation or internal meeting or site visit"
      },
      "BillingAccountRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the billing account"
          },
          "name": {
            "type": "string",
            "description": "Name of the billing account"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the billing account"
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "BillingAccount reference. A BillingAccount is a detailed description of a bill structure."
      },
      "Characteristic": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "value": {
            "type": "object",
            "description": "The value of the characteristic"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "valueType": {
            "type": "string",
            "description": "Data type of the value of the characteristic"
          }
        },
        "description": "Describes a given characteristic of an object or entity through a name/value pair."
      },
      "Money": {
        "required": [
          "unit",
          "value"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "unit": {
            "type": "string",
            "description": "Currency (ISO4217 norm uses 3 letters to define the currency)"
          },
          "value": {
            "type": "number",
            "description": "A positive floating point number",
            "format": "float"
          }
        },
        "description": "A base / value business entity used to represent money"
      },
      "Note": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "description": "Date of the note"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "author": {
            "type": "string",
            "description": "Author of the note"
          },
          "system": {
            "type": "string",
            "description": "Describes the system from which the action related to this note was done"
          },
          "text": {
            "type": "string",
            "description": "Text of the note"
          }
        },
        "description": "Extra information about a given entity"
      },
      "OrderItemRelationship": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "id": {
            "type": "string"
          },
          "relationshipType": {
            "type": "string",
            "description": "The type of order item relationship"
          }
        }
      },
      "OrderPrice": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "A short descriptive name such as \"Subscription price\"."
          },
          "description": {
            "type": "string",
            "description": "A narrative that explains in detail the semantics of this order item 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": "#/components/schemas/BillingAccountRef"
          },
          "price": {
            "$ref": "#/components/schemas/Price"
          },
          "priceAlteration": {
            "uniqueItems": true,
            "type": "array",
            "description": "a strucuture used to describe a price alteration",
            "items": {
              "$ref": "#/components/schemas/PriceAlteration"
            }
          },
          "productOfferingPrice": {
            "$ref": "#/components/schemas/ProductOfferingPriceRef"
          }
        },
        "description": "An amount, usually of money, that represents the actual price paid by the Customer for this item or this order"
      },
      "OrderTerm": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the productOrderTerm"
          },
          "description": {
            "type": "string",
            "description": "Description of the productOrderTerm"
          },
          "duration": {
            "$ref": "#/components/schemas/Quantity"
          }
        },
        "description": "Description of a productTerm linked to this orderItem. This represent a commitment with a duration"
      },
      "PaymentRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "A name for the payment"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "@referredType": {
            "type": "string"
          }
        },
        "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."
      },
      "Price": {
        "required": [
          "atBaseType",
          "atSchemaLocation",
          "atType",
          "dutyFreeAmount",
          "percentage",
          "taxIncludedAmount",
          "taxRate"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "percentage": {
            "type": "number",
            "description": "Percentage to apply for ProdOfferPriceAlteration",
            "format": "float"
          },
          "taxRate": {
            "type": "number",
            "description": "Tax rate",
            "format": "float"
          },
          "dutyFreeAmount": {
            "$ref": "#/components/schemas/Money"
          },
          "taxIncludedAmount": {
            "$ref": "#/components/schemas/Money"
          }
        },
        "description": "Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration."
      },
      "PriceAlteration": {
        "required": [
          "applicationDuration",
          "description",
          "name",
          "price",
          "priceType",
          "priority",
          "productOfferingPrice",
          "recurringChargePeriod",
          "unitOfMeasure"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the order item price alteration"
          },
          "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)",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "A narrative that explains in detail the semantics of this 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",
            "format": "int32"
          },
          "recurringChargePeriod": {
            "type": "string",
            "description": "Could be month, week..."
          },
          "unitOfMeasure": {
            "type": "string",
            "description": "Could be minutes, GB..."
          },
          "price": {
            "$ref": "#/components/schemas/Price"
          },
          "productOfferingPrice": {
            "$ref": "#/components/schemas/ProductOfferingPriceRef"
          }
        },
        "description": "Is an amount, usually of money, that modifies the price charged for an order item."
      },
      "ProductOfferingPriceRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "lastUpdate": {
            "type": "string",
            "description": "Date and time of the last update"
          },
          "lifecycleStatusEnum": {
            "type": "string",
            "writeOnly": true,
            "enum": [
              "In study",
              "In design",
              "In test",
              "Active",
              "Launched",
              "Retired",
              "Obsolete",
              "Rejected"
            ]
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "description": {
            "type": "string",
            "description": "Description of this catalog"
          },
          "lifecycleStatus": {
            "type": "string",
            "description": "Used to indicate the current lifecycle status"
          },
          "version": {
            "type": "string",
            "description": "Entity version"
          },
          "validFor": {
            "$ref": "#/components/schemas/TimePeriod"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        },
        "description": "ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased"
      },
      "ProductOfferingQualificationItemRef": {
        "required": [
          "id",
          "productOfferingQualificationId"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the related entity."
          },
          "id": {
            "type": "string",
            "description": "Id of an item of a product offering qualification"
          },
          "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."
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "It's a productOfferingQualification item that has been executed previously."
      },
      "ProductOfferingQualificationRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the related entity."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "It's a productOfferingQualification that has been executed previously"
      },
      "ProductOfferingRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        },
        "description": "ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information."
      },
      "ProductOrderCreate": {
        "required": [
          "productOrderItem"
        ],
        "type": "object",
        "properties": {
          "requestedCompletionDate": {
            "type": "string",
            "description": "Requested delivery date from the requestor perspective"
          },
          "requestedStartDate": {
            "type": "string",
            "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. "
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "cancellationDate": {
            "type": "string",
            "format": "date-time"
          },
          "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)"
          },
          "agreement": {
            "type": "array",
            "description": "A reference to an agreement defined in the context of the product order",
            "items": {
              "$ref": "#/components/schemas/AgreementRef"
            }
          },
          "billingAccount": {
            "$ref": "#/components/schemas/BillingAccountRef"
          },
          "channel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedChannel"
            }
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "orderTotalPrice": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderPrice"
            }
          },
          "payment": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentRef"
            }
          },
          "productOfferingQualification": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOfferingQualificationRef"
            }
          },
          "productOrderItem": {
            "maxItems": 2147483647,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOrderItem"
            }
          },
          "quote": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteRef"
            }
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty"
            }
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "INITIAL",
              "ACKNOWLEDGED",
              "REJECTED",
              "PENDING",
              "HELD",
              "INPROGRESS",
              "CANCELLED",
              "COMPLETED",
              "FAILED",
              "PARTIAL",
              "ASSESSINGCANCELLATION",
              "PENDINGCANCELLATION"
            ]
          }
        },
        "description": "The ProductOrder to be created"
      },
      "ProductOrderItem": {
        "required": [
          "action",
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "id": {
            "type": "string",
            "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, ...)"
          },
          "quantity": {
            "type": "integer",
            "description": "Quantity ordered",
            "format": "int32"
          },
          "action": {
            "type": "string",
            "enum": [
              "ADD",
              "MODIFY",
              "DELETE",
              "NOCHANGE"
            ]
          },
          "appointment": {
            "$ref": "#/components/schemas/AppointmentRef"
          },
          "billingAccount": {
            "$ref": "#/components/schemas/BillingAccountRef"
          },
          "itemPrice": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderPrice"
            }
          },
          "itemTerm": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTerm"
            }
          },
          "itemTotalPrice": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderPrice"
            }
          },
          "payment": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentRef"
            }
          },
          "product": {
            "$ref": "#/components/schemas/ProductRefOrValue"
          },
          "productOffering": {
            "$ref": "#/components/schemas/ProductOfferingRef"
          },
          "productOfferingQualificationItem": {
            "$ref": "#/components/schemas/ProductOfferingQualificationItemRef"
          },
          "productOrderItem": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOrderItem"
            }
          },
          "productOrderItemRelationship": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItemRelationship"
            }
          },
          "qualification": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOfferingQualificationRef"
            }
          },
          "quoteItem": {
            "$ref": "#/components/schemas/QuoteItemRef"
          },
          "state": {
            "type": "string",
            "enum": [
              "INITIAL",
              "ACKNOWLEDGED",
              "REJECTED",
              "PENDING",
              "HELD",
              "INPROGRESS",
              "CANCELLED",
              "COMPLETED",
              "FAILED",
              "ASSESSINGCANCELLATION",
              "PENDINGCANCELLATION"
            ]
          }
        },
        "description": "An identified part of the order. A product order is decomposed into one or more order items."
      },
      "ProductPrice": {
        "required": [
          "billingAccount",
          "description",
          "name",
          "price",
          "priceType",
          "productOfferingPrice",
          "productPriceAlteration",
          "recurringChargePeriod",
          "unitOfMeasure"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "A short descriptive name such as \"Subscription price\"."
          },
          "description": {
            "type": "string",
            "description": "A narrative that explains in detail the semantics of this product 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": "#/components/schemas/BillingAccountRef"
          },
          "price": {
            "$ref": "#/components/schemas/Price"
          },
          "productOfferingPrice": {
            "$ref": "#/components/schemas/ProductOfferingPriceRef"
          },
          "productPriceAlteration": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceAlteration"
            }
          }
        },
        "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."
      },
      "ProductRefOrValue": {
        "required": [
          "agreement",
          "billingAccount",
          "description",
          "href",
          "id",
          "isBundle",
          "isCustomerVisible",
          "name",
          "orderDate",
          "place",
          "product",
          "productCharacteristic",
          "productOffering",
          "productOrderItem",
          "productPrice",
          "productRelationship",
          "productSerialNumber",
          "productSpecification",
          "productTerm",
          "realizingResource",
          "realizingService",
          "relatedParty",
          "startDate",
          "status",
          "terminationDate"
        ],
        "type": "object",
        "properties": {
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the product"
          },
          "name": {
            "type": "string",
            "description": "Name of the product. It could be the same as the name of the product offering"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier 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."
          },
          "orderDate": {
            "type": "string",
            "description": "Is the date when the product was ordered",
            "format": "date-time"
          },
          "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",
            "description": "Is the date from which the product starts",
            "format": "date-time"
          },
          "terminationDate": {
            "type": "string",
            "description": "Is the date when the product was terminated",
            "format": "date-time"
          },
          "agreement": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgreementItemRef"
            }
          },
          "billingAccount": {
            "$ref": "#/components/schemas/BillingAccountRef"
          },
          "place": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedPlaceRefOrValue"
            }
          },
          "product": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductRefOrValue"
            }
          },
          "productCharacteristic": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Characteristic"
            }
          },
          "productOffering": {
            "$ref": "#/components/schemas/ProductOfferingRef"
          },
          "productOrderItem": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedProductOrderItem"
            }
          },
          "productPrice": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductPrice"
            }
          },
          "productRelationship": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductRelationship"
            }
          },
          "productSpecification": {
            "$ref": "#/components/schemas/ProductSpecificationRef"
          },
          "productTerm": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductTerm"
            }
          },
          "realizingResource": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRef"
            }
          },
          "realizingService": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceRef"
            }
          },
          "relatedParty": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "CREATED",
              "PENDINGACTIVE",
              "CANCELLED",
              "ACTIVE",
              "PENDINGTERMINATE",
              "TERMINATED",
              "SUSPENDED",
              "ABORTED_ "
            ]
          }
        },
        "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"
      },
      "ProductRelationship": {
        "required": [
          "product",
          "relationshipType"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "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": "#/components/schemas/ProductRefOrValue"
          }
        },
        "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"
      },
      "ProductSpecificationRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "lastUpdate": {
            "type": "string",
            "description": "Date and time of the last update"
          },
          "lifecycleStatusEnum": {
            "type": "string",
            "writeOnly": true,
            "enum": [
              "In study",
              "In design",
              "In test",
              "Active",
              "Launched",
              "Retired",
              "Obsolete",
              "Rejected"
            ]
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "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"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "description": {
            "type": "string",
            "description": "Description of this catalog"
          },
          "lifecycleStatus": {
            "type": "string",
            "description": "Used to indicate the current lifecycle status"
          },
          "version": {
            "type": "string",
            "description": "Entity version"
          },
          "validFor": {
            "$ref": "#/components/schemas/TimePeriod"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "targetProductSchema": {
            "$ref": "#/components/schemas/TargetProductSchema"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        },
        "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."
      },
      "ProductTerm": {
        "required": [
          "description",
          "duration",
          "name",
          "validFor"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the productTerm"
          },
          "description": {
            "type": "string",
            "description": "Description of the productTerm"
          },
          "duration": {
            "$ref": "#/components/schemas/Quantity"
          },
          "validFor": {
            "$ref": "#/components/schemas/TimePeriod"
          }
        },
        "description": "Description of a productTerm linked to this product. This represent a commitment with a duration"
      },
      "Quantity": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Numeric value in a given unit",
            "format": "float"
          },
          "units": {
            "type": "string",
            "description": "Unit"
          }
        },
        "description": "An amount in a given unit"
      },
      "QuoteItemRef": {
        "required": [
          "id",
          "quoteId"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the related entity."
          },
          "id": {
            "type": "string",
            "description": "Id of an item of a quote"
          },
          "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."
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "It's a Quote item that has been executed previously."
      },
      "QuoteRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the related entity."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "It's a Quote that has been executed previously"
      },
      "RelatedChannel": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the channel."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "role": {
            "type": "string",
            "description": "Role playing by the channel."
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "Related channel to another entity. May be online web, mobile app, social ,etc."
      },
      "RelatedParty": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "role": {
            "type": "string",
            "description": "Role of the related party."
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "id": {
            "type": "string"
          },
          "extendedInfo": {
            "type": "string"
          }
        },
        "description": "RelatedParty reference. A related party defines party or party role linked to a specific entity."
      },
      "RelatedPlaceRefOrValue": {
        "required": [
          "atReferredType",
          "href",
          "id",
          "name",
          "role"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "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]"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the place"
          },
          "role": {
            "type": "string"
          },
          "@referredType": {
            "type": "string"
          }
        },
        "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"
      },
      "RelatedProductOrderItem": {
        "required": [
          "orderItemId",
          "productOrderId"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "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"
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "RelatedProductOrderItem (ProductOrder item) .The product order item which triggered product creation/change/termination."
      },
      "ResourceRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the supporting resource"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        }
      },
      "ServiceRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          },
          "name": {
            "type": "string",
            "description": "Name of the entity"
          },
          "id": {
            "type": "string",
            "description": "Id of the service"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          }
        },
        "description": "Service reference, for when Service is used by other entities"
      },
      "TargetProductSchema": {
        "type": "object",
        "properties": {
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the entity"
          }
        },
        "description": "The reference object to the schema and type of target product which is described by product specification"
      },
      "TimePeriod": {
        "type": "object",
        "properties": {
          "endDateTime": {
            "type": "string",
            "description": "End of the time period, using IETC-RFC-3339 format"
          },
          "startDateTime": {
            "type": "string",
            "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end"
          }
        },
        "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both"
      },
      "ProductOrder": {
        "required": [
          "productOrderItem"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "completionDate": {
            "type": "string",
            "description": "Date when the order was completed"
          },
          "expectedCompletionDate": {
            "type": "string",
            "description": "Expected delivery date amended by the provider"
          },
          "orderDate": {
            "type": "string",
            "description": "Date when the order was created"
          },
          "requestedCompletionDate": {
            "type": "string",
            "description": "Requested delivery date from the requestor perspective"
          },
          "requestedStartDate": {
            "type": "string",
            "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. "
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "@type": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "description": "Hyperlink to access the order"
          },
          "id": {
            "type": "string",
            "description": "ID created on repository side (OM system)"
          },
          "cancellationDate": {
            "type": "string",
            "format": "date-time"
          },
          "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)"
          },
          "agreement": {
            "uniqueItems": true,
            "type": "array",
            "description": "A reference to an agreement defined in the context of the product order",
            "items": {
              "$ref": "#/components/schemas/AgreementRef"
            }
          },
          "billingAccount": {
            "$ref": "#/components/schemas/BillingAccountRef"
          },
          "channel": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedChannel"
            }
          },
          "note": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "orderTotalPrice": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderPrice"
            }
          },
          "payment": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentRef"
            }
          },
          "productOfferingQualification": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOfferingQualificationRef"
            }
          },
          "productOrderItem": {
            "maxItems": 2147483647,
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOrderItem"
            }
          },
          "quote": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteRef"
            }
          },
          "relatedParty": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty"
            }
          },
          "state": {
            "type": "string",
            "enum": [
              "INITIAL",
              "ACKNOWLEDGED",
              "REJECTED",
              "PENDING",
              "HELD",
              "INPROGRESS",
              "CANCELLED",
              "COMPLETED",
              "FAILED",
              "PARTIAL",
              "ASSESSINGCANCELLATION",
              "PENDINGCANCELLATION"
            ]
          }
        },
        "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,"
      },
      "ProductOrderStateChangeEvent": {
        "type": "object",
        "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"
          },
          "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"
          },
          "event": {
            "$ref": "#/components/schemas/ProductOrderStateChangeEventPayload"
          }
        },
        "description": "The event data"
      },
      "ProductOrderStateChangeEventPayload": {
        "type": "object",
        "properties": {
          "productOrder": {
            "$ref": "#/components/schemas/ProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "EventSubscription": {
        "required": [
          "callback",
          "id"
        ],
        "type": "object",
        "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"
          }
        },
        "description": "Sets the communication endpoint address the service instance must use to deliver notification information"
      },
      "ProductOrderInformationRequiredEvent": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "description": "The identifier of the notification."
          },
          "eventTime": {
            "type": "string",
            "format": "date-time"
          },
          "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"
          },
          "fieldPath": {
            "type": "string",
            "description": "The path identifying the object field concerned by this notification."
          },
          "event": {
            "$ref": "#/components/schemas/ProductOrderInformationRequiredEventPayload"
          }
        },
        "description": "The event data"
      },
      "ProductOrderInformationRequiredEventPayload": {
        "type": "object",
        "properties": {
          "productOrder": {
            "$ref": "#/components/schemas/ProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "ProductOrderDeleteEvent": {
        "type": "object",
        "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"
          },
          "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"
          },
          "event": {
            "$ref": "#/components/schemas/ProductOrderDeleteEventPayload"
          }
        },
        "description": "The event data"
      },
      "ProductOrderDeleteEventPayload": {
        "type": "object",
        "properties": {
          "productOrder": {
            "$ref": "#/components/schemas/ProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "ProductOrderCreateEvent": {
        "type": "object",
        "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"
          },
          "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"
          },
          "event": {
            "$ref": "#/components/schemas/ProductOrderCreateEventPayload"
          }
        },
        "description": "The event data"
      },
      "ProductOrderCreateEventPayload": {
        "type": "object",
        "properties": {
          "productOrder": {
            "$ref": "#/components/schemas/ProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "ProductOrderAttributeValueChangeEvent": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "description": "The identifier of the notification."
          },
          "eventTime": {
            "type": "string",
            "format": "date-time"
          },
          "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"
          },
          "fieldPath": {
            "type": "string",
            "description": "The path identifying the object field concerned by this notification."
          },
          "event": {
            "$ref": "#/components/schemas/ProductOrderAttributeValueChangeEventPayload"
          }
        },
        "description": "The event data"
      },
      "ProductOrderAttributeValueChangeEventPayload": {
        "type": "object",
        "properties": {
          "productOrder": {
            "$ref": "#/components/schemas/ProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "CancelProductOrder": {
        "required": [
          "productOrder"
        ],
        "type": "object",
        "properties": {
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "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"
          },
          "requestedCancellationDate": {
            "type": "string",
            "format": "date-time"
          },
          "productOrder": {
            "$ref": "#/components/schemas/ProductOrderRef"
          },
          "state": {
            "type": "string",
            "enum": [
              "acknowledged",
              "terminatedWithError",
              "inProgress",
              "done"
            ]
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          }
        },
        "description": "Request for cancellation an existing product order"
      },
      "CancelProductOrderStateChangeEvent": {
        "type": "object",
        "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"
          },
          "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"
          },
          "event": {
            "$ref": "#/components/schemas/CancelProductOrderStateChangeEventPayload"
          }
        },
        "description": "The event data"
      },
      "CancelProductOrderStateChangeEventPayload": {
        "type": "object",
        "properties": {
          "cancelProductOrder": {
            "$ref": "#/components/schemas/CancelProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "ProductOrderRef": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "atReferredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "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"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          },
          "@referredType": {
            "type": "string"
          }
        },
        "description": "ProductOrder (ProductOrder) .The product order which the recommendation is related with."
      },
      "CancelProductOrderInformationRequiredEvent": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "description": "The identifier of the notification."
          },
          "eventTime": {
            "type": "string",
            "format": "date-time"
          },
          "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"
          },
          "fieldPath": {
            "type": "string",
            "description": "The path identifying the object field concerned by this notification."
          },
          "event": {
            "$ref": "#/components/schemas/CancelProductOrderInformationRequiredEventPayload"
          }
        },
        "description": "The event data"
      },
      "CancelProductOrderInformationRequiredEventPayload": {
        "type": "object",
        "properties": {
          "cancelProductOrder": {
            "$ref": "#/components/schemas/CancelProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "CancelProductOrderCreateEvent": {
        "type": "object",
        "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"
          },
          "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"
          },
          "event": {
            "$ref": "#/components/schemas/CancelProductOrderCreateEventPayload"
          }
        },
        "description": "The event data"
      },
      "CancelProductOrderCreateEventPayload": {
        "type": "object",
        "properties": {
          "cancelProductOrder": {
            "$ref": "#/components/schemas/CancelProductOrder"
          }
        },
        "description": "The event data structure"
      },
      "EventSubscriptionInput": {
        "required": [
          "callback"
        ],
        "type": "object",
        "properties": {
          "callback": {
            "type": "string",
            "description": "The callback being registered."
          },
          "query": {
            "type": "string",
            "description": "additional data to be passed"
          }
        },
        "description": "Data containing the callback endpoint to deliver the information"
      },
      "CancelProductOrderCreate": {
        "required": [
          "productOrder"
        ],
        "type": "object",
        "properties": {
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "cancellationReason": {
            "type": "string",
            "description": "Reason why the order is cancelled."
          },
          "requestedCancellationDate": {
            "type": "string",
            "format": "date-time"
          },
          "productOrder": {
            "$ref": "#/components/schemas/ProductOrderRef"
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          }
        },
        "description": "The CancelProductOrder to be created"
      },
      "ProductOrderUpdate": {
        "required": [
          "productOrderItem"
        ],
        "type": "object",
        "properties": {
          "completionDate": {
            "type": "string",
            "description": "Date when the order was completed"
          },
          "expectedCompletionDate": {
            "type": "string",
            "description": "Expected delivery date amended by the provider"
          },
          "requestedCompletionDate": {
            "type": "string",
            "description": "Requested delivery date from the requestor perspective"
          },
          "requestedStartDate": {
            "type": "string",
            "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. "
          },
          "atBaseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "atSchemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "atType": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "cancellationDate": {
            "type": "string",
            "format": "date-time"
          },
          "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)"
          },
          "agreement": {
            "type": "array",
            "description": "A reference to an agreement defined in the context of the product order",
            "items": {
              "$ref": "#/components/schemas/AgreementRef"
            }
          },
          "billingAccount": {
            "$ref": "#/components/schemas/BillingAccountRef"
          },
          "channel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedChannel"
            }
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "orderTotalPrice": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderPrice"
            }
          },
          "payment": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentRef"
            }
          },
          "productOfferingQualification": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOfferingQualificationRef"
            }
          },
          "productOrderItem": {
            "maxItems": 2147483647,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOrderItem"
            }
          },
          "quote": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteRef"
            }
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty"
            }
          },
          "state": {
            "type": "string",
            "enum": [
              "INITIAL",
              "ACKNOWLEDGED",
              "REJECTED",
              "PENDING",
              "HELD",
              "INPROGRESS",
              "CANCELLED",
              "COMPLETED",
              "FAILED",
              "PARTIAL",
              "ASSESSINGCANCELLATION",
              "PENDINGCANCELLATION"
            ]
          },
          "@baseType": {
            "type": "string"
          },
          "@schemaLocation": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          }
        },
        "description": "The ProductOrder to be updated"
      }
    },
    "securitySchemes": {
      "security_auth": {
        "type": "oauth2",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/auth",
            "tokenUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/token",
            "scopes": {
              "read": "read scope",
              "write": "write scope"
            }
          }
        }
      }
    }
  }
}