{
  "swagger": "2.0",
  "info": {
    "title": "API ServiceOrdering",
    "description": "## TMF API Reference : TMF 641 - Service Ordering Management\n\n Version 4.1 \n\nThe Service Order API provides a standardized mechanism for managing Service Order, a type of order which can be used to place an order between internal Customer Order management system to service order management system or between a service provider and a partner and vice versa.\n\n### Service Order resource\nA service order will describe a list of service order items.  A service order item references an action on an existing  or  future  service.  By  service  we  designed  Customer Facing  Service  (CFS)  as  well  as  Resource Facing Service (RFS).\nFrom a component perspective, a service order should be available\n- from a Service Orchestration Component (and it could mix CFS and RFS)\n- from an Infrastructure Control & Management component (and it would have only RFS)\n\n### TMF641 performs the following operations on service order resource :\n- Retrieval of a service order or a collection of service orders depending on filter criteria\n- Partial update of a service order (including updating rules)\n- Creation of a service order (including default values and creation rules)\n- Deletion of service order (for administration purposes)\n- Notification of events on Service order\n\n**Cancel Service Order resource**\n\nThis resource is used to request a service order cancellation.\n\n**TMF641 provides following operations on Cancel Service Order resource :**\n\n- Retrieval of a cancel service order or a collection of cancel service orders \n- Creation of a cancel service order \n- Notification of events on cancel service order.\n\nCopyright © TM Forum 2020. All Rights Reserved",
    "version": "4.1.0"
  },
  "host": "serverRoot",
  "basePath": "/tmf-api/serviceOrdering/v4",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json;charset=utf-8"
  ],
  "produces": [
    "application/json;charset=utf-8"
  ],
  "tags": [
    {
      "name": "serviceOrder"
    },
    {
      "name": "cancelServiceOrder"
    },
    {
      "name": "notification listeners (client side)"
    },
    {
      "name": "events subscription"
    }
  ],
  "paths": {
    "/serviceOrder": {
      "get": {
        "operationId": "listServiceOrder",
        "summary": "List or find ServiceOrder objects",
        "description": "This operation list or find ServiceOrder entities",
        "tags": [
          "serviceOrder"
        ],
        "parameters": [
          {
            "name": "fields",
            "description": "Comma-separated properties to be provided in response",
            "required": false,
            "in": "query",
            "type": "string"
          },
          {
            "name": "offset",
            "description": "Requested index for start of resources to be provided in response",
            "required": false,
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "description": "Requested number of resources to be provided in response",
            "required": false,
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Result-Count": {
                "description": "Actual number of items returned in the response body",
                "type": "integer"
              },
              "X-Total-Count": {
                "description": "Total number of items matching criteria",
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ServiceOrder"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "post": {
        "operationId": "createServiceOrder",
        "summary": "Creates a ServiceOrder",
        "description": "This operation creates a ServiceOrder entity.",
        "tags": [
          "serviceOrder"
        ],
        "parameters": [
          {
            "name": "serviceOrder",
            "description": "The ServiceOrder to be created",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ServiceOrder_Create"
            },
            "in": "body"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ServiceOrder"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/serviceOrder/{id}": {
      "get": {
        "operationId": "retrieveServiceOrder",
        "summary": "Retrieves a ServiceOrder by ID",
        "description": "This operation retrieves a ServiceOrder entity. Attribute selection is enabled for all first level attributes.",
        "tags": [
          "serviceOrder"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Identifier of the ServiceOrder",
            "required": true,
            "type": "string",
            "in": "path"
          },
          {
            "name": "fields",
            "description": "Comma-separated properties to provide in response",
            "required": false,
            "type": "string",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ServiceOrder"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "patch": {
        "operationId": "patchServiceOrder",
        "summary": "Updates partially a ServiceOrder",
        "description": "This operation updates partially a ServiceOrder entity.",
        "tags": [
          "serviceOrder"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Identifier of the ServiceOrder",
            "required": true,
            "type": "string",
            "in": "path"
          },
          {
            "name": "serviceOrder",
            "description": "The ServiceOrder to be updated",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ServiceOrder_Update"
            },
            "in": "body"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated",
            "schema": {
              "$ref": "#/definitions/ServiceOrder"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteServiceOrder",
        "summary": "Deletes a ServiceOrder",
        "description": "This operation deletes a ServiceOrder entity.",
        "tags": [
          "serviceOrder"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Identifier of the ServiceOrder",
            "required": true,
            "type": "string",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/cancelServiceOrder": {
      "get": {
        "operationId": "listCancelServiceOrder",
        "summary": "List or find CancelServiceOrder objects",
        "description": "This operation list or find CancelServiceOrder entities",
        "tags": [
          "cancelServiceOrder"
        ],
        "parameters": [
          {
            "name": "fields",
            "description": "Comma-separated properties to be provided in response",
            "required": false,
            "in": "query",
            "type": "string"
          },
          {
            "name": "offset",
            "description": "Requested index for start of resources to be provided in response",
            "required": false,
            "in": "query",
            "type": "integer"
          },
          {
            "name": "limit",
            "description": "Requested number of resources to be provided in response",
            "required": false,
            "in": "query",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "X-Result-Count": {
                "description": "Actual number of items returned in the response body",
                "type": "integer"
              },
              "X-Total-Count": {
                "description": "Total number of items matching criteria",
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CancelServiceOrder"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "post": {
        "operationId": "createCancelServiceOrder",
        "summary": "Creates a CancelServiceOrder",
        "description": "This operation creates a CancelServiceOrder entity.",
        "tags": [
          "cancelServiceOrder"
        ],
        "parameters": [
          {
            "name": "cancelServiceOrder",
            "description": "The CancelServiceOrder to be created",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CancelServiceOrder_Create"
            },
            "in": "body"
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/CancelServiceOrder"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/cancelServiceOrder/{id}": {
      "get": {
        "operationId": "retrieveCancelServiceOrder",
        "summary": "Retrieves a CancelServiceOrder by ID",
        "description": "This operation retrieves a CancelServiceOrder entity. Attribute selection is enabled for all first level attributes.",
        "tags": [
          "cancelServiceOrder"
        ],
        "parameters": [
          {
            "name": "id",
            "description": "Identifier of the CancelServiceOrder",
            "required": true,
            "type": "string",
            "in": "path"
          },
          {
            "name": "fields",
            "description": "Comma-separated properties to provide in response",
            "required": false,
            "type": "string",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CancelServiceOrder"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/hub": {
      "post": {
        "operationId": "registerListener",
        "summary": "Register a listener",
        "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
        "tags": [
          "events subscription"
        ],
        "parameters": [
          {
            "name": "data",
            "schema": {
              "$ref": "#/definitions/EventSubscriptionInput"
            },
            "required": true,
            "in": "body",
            "description": "Data containing the callback endpoint to deliver the information"
          }
        ],
        "responses": {
          "201": {
            "description": "Subscribed",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/hub/{id}": {
      "delete": {
        "operationId": "unregisterListener",
        "summary": "Unregister a listener",
        "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
        "tags": [
          "events subscription"
        ],
        "parameters": [
          {
            "name": "id",
            "type": "string",
            "required": true,
            "in": "path",
            "description": "The id of the registered listener"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "Bad request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/serviceOrderCreateEvent": {
      "post": {
        "operationId": "listenToServiceOrderCreateEvent",
        "summary": "Client listener for entity ServiceOrderCreateEvent",
        "description": "Example of a client listener for receiving the notification ServiceOrderCreateEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/ServiceOrderCreateEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/serviceOrderAttributeValueChangeEvent": {
      "post": {
        "operationId": "listenToServiceOrderAttributeValueChangeEvent",
        "summary": "Client listener for entity ServiceOrderAttributeValueChangeEvent",
        "description": "Example of a client listener for receiving the notification ServiceOrderAttributeValueChangeEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/ServiceOrderAttributeValueChangeEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/serviceOrderStateChangeEvent": {
      "post": {
        "operationId": "listenToServiceOrderStateChangeEvent",
        "summary": "Client listener for entity ServiceOrderStateChangeEvent",
        "description": "Example of a client listener for receiving the notification ServiceOrderStateChangeEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/ServiceOrderStateChangeEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/serviceOrderDeleteEvent": {
      "post": {
        "operationId": "listenToServiceOrderDeleteEvent",
        "summary": "Client listener for entity ServiceOrderDeleteEvent",
        "description": "Example of a client listener for receiving the notification ServiceOrderDeleteEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/ServiceOrderDeleteEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/serviceOrderInformationRequiredEvent": {
      "post": {
        "operationId": "listenToServiceOrderInformationRequiredEvent",
        "summary": "Client listener for entity ServiceOrderInformationRequiredEvent",
        "description": "Example of a client listener for receiving the notification ServiceOrderInformationRequiredEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/ServiceOrderInformationRequiredEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/serviceOrderMilestoneEvent": {
      "post": {
        "operationId": "listenToServiceOrderMilestoneEvent",
        "summary": "Client listener for entity ServiceOrderMilestoneEvent",
        "description": "Example of a client listener for receiving the notification ServiceOrderMilestoneEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/ServiceOrderMilestoneEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/serviceOrderJeopardyEvent": {
      "post": {
        "operationId": "listenToServiceOrderJeopardyEvent",
        "summary": "Client listener for entity ServiceOrderJeopardyEvent",
        "description": "Example of a client listener for receiving the notification ServiceOrderJeopardyEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/ServiceOrderJeopardyEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/cancelServiceOrderCreateEvent": {
      "post": {
        "operationId": "listenToCancelServiceOrderCreateEvent",
        "summary": "Client listener for entity CancelServiceOrderCreateEvent",
        "description": "Example of a client listener for receiving the notification CancelServiceOrderCreateEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/CancelServiceOrderCreateEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/cancelServiceOrderStateChangeEvent": {
      "post": {
        "operationId": "listenToCancelServiceOrderStateChangeEvent",
        "summary": "Client listener for entity CancelServiceOrderStateChangeEvent",
        "description": "Example of a client listener for receiving the notification CancelServiceOrderStateChangeEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/CancelServiceOrderStateChangeEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/listener/cancelServiceOrderInformationRequiredEvent": {
      "post": {
        "operationId": "listenToCancelServiceOrderInformationRequiredEvent",
        "summary": "Client listener for entity CancelServiceOrderInformationRequiredEvent",
        "description": "Example of a client listener for receiving the notification CancelServiceOrderInformationRequiredEvent",
        "tags": [
          "notification listeners (client side)"
        ],
        "parameters": [
          {
            "name": "data",
            "required": true,
            "in": "body",
            "description": "The event data",
            "schema": {
              "$ref": "#/definitions/CancelServiceOrderInformationRequiredEvent"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Notified",
            "schema": {
              "$ref": "#/definitions/EventSubscription"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "405": {
            "description": "Method Not allowed",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "Addressable": {
      "type": "object",
      "description": "Base schema for adressable entities",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        }
      }
    },
    "Any": {},
    "AppointmentRef": {
      "type": "object",
      "description": "Refers an appointment, such as a Customer presentation or internal meeting or site visit",
      "properties": {
        "id": {
          "type": "string",
          "description": "The identifier of the referred appointment"
        },
        "href": {
          "type": "string",
          "description": "The reference of the appointment"
        },
        "description": {
          "type": "string",
          "description": "An explanatory text regarding the appointment made with a party"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation"
        }
      },
      "required": [
        "id"
      ]
    },
    "CancelOrder": {
      "type": "object",
      "description": "A Order cancel is a type of task which  can  be used to place a request to cancel an order",
      "properties": {
        "id": {
          "type": "string",
          "description": "id of the cancellation request (this is not an order id)"
        },
        "href": {
          "type": "string",
          "description": "Hyperlink to access the cancellation request"
        },
        "cancellationReason": {
          "type": "string",
          "description": "Reason why the order is cancelled."
        },
        "effectiveCancellationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the order is cancelled."
        },
        "requestedCancellationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the submitter wants the order to be cancelled"
        },
        "state": {
          "$ref": "#/definitions/TaskStateType",
          "description": "Tracks the lifecycle status of the cancellation request, such as Acknowledged, Rejected, InProgress, Pending and so on."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "CancelServiceOrder": {
      "type": "object",
      "description": "Request for cancellation an existing Service order",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "cancellationReason": {
          "type": "string",
          "description": "Reason why the order is cancelled."
        },
        "completionMessage": {
          "type": "string",
          "description": "an optional message describing the completion of the task if it is done as expected or it is denied for a reason (like order in an state of PoNR)."
        },
        "effectiveCancellationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the order is cancelled."
        },
        "requestedCancellationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the submitter wants the order to be cancelled"
        },
        "errorMessage": {
          "$ref": "#/definitions/ErrorMessage",
          "description": "the error(s) cause the termination of cancelServiceOrder (in TerminatedWithError state)"
        },
        "serviceOrder": {
          "$ref": "#/definitions/ServiceOrderRef"
        },
        "state": {
          "$ref": "#/definitions/TaskStateType",
          "description": "Tracks the lifecycle status of the cancellation request, such as Acknowledged, Rejected, InProgress, Pending and so on."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "CancelServiceOrder_Create": {
      "type": "object",
      "description": "Request for cancellation an existing Service order\nSkipped properties: id,href,state,effectiveCancellationDate,completionMessage,errorMessage",
      "required": [
        "serviceOrder"
      ],
      "properties": {
        "cancellationReason": {
          "type": "string",
          "description": "Reason why the order is cancelled."
        },
        "requestedCancellationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the submitter wants the order to be cancelled"
        },
        "serviceOrder": {
          "$ref": "#/definitions/ServiceOrderRef"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "Characteristic": {
      "type": "object",
      "description": "Describes a given characteristic of an object or entity through a name/value pair.",
      "required": [
        "name",
        "value"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the characteristic"
        },
        "name": {
          "type": "string",
          "description": "Name of the characteristic"
        },
        "valueType": {
          "type": "string",
          "description": "Data type of the value of the characteristic"
        },
        "characteristicRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CharacteristicRelationship"
          }
        },
        "value": {
          "$ref": "#/definitions/Any",
          "description": "The value of the characteristic"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "CharacteristicRelationship": {
      "type": "object",
      "description": "Another Characteristic that is related to the current Characteristic;",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the characteristic"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "relationshipType": {
          "type": "string",
          "description": "The type of relationship"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ConstraintRef": {
      "type": "object",
      "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "version": {
          "type": "string",
          "description": "constraint version"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "Entity": {
      "type": "object",
      "description": "Base entity schema for use in TMForum Open-APIs",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "EntityRef": {
      "type": "object",
      "description": "Entity reference schema to be use for all entityRef class.",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "EntityValue": {
      "type": "object",
      "description": "Base entity value  schema for use in TMForum Open-APIs",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of a related entity."
        },
        "href": {
          "type": "string",
          "description": "Reference of the related entity."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ErrorMessage": {
      "type": "object",
      "description": "represents an Error",
      "properties": {
        "code": {
          "type": "string",
          "description": "error code"
        },
        "message": {
          "type": "string",
          "description": "More details and corrective actions related to the error"
        },
        "reason": {
          "type": "string",
          "description": "Explanation of the reason for the error"
        },
        "referenceError": {
          "type": "string",
          "format": "uri",
          "description": "URI of documentation describing the error"
        },
        "status": {
          "type": "string",
          "description": "error code extension like sys-ABC-2001"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "Extensible": {
      "type": "object",
      "description": "Base Extensible schema for use in TMForum Open-APIs",
      "properties": {
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ExternalReference": {
      "type": "object",
      "description": "External reference of the individual or reference in other system",
      "required": [
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "externalReferenceType": {
          "type": "string",
          "description": "Type of the external reference"
        },
        "name": {
          "type": "string",
          "description": "External reference name"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "Feature": {
      "type": "object",
      "description": "Configuration feature.",
      "required": [
        "featureCharacteristic",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the feature."
        },
        "isBundle": {
          "type": "boolean",
          "description": "True if this is a feature group. Default is false."
        },
        "isEnabled": {
          "type": "boolean",
          "description": "True if this feature is enabled. Default is true."
        },
        "name": {
          "type": "string",
          "description": "This is the name for the feature."
        },
        "constraint": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ConstraintRef"
          },
          "description": "This is a list of feature constraints."
        },
        "featureCharacteristic": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Characteristic"
          },
          "minItems": 1,
          "description": "This is a list of Characteristics for a particular feature."
        },
        "featureRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FeatureRelationship"
          }
        }
      }
    },
    "FeatureRelationship": {
      "type": "object",
      "description": "Configuration feature",
      "required": [
        "name",
        "relationshipType"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the target feature."
        },
        "name": {
          "type": "string",
          "description": "This is the name of the target feature."
        },
        "relationshipType": {
          "type": "string",
          "description": "This is the type of the feature relationship."
        },
        "validFor": {
          "$ref": "#/definitions/TimePeriod",
          "description": "The period for which this feature relationship is valid."
        }
      }
    },
    "JeopardyAlert": {
      "type": "object",
      "description": "A JeopardyAlert represents a predicted exception during a process that may cause a risk to complete successfully the process.",
      "properties": {
        "id": {
          "type": "string",
          "description": "identifier of the JeopardyAlert"
        },
        "alertDate": {
          "type": "string",
          "format": "date-time",
          "description": "A date time( DateTime). The date that the alert issued"
        },
        "exception": {
          "type": "string",
          "description": " The exception associated with this jeopardy alert"
        },
        "jeopardyType": {
          "type": "string",
          "description": "A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ..."
        },
        "message": {
          "type": "string",
          "description": "A string represents the message of the alert"
        },
        "name": {
          "type": "string",
          "description": "A string used to give a name to the jeopardy alert"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "Milestone": {
      "type": "object",
      "description": "Milestone represents an action or event marking a significant change or stage in a process like an order process.",
      "properties": {
        "id": {
          "type": "string",
          "description": "identifier of the Milestone"
        },
        "description": {
          "type": "string",
          "description": "free-text description of the Milestone"
        },
        "message": {
          "type": "string",
          "description": "A string represents the message of the milestone"
        },
        "milestoneDate": {
          "type": "string",
          "format": "date-time",
          "description": "A date time( DateTime). The date that the milestone happens"
        },
        "name": {
          "type": "string",
          "description": "A string used to give a name to the milestone"
        },
        "status": {
          "type": "string",
          "description": "The milestone status"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "Note": {
      "type": "object",
      "description": "Extra information about a given entity",
      "required": [
        "text"
      ],
      "properties": {
        "id": {
          "example": [
            "afa9-3d90aaa8da0f"
          ],
          "type": "string",
          "description": "Identifier of the note within its containing entity"
        },
        "author": {
          "example": [
            "Mr. N. Bene"
          ],
          "type": "string",
          "description": "Author of the note"
        },
        "date": {
          "example": [
            "2020-11-20T08:00:00Z"
          ],
          "type": "string",
          "format": "date-time",
          "description": "Date of the note"
        },
        "text": {
          "example": [
            "This is important"
          ],
          "type": "string",
          "description": "Text of the note"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "OrderItemActionType": {
      "type": "string",
      "description": "action to be performed on the product",
      "enum": [
        "add",
        "modify",
        "delete",
        "noChange"
      ]
    },
    "Place": {
      "type": "object",
      "description": "Place reference. Place defines the places where the products are sold or delivered.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the place"
        },
        "href": {
          "type": "string",
          "description": "Unique reference of the place"
        },
        "name": {
          "type": "string",
          "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "PlaceRef": {
      "type": "object",
      "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "RelatedEntityRefOrValue": {
      "type": "object",
      "description": "A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself",
      "required": [
        "role"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of a related entity."
        },
        "href": {
          "type": "string",
          "description": "Reference of the related entity."
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "role": {
          "type": "string"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      }
    },
    "RelatedParty": {
      "type": "object",
      "description": "Related Party reference. A related party defines party or party role linked to a specific entity.",
      "required": [
        "@referredType",
        "id",
        "@type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "role": {
          "type": "string",
          "description": "Role played by the related party"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      }
    },
    "RelatedPlaceRefOrValue": {
      "type": "object",
      "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself",
      "required": [
        "role"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the place"
        },
        "href": {
          "type": "string",
          "description": "Unique reference of the place"
        },
        "name": {
          "type": "string",
          "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
        },
        "role": {
          "type": "string"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      }
    },
    "RelatedServiceOrderItem": {
      "type": "object",
      "description": "RelatedServiceOrderItem (a ServiceOrder item) .The service order item which triggered service creation/change/termination.",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "itemId": {
          "type": "string",
          "description": "Identifier of the order item where the service was managed"
        },
        "role": {
          "type": "string",
          "description": "role of the service order item for this service"
        },
        "serviceOrderHref": {
          "type": "string",
          "description": "Reference of the related entity."
        },
        "serviceOrderId": {
          "type": "string",
          "description": "Unique identifier of a related entity."
        },
        "itemAction": {
          "$ref": "#/definitions/OrderItemActionType",
          "description": "Action of the order item for this service"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      }
    },
    "ResourceRef": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "Service": {
      "type": "object",
      "description": "Service is a base class for defining the Service hierarchy. All Services are characterized as either being possibly visible and usable by a Customer or not. This gives rise to the two subclasses of Service: CustomerFacingService and ResourceFacingService.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the service"
        },
        "href": {
          "type": "string",
          "description": "Reference of the service"
        },
        "category": {
          "type": "string",
          "description": "Is it a customer facing or resource facing service"
        },
        "description": {
          "type": "string",
          "description": "Free-text description of the service"
        },
        "endDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the service ends"
        },
        "hasStarted": {
          "type": "boolean",
          "description": "If TRUE, this Service has already been started"
        },
        "isBundle": {
          "type": "boolean",
          "description": "If true, the service is a ServiceBundle which regroup a service hierachy. If false, the service is a 'atomic' service (hierachy leaf)."
        },
        "isServiceEnabled": {
          "type": "boolean",
          "description": "If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has failed "
        },
        "isStateful": {
          "type": "boolean",
          "description": "If TRUE, this Service can be changed without affecting any other services"
        },
        "name": {
          "type": "string",
          "description": "Name of the service"
        },
        "serviceDate": {
          "type": "string",
          "description": "Date when the service was created (whatever its status)."
        },
        "serviceType": {
          "type": "string",
          "description": "Business type of the service"
        },
        "startDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the service starts"
        },
        "startMode": {
          "type": "string",
          "description": "This attribute is an enumerated integer that indicates how the Service is started, such as: 0: Unknown; 1: Automatically by the managed environment; 2: Automatically by the owning device; 3: Manually by the Provider of the Service; 4: Manually by a Customer of the Provider; 5: Any of the above"
        },
        "feature": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Feature"
          },
          "description": "A list of feature associated with this service "
        },
        "note": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Note"
          },
          "description": "A list of notes made on this service"
        },
        "place": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedPlaceRefOrValue"
          },
          "description": "A list of places (Place [*]). Used to define a place useful for the service (for example a geographical place whre the service is installed)"
        },
        "relatedEntity": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedEntityRefOrValue"
          },
          "description": "A list of related  entity in relationship with this service "
        },
        "relatedParty": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedParty"
          },
          "description": "A list of related party references (RelatedParty [*]). A related party defines party or party role linked to a specific entity"
        },
        "serviceCharacteristic": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Characteristic"
          },
          "description": "A list of characteristics that characterize this service (ServiceCharacteristic [*]) "
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedServiceOrderItem"
          },
          "description": "A list of service order items related to this service"
        },
        "serviceRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceRelationship"
          },
          "description": "A list of service relationships (ServiceRelationship [*]). Describes links with other service(s) in the inventory."
        },
        "serviceSpecification": {
          "$ref": "#/definitions/ServiceSpecificationRef",
          "description": "The specification from which this service was instantiated"
        },
        "state": {
          "$ref": "#/definitions/ServiceStateType",
          "description": "The life cycle state of the service, such as designed, reserved, active, etc..."
        },
        "supportingResource": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ResourceRef"
          },
          "description": "A list of supporting resources (SupportingResource [*]).Note: only Service of type RFS can be associated with Resources"
        },
        "supportingService": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceRefOrValue"
          },
          "description": "A list of supporting services (SupportingService [*]). A collection of services that support this service (bundling, link CFS to RFS)"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrder": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ID created on repository side"
        },
        "href": {
          "type": "string",
          "description": "Hyperlink to access the order"
        },
        "cancellationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the order is cancelled. This is used when order is cancelled. "
        },
        "cancellationReason": {
          "type": "string",
          "description": "Reason why the order is cancelled. This is used when order is cancelled. "
        },
        "category": {
          "type": "string",
          "description": "Used to categorize the order, useful for the OM system, such as: Broadband, TVOption"
        },
        "completionDate": {
          "type": "string",
          "format": "date-time",
          "description": "Effective delivery date amended by the provider"
        },
        "description": {
          "type": "string",
          "description": "A free-text description of the service order"
        },
        "expectedCompletionDate": {
          "type": "string",
          "format": "date-time",
          "description": "Expected delivery date amended by the provider"
        },
        "externalId": {
          "type": "string",
          "description": "ID given by the consumer to facilitate searches"
        },
        "notificationContact": {
          "type": "string",
          "description": "Contact attached to the order to send back information regarding this order"
        },
        "orderDate": {
          "type": "string",
          "format": "date-time"
        },
        "priority": {
          "type": "string",
          "description": "Can be used by consumers to prioritize orders in a Service Order Management system"
        },
        "requestedCompletionDate": {
          "type": "string",
          "format": "date-time",
          "description": "Requested delivery date from the requestors perspective"
        },
        "requestedStartDate": {
          "type": "string",
          "format": "date-time",
          "description": "Order start date wished by the requestor"
        },
        "startDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the order was started for processing"
        },
        "errorMessage": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderErrorMessage"
          },
          "description": "the error(s) cause an order status change"
        },
        "externalReference": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExternalReference"
          }
        },
        "jeopardyAlert": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderJeopardyAlert"
          },
          "description": "A list of jeopardy alerts related to this order"
        },
        "milestone": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderMilestone"
          },
          "description": "A list of milestones related to this order"
        },
        "note": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Note"
          },
          "description": "Extra-information about the order; e.g. useful to add extra delivery information that could be useful for a human process"
        },
        "orderRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderRelationship"
          },
          "description": "A list of service orders related to this order (e.g. prerequisite, dependent on)"
        },
        "relatedParty": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedParty"
          },
          "description": "A list of parties which are involved in this order and the role they are playing"
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItem"
          },
          "description": "A list of service order items to be processed by this order"
        },
        "state": {
          "$ref": "#/definitions/ServiceOrderStateType",
          "description": "State of the order: described in the state-machine diagram"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrder_Create": {
      "type": "object",
      "description": "\nSkipped properties: id,href,orderDate,completionDate,expectedCompletionDate,startDate,state,jeopardyAlert,errorMessage,milestone",
      "required": [
        "serviceOrderItem"
      ],
      "properties": {
        "cancellationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the order is cancelled. This is used when order is cancelled. "
        },
        "cancellationReason": {
          "type": "string",
          "description": "Reason why the order is cancelled. This is used when order is cancelled. "
        },
        "category": {
          "type": "string",
          "description": "Used to categorize the order, useful for the OM system, such as: Broadband, TVOption"
        },
        "description": {
          "type": "string",
          "description": "A free-text description of the service order"
        },
        "externalId": {
          "type": "string",
          "description": "ID given by the consumer to facilitate searches"
        },
        "notificationContact": {
          "type": "string",
          "description": "Contact attached to the order to send back information regarding this order"
        },
        "priority": {
          "type": "string",
          "description": "Can be used by consumers to prioritize orders in a Service Order Management system"
        },
        "requestedCompletionDate": {
          "type": "string",
          "format": "date-time",
          "description": "Requested delivery date from the requestors perspective"
        },
        "requestedStartDate": {
          "type": "string",
          "format": "date-time",
          "description": "Order start date wished by the requestor"
        },
        "externalReference": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExternalReference"
          }
        },
        "note": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Note"
          },
          "description": "Extra-information about the order; e.g. useful to add extra delivery information that could be useful for a human process"
        },
        "orderRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderRelationship"
          },
          "description": "A list of service orders related to this order (e.g. prerequisite, dependent on)"
        },
        "relatedParty": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedParty"
          },
          "description": "A list of parties which are involved in this order and the role they are playing"
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItem"
          },
          "minItems": 1,
          "description": "A list of service order items to be processed by this order"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrder_Update": {
      "type": "object",
      "description": "\nSkipped properties: id,href,orderDate,jeopardyAlert,errorMessage,milestone,@baseType,@schemaLocation,@type,cancellationDate,cancellationReason,category,completionDate,startDate",
      "properties": {
        "description": {
          "type": "string",
          "description": "A free-text description of the service order"
        },
        "expectedCompletionDate": {
          "type": "string",
          "format": "date-time",
          "description": "Expected delivery date amended by the provider"
        },
        "externalId": {
          "type": "string",
          "description": "ID given by the consumer to facilitate searches"
        },
        "notificationContact": {
          "type": "string",
          "description": "Contact attached to the order to send back information regarding this order"
        },
        "priority": {
          "type": "string",
          "description": "Can be used by consumers to prioritize orders in a Service Order Management system"
        },
        "requestedCompletionDate": {
          "type": "string",
          "format": "date-time",
          "description": "Requested delivery date from the requestors perspective"
        },
        "requestedStartDate": {
          "type": "string",
          "format": "date-time",
          "description": "Order start date wished by the requestor"
        },
        "externalReference": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExternalReference"
          }
        },
        "note": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Note"
          },
          "description": "Extra-information about the order; e.g. useful to add extra delivery information that could be useful for a human process"
        },
        "orderRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderRelationship"
          },
          "description": "A list of service orders related to this order (e.g. prerequisite, dependent on)"
        },
        "relatedParty": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedParty"
          },
          "description": "A list of parties which are involved in this order and the role they are playing"
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItem"
          },
          "description": "A list of service order items to be processed by this order"
        },
        "state": {
          "$ref": "#/definitions/ServiceOrderStateType",
          "description": "State of the order: described in the state-machine diagram"
        }
      }
    },
    "ServiceOrderErrorMessage": {
      "type": "object",
      "description": "A ServiceOrderErrorMessage represents an error that causes a status change in a service order.",
      "properties": {
        "code": {
          "type": "string",
          "description": "error code"
        },
        "message": {
          "type": "string",
          "description": "More details and corrective actions related to the error"
        },
        "reason": {
          "type": "string",
          "description": "Explanation of the reason for the error"
        },
        "referenceError": {
          "type": "string",
          "format": "uri",
          "description": "URI of documentation describing the error"
        },
        "status": {
          "type": "string",
          "description": "error code extension like sys-ABC-2001"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the error happened"
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItemRef"
          },
          "description": "A list of order item references corresponded to this error"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrderItem": {
      "type": "object",
      "required": [
        "id",
        "action",
        "service"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Identifier of the individual line item"
        },
        "quantity": {
          "type": "integer",
          "description": "Quantity ordered"
        },
        "action": {
          "$ref": "#/definitions/OrderItemActionType",
          "description": "The action to be carried out on the Service. Can be: add, modify, delete, noChange"
        },
        "appointment": {
          "$ref": "#/definitions/AppointmentRef",
          "description": "An appointment that was set up with a related party for this order item"
        },
        "errorMessage": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItemErrorMessage"
          },
          "description": "the error(s) cause an order item status change"
        },
        "service": {
          "$ref": "#/definitions/ServiceRefOrValue",
          "description": "The Service to be acted on by the order item"
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItem"
          },
          "description": "A list of order items embedded to this order item"
        },
        "serviceOrderItemRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItemRelationship"
          },
          "description": "A list of order items related to this order item"
        },
        "state": {
          "$ref": "#/definitions/ServiceOrderItemStateType",
          "description": "State of the order item: described in the state machine diagram. This is the requested state."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrderItemErrorMessage": {
      "type": "object",
      "description": "AServiceOrderItemErrorMessage represents an error that causes a status change in a service order item.",
      "properties": {
        "code": {
          "type": "string",
          "description": "error code"
        },
        "message": {
          "type": "string",
          "description": "More details and corrective actions related to the error"
        },
        "reason": {
          "type": "string",
          "description": "Explanation of the reason for the error"
        },
        "referenceError": {
          "type": "string",
          "format": "uri",
          "description": "URI of documentation describing the error"
        },
        "status": {
          "type": "string",
          "description": "error code extension like sys-ABC-2001"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the error happened"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrderItemRef": {
      "type": "object",
      "properties": {
        "itemId": {
          "type": "string",
          "description": "Identifier of the line item"
        },
        "serviceOrderHref": {
          "type": "string",
          "format": "uri",
          "description": "Link to the order to which this item belongs to"
        },
        "serviceOrderId": {
          "type": "string",
          "description": "Identifier of the order that this item belongs to"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "ServiceOrderItemRelationship": {
      "type": "object",
      "description": "Linked service order item to the one containing this attribute",
      "properties": {
        "relationshipType": {
          "type": "string",
          "description": "The type of related order item, can be: dependency if the order item needs to be not started until another order item is complete"
        },
        "orderItem": {
          "$ref": "#/definitions/ServiceOrderItemRef",
          "description": "A service order item in relationship with this order item"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrderItemStateType": {
      "type": "string",
      "description": "Possible values for the state of the order item",
      "enum": [
        "acknowledged",
        "rejected",
        "pending",
        "held",
        "inProgress",
        "cancelled",
        "completed",
        "failed",
        "assessingCancellation",
        "pendingCancellation",
        "partial"
      ]
    },
    "ServiceOrderJeopardyAlert": {
      "type": "object",
      "description": "A ServiceOrderJeopardyAlert represents a predicted exception during a service order processing that would brings risk to complete successfully the ordetr.",
      "properties": {
        "id": {
          "type": "string",
          "description": "identifier of the JeopardyAlert"
        },
        "alertDate": {
          "type": "string",
          "format": "date-time",
          "description": "A date time( DateTime). The date that the alert issued"
        },
        "exception": {
          "type": "string",
          "description": " The exception associated with this jeopardy alert"
        },
        "jeopardyType": {
          "type": "string",
          "description": "A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ..."
        },
        "message": {
          "type": "string",
          "description": "A string represents the message of the alert"
        },
        "name": {
          "type": "string",
          "description": "A string used to give a name to the jeopardy alert"
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItemRef"
          },
          "description": "A list of order item references corresponded to this alert"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrderMilestone": {
      "type": "object",
      "description": "ServiceOrderMilestone represents an action or event marking a significant change or stage in processing of a service order.",
      "properties": {
        "id": {
          "type": "string",
          "description": "identifier of the Milestone"
        },
        "description": {
          "type": "string",
          "description": "free-text description of the Milestone"
        },
        "message": {
          "type": "string",
          "description": "A string represents the message of the milestone"
        },
        "milestoneDate": {
          "type": "string",
          "format": "date-time",
          "description": "A date time( DateTime). The date that the milestone happens"
        },
        "name": {
          "type": "string",
          "description": "A string used to give a name to the milestone"
        },
        "status": {
          "type": "string",
          "description": "The milestone status"
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceOrderItemRef"
          },
          "description": "A list of order item references corresponded to this milestone"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceOrderRef": {
      "type": "object",
      "description": "Service Order reference. Useful to understand the which was the Service order through which the service was instantiated in the service inventory",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related service order"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "ServiceOrderRelationship": {
      "type": "object",
      "description": "Linked service order to the one containing this attribute",
      "required": [
        "id",
        "relationshipType"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id of the related order"
        },
        "href": {
          "type": "string",
          "description": "A hyperlink to the related order"
        },
        "relationshipType": {
          "type": "string",
          "description": "The type of related order, such as: [dependency] if the order needs to be [not started] until another order item is complete (a service order in this case) or [cross-ref] to keep track of the source order (a productOrder)"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The entity type of the related order"
        }
      }
    },
    "ServiceOrderStateType": {
      "type": "string",
      "description": "Possible values for the state of the order",
      "enum": [
        "acknowledged",
        "rejected",
        "pending",
        "held",
        "inProgress",
        "cancelled",
        "completed",
        "failed",
        "partial",
        "assessingCancellation",
        "pendingCancellation"
      ]
    },
    "ServiceRef": {
      "type": "object",
      "description": "Service reference, for when Service is used by other entities",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "ServiceRefOrValue": {
      "type": "object",
      "description": "A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the service"
        },
        "href": {
          "type": "string",
          "description": "Reference of the service"
        },
        "category": {
          "type": "string",
          "description": "Is it a customer facing or resource facing service"
        },
        "description": {
          "type": "string",
          "description": "Free-text description of the service"
        },
        "endDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the service ends"
        },
        "hasStarted": {
          "type": "boolean",
          "description": "If TRUE, this Service has already been started"
        },
        "isBundle": {
          "type": "boolean",
          "description": "If true, the service is a ServiceBundle which regroup a service hierachy. If false, the service is a 'atomic' service (hierachy leaf)."
        },
        "isServiceEnabled": {
          "type": "boolean",
          "description": "If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has failed "
        },
        "isStateful": {
          "type": "boolean",
          "description": "If TRUE, this Service can be changed without affecting any other services"
        },
        "name": {
          "type": "string",
          "description": "Name of the service"
        },
        "serviceDate": {
          "type": "string",
          "description": "Date when the service was created (whatever its status)."
        },
        "serviceType": {
          "type": "string",
          "description": "Business type of the service"
        },
        "startDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the service starts"
        },
        "startMode": {
          "type": "string",
          "description": "This attribute is an enumerated integer that indicates how the Service is started, such as: 0: Unknown; 1: Automatically by the managed environment; 2: Automatically by the owning device; 3: Manually by the Provider of the Service; 4: Manually by a Customer of the Provider; 5: Any of the above"
        },
        "feature": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Feature"
          },
          "description": "A list of feature associated with this service "
        },
        "note": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Note"
          },
          "description": "A list of notes made on this service"
        },
        "place": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedPlaceRefOrValue"
          },
          "description": "A list of places (Place [*]). Used to define a place useful for the service (for example a geographical place whre the service is installed)"
        },
        "relatedEntity": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedEntityRefOrValue"
          },
          "description": "A list of related  entity in relationship with this service "
        },
        "relatedParty": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedParty"
          },
          "description": "A list of related party references (RelatedParty [*]). A related party defines party or party role linked to a specific entity"
        },
        "serviceCharacteristic": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Characteristic"
          },
          "description": "A list of characteristics that characterize this service (ServiceCharacteristic [*]) "
        },
        "serviceOrderItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RelatedServiceOrderItem"
          },
          "description": "A list of service order items related to this service"
        },
        "serviceRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceRelationship"
          },
          "description": "A list of service relationships (ServiceRelationship [*]). Describes links with other service(s) in the inventory."
        },
        "serviceSpecification": {
          "$ref": "#/definitions/ServiceSpecificationRef",
          "description": "The specification from which this service was instantiated"
        },
        "state": {
          "$ref": "#/definitions/ServiceStateType",
          "description": "The life cycle state of the service, such as designed, reserved, active, etc..."
        },
        "supportingResource": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ResourceRef"
          },
          "description": "A list of supporting resources (SupportingResource [*]).Note: only Service of type RFS can be associated with Resources"
        },
        "supportingService": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceRefOrValue"
          },
          "description": "A list of supporting services (SupportingService [*]). A collection of services that support this service (bundling, link CFS to RFS)"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      }
    },
    "ServiceRelationship": {
      "type": "object",
      "required": [
        "relationshipType"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "relationshipType": {
          "type": "string"
        },
        "service": {
          "$ref": "#/definitions/ServiceRefOrValue"
        },
        "serviceRelationshipCharacteristic": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Characteristic"
          }
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        }
      }
    },
    "ServiceSpecificationRef": {
      "type": "object",
      "description": "Service specification reference: ServiceSpecification(s) required to realize a ProductSpecification.",
      "properties": {
        "id": {
          "type": "string",
          "description": "unique identifier"
        },
        "href": {
          "type": "string",
          "format": "uri",
          "description": "Hyperlink reference"
        },
        "name": {
          "type": "string",
          "description": "Name of the related entity."
        },
        "version": {
          "type": "string",
          "description": "Service specification version"
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class"
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class Extensible name"
        },
        "@referredType": {
          "type": "string",
          "description": "The actual type of the target instance when needed for disambiguation."
        }
      },
      "required": [
        "id"
      ]
    },
    "ServiceStateType": {
      "type": "string",
      "description": "Valid values for the lifecycle state of the service",
      "enum": [
        "feasibilityChecked",
        "designed",
        "reserved",
        "inactive",
        "active",
        "terminated"
      ]
    },
    "TaskStateType": {
      "type": "string",
      "description": "Possible values for the state of a task",
      "enum": [
        "accepted",
        "terminatedWithError",
        "inProgress",
        "done"
      ]
    },
    "TimePeriod": {
      "type": "object",
      "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both",
      "properties": {
        "endDateTime": {
          "example": "1985-04-12T23:20:50.52Z",
          "type": "string",
          "format": "date-time",
          "description": "End of the time period, using IETC-RFC-3339 format"
        },
        "startDateTime": {
          "example": "1985-04-12T23:20:50.52Z",
          "type": "string",
          "format": "date-time",
          "description": "Start of the time period, using IETC-RFC-3339 format"
        }
      }
    },
    "EventSubscription": {
      "type": "object",
      "description": "Sets the communication endpoint address the service instance must use to deliver notification information",
      "required": [
        "id",
        "callback"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Id of the listener"
        },
        "callback": {
          "type": "string",
          "description": "The callback being registered."
        },
        "query": {
          "type": "string",
          "description": "additional data to be passed"
        }
      }
    },
    "EventSubscriptionInput": {
      "type": "object",
      "description": "Sets the communication endpoint address the service instance must use to deliver notification information",
      "required": [
        "callback"
      ],
      "properties": {
        "callback": {
          "type": "string",
          "description": "The callback being registered."
        },
        "query": {
          "type": "string",
          "description": "additional data to be passed"
        }
      }
    },
    "ServiceOrderCreateEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/ServiceOrderCreateEventPayload"
        },
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        }
      }
    },
    "ServiceOrderCreateEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "serviceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/ServiceOrder"
        }
      }
    },
    "ServiceOrderAttributeValueChangeEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        },
        "fieldPath": {
          "type": "string",
          "description": "The path identifying the object field concerned by this notification."
        },
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/ServiceOrderAttributeValueChangeEventPayload"
        }
      }
    },
    "ServiceOrderAttributeValueChangeEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "serviceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/ServiceOrder"
        }
      }
    },
    "ServiceOrderStateChangeEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/ServiceOrderStateChangeEventPayload"
        },
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        }
      }
    },
    "ServiceOrderStateChangeEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "serviceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/ServiceOrder"
        }
      }
    },
    "ServiceOrderDeleteEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/ServiceOrderDeleteEventPayload"
        },
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        }
      }
    },
    "ServiceOrderDeleteEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "serviceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/ServiceOrder"
        }
      }
    },
    "ServiceOrderInformationRequiredEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        },
        "fieldPath": {
          "type": "string",
          "description": "The path identifying the object field concerned by this notification."
        },
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/ServiceOrderInformationRequiredEventPayload"
        }
      }
    },
    "ServiceOrderInformationRequiredEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "serviceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/ServiceOrder"
        }
      }
    },
    "ServiceOrderMilestoneEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/ServiceOrderMilestoneEventPayload"
        },
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        }
      }
    },
    "ServiceOrderMilestoneEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "serviceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/ServiceOrder"
        }
      }
    },
    "ServiceOrderJeopardyEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/ServiceOrderJeopardyEventPayload"
        },
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        }
      }
    },
    "ServiceOrderJeopardyEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "serviceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/ServiceOrder"
        }
      }
    },
    "CancelServiceOrderCreateEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/CancelServiceOrderCreateEventPayload"
        },
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        }
      }
    },
    "CancelServiceOrderCreateEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "cancelServiceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/CancelServiceOrder"
        }
      }
    },
    "CancelServiceOrderStateChangeEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/CancelServiceOrderStateChangeEventPayload"
        },
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        }
      }
    },
    "CancelServiceOrderStateChangeEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "cancelServiceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/CancelServiceOrder"
        }
      }
    },
    "CancelServiceOrderInformationRequiredEvent": {
      "type": "object",
      "description": "The notification data structure",
      "properties": {
        "eventId": {
          "type": "string",
          "description": "The identifier of the notification."
        },
        "eventTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the event occurrence."
        },
        "eventType": {
          "type": "string",
          "description": "The type of the notification."
        },
        "correlationId": {
          "type": "string",
          "description": "The correlation id for this event."
        },
        "domain": {
          "type": "string",
          "description": "The domain of the event."
        },
        "title": {
          "type": "string",
          "description": "The title of the event."
        },
        "description": {
          "type": "string",
          "description": "An explnatory of the event."
        },
        "priority": {
          "type": "string",
          "description": "A priority."
        },
        "timeOcurred": {
          "type": "string",
          "format": "date-time",
          "description": "The time the event occured."
        },
        "fieldPath": {
          "type": "string",
          "description": "The path identifying the object field concerned by this notification."
        },
        "event": {
          "description": "The event payload linked to the involved resource object",
          "$ref": "#/definitions/CancelServiceOrderInformationRequiredEventPayload"
        }
      }
    },
    "CancelServiceOrderInformationRequiredEventPayload": {
      "type": "object",
      "description": "The event data structure",
      "properties": {
        "cancelServiceOrder": {
          "description": "The involved resource data for the event",
          "$ref": "#/definitions/CancelServiceOrder"
        }
      }
    },
    "Error": {
      "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)",
      "type": "object",
      "required": [
        "code",
        "reason"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Application relevant detail, defined in the API or a common list."
        },
        "reason": {
          "type": "string",
          "description": "Explanation of the reason for the error which can be shown to a client user."
        },
        "message": {
          "type": "string",
          "description": "More details and corrective actions related to the error which can be shown to a client user."
        },
        "status": {
          "type": "string",
          "description": "HTTP Error code extension"
        },
        "referenceError": {
          "type": "string",
          "format": "uri",
          "description": "URI of documentation describing the error."
        },
        "@baseType": {
          "type": "string",
          "description": "When sub-classing, this defines the super-class."
        },
        "@schemaLocation": {
          "type": "string",
          "format": "uri",
          "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
        },
        "@type": {
          "type": "string",
          "description": "When sub-classing, this defines the sub-class entity name."
        }
      }
    }
  }
}