swagger: '2.0'
info:
  title: Product Catalog Management
  description: "## TMF API Reference: TMF620 - Product Catalog Management\n\n### Release
    : 19.0 - June 2019\n\nProduct Catalog API is one of Catalog Management API Family.
    Product Catalog API goal is to provide a catalog of products. \n\n### Operations\nProduct
    Catalog API performs the following operations on the resources :\n- Retrieve an
    entity or a collection of entities depending on filter criteria\n- Partial update
    of an entity (including updating rules)\n- Create an entity (including default
    values and creation rules)\n- Delete an entity\n- Manage notification of events"
  version: 4.0.0
host: serverRoot
basePath: "/tmf-api/productCatalogManagement/v4/"
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
tags:
- name: catalog
- name: category
- name: productOffering
- name: productOfferingPrice
- name: productSpecification
- name: importJob
- name: exportJob
- name: notification listeners (client side)
- name: events subscription
paths:
  "/catalog":
    get:
      operationId: listCatalog
      summary: List or find Catalog objects
      description: This operation list or find Catalog entities
      tags:
      - catalog
      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/Catalog"
        '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: createCatalog
      summary: Creates a Catalog
      description: This operation creates a Catalog entity.
      tags:
      - catalog
      parameters:
      - name: catalog
        description: The Catalog to be created
        required: true
        schema:
          "$ref": "#/definitions/Catalog_Create"
        in: body
      responses:
        '201':
          description: Created
          schema:
            "$ref": "#/definitions/Catalog"
        '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"
  "/catalog/{id}":
    get:
      operationId: retrieveCatalog
      summary: Retrieves a Catalog by ID
      description: This operation retrieves a Catalog entity. Attribute selection
        is enabled for all first level attributes.
      tags:
      - catalog
      parameters:
      - name: id
        description: Identifier of the Catalog
        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/Catalog"
        '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: patchCatalog
      summary: Updates partially a Catalog
      description: This operation updates partially a Catalog entity.
      tags:
      - catalog
      parameters:
      - name: id
        description: Identifier of the Catalog
        required: true
        type: string
        in: path
      - name: catalog
        description: The Catalog to be updated
        required: true
        schema:
          "$ref": "#/definitions/Catalog_Update"
        in: body
      responses:
        '200':
          description: Updated
          schema:
            "$ref": "#/definitions/Catalog"
        '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: deleteCatalog
      summary: Deletes a Catalog
      description: This operation deletes a Catalog entity.
      tags:
      - catalog
      parameters:
      - name: id
        description: Identifier of the Catalog
        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"
  "/category":
    get:
      operationId: listCategory
      summary: List or find Category objects
      description: This operation list or find Category entities
      tags:
      - category
      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/Category"
        '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: createCategory
      summary: Creates a Category
      description: This operation creates a Category entity.
      tags:
      - category
      parameters:
      - name: category
        description: The Category to be created
        required: true
        schema:
          "$ref": "#/definitions/Category_Create"
        in: body
      responses:
        '201':
          description: Created
          schema:
            "$ref": "#/definitions/Category"
        '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"
  "/category/{id}":
    get:
      operationId: retrieveCategory
      summary: Retrieves a Category by ID
      description: This operation retrieves a Category entity. Attribute selection
        is enabled for all first level attributes.
      tags:
      - category
      parameters:
      - name: id
        description: Identifier of the Category
        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/Category"
        '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: patchCategory
      summary: Updates partially a Category
      description: This operation updates partially a Category entity.
      tags:
      - category
      parameters:
      - name: id
        description: Identifier of the Category
        required: true
        type: string
        in: path
      - name: category
        description: The Category to be updated
        required: true
        schema:
          "$ref": "#/definitions/Category_Update"
        in: body
      responses:
        '200':
          description: Updated
          schema:
            "$ref": "#/definitions/Category"
        '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: deleteCategory
      summary: Deletes a Category
      description: This operation deletes a Category entity.
      tags:
      - category
      parameters:
      - name: id
        description: Identifier of the Category
        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"
  "/productOffering":
    get:
      operationId: listProductOffering
      summary: List or find ProductOffering objects
      description: This operation list or find ProductOffering entities
      tags:
      - productOffering
      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/ProductOffering"
        '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: createProductOffering
      summary: Creates a ProductOffering
      description: This operation creates a ProductOffering entity.
      tags:
      - productOffering
      parameters:
      - name: productOffering
        description: The ProductOffering to be created
        required: true
        schema:
          "$ref": "#/definitions/ProductOffering_Create"
        in: body
      responses:
        '201':
          description: Created
          schema:
            "$ref": "#/definitions/ProductOffering"
        '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"
  "/productOffering/{id}":
    get:
      operationId: retrieveProductOffering
      summary: Retrieves a ProductOffering by ID
      description: This operation retrieves a ProductOffering entity. Attribute selection
        is enabled for all first level attributes.
      tags:
      - productOffering
      parameters:
      - name: id
        description: Identifier of the ProductOffering
        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/ProductOffering"
        '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: patchProductOffering
      summary: Updates partially a ProductOffering
      description: This operation updates partially a ProductOffering entity.
      tags:
      - productOffering
      parameters:
      - name: id
        description: Identifier of the ProductOffering
        required: true
        type: string
        in: path
      - name: productOffering
        description: The ProductOffering to be updated
        required: true
        schema:
          "$ref": "#/definitions/ProductOffering_Update"
        in: body
      responses:
        '200':
          description: Updated
          schema:
            "$ref": "#/definitions/ProductOffering"
        '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: deleteProductOffering
      summary: Deletes a ProductOffering
      description: This operation deletes a ProductOffering entity.
      tags:
      - productOffering
      parameters:
      - name: id
        description: Identifier of the ProductOffering
        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"
  "/productOfferingPrice":
    get:
      operationId: listProductOfferingPrice
      summary: List or find ProductOfferingPrice objects
      description: This operation list or find ProductOfferingPrice entities
      tags:
      - productOfferingPrice
      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/ProductOfferingPrice"
        '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: createProductOfferingPrice
      summary: Creates a ProductOfferingPrice
      description: This operation creates a ProductOfferingPrice entity.
      tags:
      - productOfferingPrice
      parameters:
      - name: productOfferingPrice
        description: The ProductOfferingPrice to be created
        required: true
        schema:
          "$ref": "#/definitions/ProductOfferingPrice_Create"
        in: body
      responses:
        '201':
          description: Created
          schema:
            "$ref": "#/definitions/ProductOfferingPrice"
        '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"
  "/productOfferingPrice/{id}":
    get:
      operationId: retrieveProductOfferingPrice
      summary: Retrieves a ProductOfferingPrice by ID
      description: This operation retrieves a ProductOfferingPrice entity. Attribute
        selection is enabled for all first level attributes.
      tags:
      - productOfferingPrice
      parameters:
      - name: id
        description: Identifier of the ProductOfferingPrice
        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/ProductOfferingPrice"
        '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: patchProductOfferingPrice
      summary: Updates partially a ProductOfferingPrice
      description: This operation updates partially a ProductOfferingPrice entity.
      tags:
      - productOfferingPrice
      parameters:
      - name: id
        description: Identifier of the ProductOfferingPrice
        required: true
        type: string
        in: path
      - name: productOfferingPrice
        description: The ProductOfferingPrice to be updated
        required: true
        schema:
          "$ref": "#/definitions/ProductOfferingPrice_Update"
        in: body
      responses:
        '200':
          description: Updated
          schema:
            "$ref": "#/definitions/ProductOfferingPrice"
        '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: deleteProductOfferingPrice
      summary: Deletes a ProductOfferingPrice
      description: This operation deletes a ProductOfferingPrice entity.
      tags:
      - productOfferingPrice
      parameters:
      - name: id
        description: Identifier of the ProductOfferingPrice
        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"
  "/productSpecification":
    get:
      operationId: listProductSpecification
      summary: List or find ProductSpecification objects
      description: This operation list or find ProductSpecification entities
      tags:
      - productSpecification
      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/ProductSpecification"
        '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: createProductSpecification
      summary: Creates a ProductSpecification
      description: This operation creates a ProductSpecification entity.
      tags:
      - productSpecification
      parameters:
      - name: productSpecification
        description: The ProductSpecification to be created
        required: true
        schema:
          "$ref": "#/definitions/ProductSpecification_Create"
        in: body
      responses:
        '201':
          description: Created
          schema:
            "$ref": "#/definitions/ProductSpecification"
        '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"
  "/productSpecification/{id}":
    get:
      operationId: retrieveProductSpecification
      summary: Retrieves a ProductSpecification by ID
      description: This operation retrieves a ProductSpecification entity. Attribute
        selection is enabled for all first level attributes.
      tags:
      - productSpecification
      parameters:
      - name: id
        description: Identifier of the ProductSpecification
        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/ProductSpecification"
        '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: patchProductSpecification
      summary: Updates partially a ProductSpecification
      description: This operation updates partially a ProductSpecification entity.
      tags:
      - productSpecification
      parameters:
      - name: id
        description: Identifier of the ProductSpecification
        required: true
        type: string
        in: path
      - name: productSpecification
        description: The ProductSpecification to be updated
        required: true
        schema:
          "$ref": "#/definitions/ProductSpecification_Update"
        in: body
      responses:
        '200':
          description: Updated
          schema:
            "$ref": "#/definitions/ProductSpecification"
        '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: deleteProductSpecification
      summary: Deletes a ProductSpecification
      description: This operation deletes a ProductSpecification entity.
      tags:
      - productSpecification
      parameters:
      - name: id
        description: Identifier of the ProductSpecification
        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"
  "/importJob":
    get:
      operationId: listImportJob
      summary: List or find ImportJob objects
      description: This operation list or find ImportJob entities
      tags:
      - importJob
      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/ImportJob"
        '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: createImportJob
      summary: Creates a ImportJob
      description: This operation creates a ImportJob entity.
      tags:
      - importJob
      parameters:
      - name: importJob
        description: The ImportJob to be created
        required: true
        schema:
          "$ref": "#/definitions/ImportJob_Create"
        in: body
      responses:
        '201':
          description: Created
          schema:
            "$ref": "#/definitions/ImportJob"
        '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"
  "/importJob/{id}":
    get:
      operationId: retrieveImportJob
      summary: Retrieves a ImportJob by ID
      description: This operation retrieves a ImportJob entity. Attribute selection
        is enabled for all first level attributes.
      tags:
      - importJob
      parameters:
      - name: id
        description: Identifier of the ImportJob
        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/ImportJob"
        '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: deleteImportJob
      summary: Deletes a ImportJob
      description: This operation deletes a ImportJob entity.
      tags:
      - importJob
      parameters:
      - name: id
        description: Identifier of the ImportJob
        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"
  "/exportJob":
    get:
      operationId: listExportJob
      summary: List or find ExportJob objects
      description: This operation list or find ExportJob entities
      tags:
      - exportJob
      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/ExportJob"
        '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: createExportJob
      summary: Creates a ExportJob
      description: This operation creates a ExportJob entity.
      tags:
      - exportJob
      parameters:
      - name: exportJob
        description: The ExportJob to be created
        required: true
        schema:
          "$ref": "#/definitions/ExportJob_Create"
        in: body
      responses:
        '201':
          description: Created
          schema:
            "$ref": "#/definitions/ExportJob"
        '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"
  "/exportJob/{id}":
    get:
      operationId: retrieveExportJob
      summary: Retrieves a ExportJob by ID
      description: This operation retrieves a ExportJob entity. Attribute selection
        is enabled for all first level attributes.
      tags:
      - exportJob
      parameters:
      - name: id
        description: Identifier of the ExportJob
        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/ExportJob"
        '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: deleteExportJob
      summary: Deletes a ExportJob
      description: This operation deletes a ExportJob entity.
      tags:
      - exportJob
      parameters:
      - name: id
        description: Identifier of the ExportJob
        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"
  "/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/catalogCreateEvent":
    post:
      operationId: listenToCatalogCreateEvent
      summary: Client listener for entity CatalogCreateEvent
      description: Example of a client listener for receiving the notification CatalogCreateEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/CatalogCreateEvent"
      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/catalogDeleteEvent":
    post:
      operationId: listenToCatalogDeleteEvent
      summary: Client listener for entity CatalogDeleteEvent
      description: Example of a client listener for receiving the notification CatalogDeleteEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/CatalogDeleteEvent"
      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/catalogBatchEvent":
    post:
      operationId: listenToCatalogBatchEvent
      summary: Client listener for entity CatalogBatchEvent
      description: Example of a client listener for receiving the notification CatalogBatchEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/CatalogBatchEvent"
      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/categoryCreateEvent":
    post:
      operationId: listenToCategoryCreateEvent
      summary: Client listener for entity CategoryCreateEvent
      description: Example of a client listener for receiving the notification CategoryCreateEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/CategoryCreateEvent"
      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/categoryDeleteEvent":
    post:
      operationId: listenToCategoryDeleteEvent
      summary: Client listener for entity CategoryDeleteEvent
      description: Example of a client listener for receiving the notification CategoryDeleteEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/CategoryDeleteEvent"
      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/productOfferingCreateEvent":
    post:
      operationId: listenToProductOfferingCreateEvent
      summary: Client listener for entity ProductOfferingCreateEvent
      description: Example of a client listener for receiving the notification ProductOfferingCreateEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingCreateEvent"
      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/productOfferingAttributeValueChangeEvent":
    post:
      operationId: listenToProductOfferingAttributeValueChangeEvent
      summary: Client listener for entity ProductOfferingAttributeValueChangeEvent
      description: Example of a client listener for receiving the notification ProductOfferingAttributeValueChangeEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingAttributeValueChangeEvent"
      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/productOfferingStateChangeEvent":
    post:
      operationId: listenToProductOfferingStateChangeEvent
      summary: Client listener for entity ProductOfferingStateChangeEvent
      description: Example of a client listener for receiving the notification ProductOfferingStateChangeEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingStateChangeEvent"
      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/productOfferingDeleteEvent":
    post:
      operationId: listenToProductOfferingDeleteEvent
      summary: Client listener for entity ProductOfferingDeleteEvent
      description: Example of a client listener for receiving the notification ProductOfferingDeleteEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingDeleteEvent"
      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/productOfferingPriceCreateEvent":
    post:
      operationId: listenToProductOfferingPriceCreateEvent
      summary: Client listener for entity ProductOfferingPriceCreateEvent
      description: Example of a client listener for receiving the notification ProductOfferingPriceCreateEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingPriceCreateEvent"
      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/productOfferingPriceAttributeValueChangeEvent":
    post:
      operationId: listenToProductOfferingPriceAttributeValueChangeEvent
      summary: Client listener for entity ProductOfferingPriceAttributeValueChangeEvent
      description: Example of a client listener for receiving the notification ProductOfferingPriceAttributeValueChangeEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingPriceAttributeValueChangeEvent"
      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/productOfferingPriceStateChangeEvent":
    post:
      operationId: listenToProductOfferingPriceStateChangeEvent
      summary: Client listener for entity ProductOfferingPriceStateChangeEvent
      description: Example of a client listener for receiving the notification ProductOfferingPriceStateChangeEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingPriceStateChangeEvent"
      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/productOfferingPriceDeleteEvent":
    post:
      operationId: listenToProductOfferingPriceDeleteEvent
      summary: Client listener for entity ProductOfferingPriceDeleteEvent
      description: Example of a client listener for receiving the notification ProductOfferingPriceDeleteEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductOfferingPriceDeleteEvent"
      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/productSpecificationCreateEvent":
    post:
      operationId: listenToProductSpecificationCreateEvent
      summary: Client listener for entity ProductSpecificationCreateEvent
      description: Example of a client listener for receiving the notification ProductSpecificationCreateEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductSpecificationCreateEvent"
      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/productSpecificationDeleteEvent":
    post:
      operationId: listenToProductSpecificationDeleteEvent
      summary: Client listener for entity ProductSpecificationDeleteEvent
      description: Example of a client listener for receiving the notification ProductSpecificationDeleteEvent
      tags:
      - notification listeners (client side)
      parameters:
      - name: data
        required: true
        in: body
        description: The event data
        schema:
          "$ref": "#/definitions/ProductSpecificationDeleteEvent"
      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:
  AgreementRef:
    type: object
    description: Agreement reference. An agreement represents a contract or arrangement,
      either written or verbal and sometimes enforceable by law, such as a service
      level agreement or a customer price agreement. An agreement involves a number
      of other business entities, such as products, services, and resources and/or
      their specifications.
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the agreement
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  Any: {}
  Attachment:
    type: object
    description: Complements the description of an element (for instance a product)
      through video, pictures...
    properties:
      id:
        type: string
        description: Unique identifier for this particular attachment
      href:
        type: string
        description: URI for this Attachment
      attachmentType:
        type: string
        description: Attachment type such as video, picture
      content:
        type: string
        description: The actual contents of the attachment object, if embedded, encoded
          as base64
      description:
        type: string
        description: A narrative text describing the content of the attachment
      mimeType:
        type: string
        description: Attachment mime type such as extension file for video, picture
          and document
      name:
        type: string
        description: The name of the attachment
      url:
        type: string
        description: Uniform Resource Locator, is a web page address (a subset of
          URI)
      size:
        "$ref": "#/definitions/Quantity"
        description: The size of the attachment.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period of time for which the attachment is valid
      "@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
  AttachmentRef:
    type: object
    description: Attachment reference. An attachment complements the description of
      an element (for instance a product) through video, pictures
    properties:
      id:
        type: string
        description: Unique-Identifier for this attachment
      href:
        type: string
        description: URL serving as reference for the attachment resource
      description:
        type: string
        description: A narrative text describing the content of the attachment
      name:
        type: string
        description: Name of the related entity.
      url:
        type: string
        description: Link to the attachment media/content
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  AttachmentRefOrValue:
    type: object
    description: An attachment by value or by reference. For AttachmentRefOrValue,
      the attribute type,schemaLocation and referredType are related to the contained
      entity and not to AttchmentRefOrValue itself
    properties:
      id:
        type: string
        description: Unique identifier for this particular attachment
      href:
        type: string
        description: URI for this Attachment
      attachmentType:
        type: string
        description: Attachment type such as video, picture
      content:
        type: string
        description: The actual contents of the attachment object, if embedded, encoded
          as base64
      description:
        type: string
        description: A narrative text describing the content of the attachment
      mimeType:
        type: string
        description: Attachment mime type such as extension file for video, picture
          and document
      name:
        type: string
        description: The name of the attachment
      url:
        type: string
        description: Uniform Resource Locator, is a web page address (a subset of
          URI)
      size:
        "$ref": "#/definitions/Quantity"
        description: The size of the attachment.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period of time for which the attachment is valid
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
  BundledProductOffering:
    type: object
    description: A type of ProductOffering that belongs to a grouping of ProductOfferings
      made available to the market. It inherits of all attributes of ProductOffering.
    properties:
      id:
        type: string
        description: Unique identifier of the BundledProductOffering
      href:
        type: string
        description: Unique reference of the BundledProductOffering
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the BundledProductOffering
      bundledProductOfferingOption:
        "$ref": "#/definitions/BundledProductOfferingOption"
        description: A set of numbers that specifies the lower and upper limits for
          a ProductOffering that can be procured as part of the related BundledProductOffering.
          Values can range from 0 to unbounded.
      "@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
  BundledProductOfferingOption:
    type: object
    description: A set of numbers that specifies the lower and upper limits for a
      ProductOffering that can be procured as part of the related BundledProductOffering.
      Values can range from 0 to unbounded
    properties:
      numberRelOfferDefault:
        type: integer
        description: Default number of produc offereings that should be procured as
          part of the related BundledProductOffering
      numberRelOfferLowerLimit:
        type: integer
        description: lower limit for a product offering that can be procured as part
          of the related BundledProductOffering
      numberRelOfferUpperLimit:
        type: integer
        description: upper limit for a product offering that can be procured as part
          of the related BundledProductOffering
      "@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
  BundledProductOfferingPriceRelationship:
    type: object
    description: This represents a bundling pricing relationship, allowing a price
      to be composed of multiple other prices (e.g. a recurring charge and a onetime
      charge).
    properties:
      id:
        type: string
        description: Unique identifier of the bundled product offering price
      href:
        type: string
        description: hyperlink reference of the bundled product offering price
      name:
        type: string
        description: Name of the bundled product offering price
      "@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
  BundledProductSpecification:
    type: object
    description: A type of ProductSpecification that belongs to a grouping of ProductSpecifications
      made available to the market. It inherits of all attributes of ProductSpecification.
    properties:
      id:
        type: string
        description: Unique identifier of the product specification
      href:
        type: string
        description: Reference of the product specification
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the product specification
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
  Catalog:
    type: object
    description: A collection of Product Offerings, intended for a specific DistributionChannel,
      enhanced with additional information such as SLA parameters, invoicing and shipping
      details
    properties:
      id:
        type: string
        description: Unique identifier of the Catalog
      href:
        type: string
        description: Unique reference of the catalog
      catalogType:
        type: string
        description: Indicates if the catalog is a product, service or resource catalog
      description:
        type: string
        description: Description of this catalog
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the catalog
      version:
        type: string
        description: Catalog version
      category:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: List of root categories contained in this catalog
      relatedParty:
        type: array
        items:
          "$ref": "#/definitions/RelatedParty"
        description: List of parties involved in this catalog
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the catalog is valid
      "@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
  Catalog_Create:
    type: object
    description: |-
      A collection of Product Offerings, intended for a specific DistributionChannel, enhanced with additional information such as SLA parameters, invoicing and shipping details
      Skipped properties: id,href
    required:
    - name
    properties:
      catalogType:
        type: string
        description: Indicates if the catalog is a product, service or resource catalog
      description:
        type: string
        description: Description of this catalog
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the catalog
      version:
        type: string
        description: Catalog version
      category:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: List of root categories contained in this catalog
      relatedParty:
        type: array
        items:
          "$ref": "#/definitions/RelatedParty"
        description: List of parties involved in this catalog
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the catalog is valid
      "@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
  Catalog_Update:
    type: object
    description: |-
      A collection of Product Offerings, intended for a specific DistributionChannel, enhanced with additional information such as SLA parameters, invoicing and shipping details
      Skipped properties: id,href,lastUpdate
    properties:
      catalogType:
        type: string
        description: Indicates if the catalog is a product, service or resource catalog
      description:
        type: string
        description: Description of this catalog
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the catalog
      version:
        type: string
        description: Catalog version
      category:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: List of root categories contained in this catalog
      relatedParty:
        type: array
        items:
          "$ref": "#/definitions/RelatedParty"
        description: List of parties involved in this catalog
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the catalog is valid
      "@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
  Category:
    type: object
    description: The category resource is used to group product offerings, service
      and resource candidates in logical containers. Categories can contain other
      categories and/or product offerings, resource or service candidates.
    properties:
      id:
        type: string
        description: Unique identifier of the category
      href:
        type: string
        description: Reference of the category
      description:
        type: string
        description: Description of the category
      isRoot:
        type: boolean
        description: If true, this Boolean indicates that the category is a root of
          categories
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the category
      parentId:
        type: string
        description: Unique identifier of the parent category
      version:
        type: string
        description: Category version
      productOffering:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingRef"
        description: A product offering represents entities that are orderable from
          the provider of the catalog, this resource includes pricing information.
      subCategory:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: The category resource is used to group product offerings, service
          and resource candidates in logical containers. Categories can contain other
          (sub-)categories and/or product offerings.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the category is valid
      "@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
  Category_Create:
    type: object
    description: |-
      The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates.
      Skipped properties: id,href
    required:
    - name
    properties:
      description:
        type: string
        description: Description of the category
      isRoot:
        type: boolean
        description: If true, this Boolean indicates that the category is a root of
          categories
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the category
      parentId:
        type: string
        description: Unique identifier of the parent category
      version:
        type: string
        description: Category version
      productOffering:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingRef"
        description: A product offering represents entities that are orderable from
          the provider of the catalog, this resource includes pricing information.
      subCategory:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: The category resource is used to group product offerings, service
          and resource candidates in logical containers. Categories can contain other
          (sub-)categories and/or product offerings.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the category is valid
      "@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
  Category_Update:
    type: object
    description: |-
      The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates.
      Skipped properties: id,href,lastUpdate
    properties:
      description:
        type: string
        description: Description of the category
      isRoot:
        type: boolean
        description: If true, this Boolean indicates that the category is a root of
          categories
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the category
      parentId:
        type: string
        description: Unique identifier of the parent category
      version:
        type: string
        description: Category version
      productOffering:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingRef"
        description: A product offering represents entities that are orderable from
          the provider of the catalog, this resource includes pricing information.
      subCategory:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: The category resource is used to group product offerings, service
          and resource candidates in logical containers. Categories can contain other
          (sub-)categories and/or product offerings.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the category is valid
      "@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
  CategoryRef:
    type: object
    description: The category for grouping recommendations
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      version:
        type: string
        description: Category 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 entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ChannelRef:
    type: object
    description: The channel to which the resource reference to. e.g. channel for
      selling product offerings, channel for opening a trouble ticket etc..
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  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: reference id to the target constraint
      href:
        type: string
        description: Hyperlink reference to the target constraint
      name:
        type: string
        description: Name given to the constraint
      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 entity name
      "@referredType":
        type: string
        description: The (class) type of the referred constraint
    required:
    - id
  EntityRef:
    type: object
    description: Entity reference schema to be use for all entityRef class.
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ExportJob:
    type: object
    description: Represents a task used to export resources to a file
    properties:
      id:
        type: string
        description: Identifier of the export job
      href:
        type: string
        description: Reference of the export job
      completionDate:
        type: string
        format: date-time
        description: Data at which the job was completed
      contentType:
        type: string
        description: The format of the exported data
      creationDate:
        type: string
        format: date-time
        description: Date at which the job was created
      errorLog:
        type: string
        description: Reason for failure
      path:
        type: string
        description: URL of the root resource acting as the source for streaming content
          to the file specified by the export job
      query:
        type: string
        description: Used to scope the exported data
      url:
        type: string
        description: URL of the file containing the data to be exported
      status:
        "$ref": "#/definitions/JobStateType"
        description: Status of the export job (not started, running, succeeded, failed)
      "@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
  ExportJob_Create:
    type: object
    description: |-
      Represents a task used to export resources to a file
      Skipped properties: id,href
    required:
    - url
    properties:
      completionDate:
        type: string
        format: date-time
        description: Data at which the job was completed
      contentType:
        type: string
        description: The format of the exported data
      creationDate:
        type: string
        format: date-time
        description: Date at which the job was created
      errorLog:
        type: string
        description: Reason for failure
      path:
        type: string
        description: URL of the root resource acting as the source for streaming content
          to the file specified by the export job
      query:
        type: string
        description: Used to scope the exported data
      url:
        type: string
        description: URL of the file containing the data to be exported
      status:
        "$ref": "#/definitions/JobStateType"
        description: Status of the export job (not started, running, succeeded, failed)
      "@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
  ImportJob:
    type: object
    description: Represents a task used to import resources from a file
    properties:
      id:
        type: string
        description: Identifier of the import job
      href:
        type: string
        description: Reference of the import job
      completionDate:
        type: string
        format: date-time
        description: Date at which the job was completed
      contentType:
        type: string
        description: Indicates the format of the imported data
      creationDate:
        type: string
        format: date-time
        description: Date at which the job was created
      errorLog:
        type: string
        description: Reason for failure if status is failed
      path:
        type: string
        description: URL of the root resource where the content of the file specified
          by the import job must be applied
      url:
        type: string
        description: URL of the file containing the data to be imported
      status:
        "$ref": "#/definitions/JobStateType"
        description: Status of the import job (not started, running, succeeded, failed)
      "@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
  ImportJob_Create:
    type: object
    description: |-
      Represents a task used to import resources from a file
      Skipped properties: id,href
    required:
    - url
    properties:
      completionDate:
        type: string
        format: date-time
        description: Date at which the job was completed
      contentType:
        type: string
        description: Indicates the format of the imported data
      creationDate:
        type: string
        format: date-time
        description: Date at which the job was created
      errorLog:
        type: string
        description: Reason for failure if status is failed
      path:
        type: string
        description: URL of the root resource where the content of the file specified
          by the import job must be applied
      url:
        type: string
        description: URL of the file containing the data to be imported
      status:
        "$ref": "#/definitions/JobStateType"
        description: Status of the import job (not started, running, succeeded, failed)
      "@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
  JobStateType:
    type: string
    description: Valid values for the state of a batch job (e.g. catalog import)
    enum:
    - Not Started
    - Running
    - Succeeded
    - Failed
  MarketSegmentRef:
    type: object
    description: provides references to the corresponding market segment as target
      of product offerings. A market segment is grouping of Parties, GeographicAreas,
      SalesChannels, and so forth.
    properties:
      id:
        type: string
        description: Unique identifier of the market segment
      href:
        type: string
        description: Reference of the market segment
      name:
        type: string
        description: Name of the market segment
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: "(Class) type of the referred market segment"
    required:
    - id
  Money:
    type: object
    description: A base / value business entity used to represent money
    properties:
      unit:
        type: string
        description: Currency (ISO4217 norm uses 3 letters to define the currency)
      value:
        type: number
        format: float
        description: A positive floating point number
  PlaceRef:
    type: object
    description: Place reference. PlaceRef defines the placeRefs where the products
      are sold or delivered.
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  PricingLogicAlgorithm:
    type: object
    description: The PricingLogicAlgorithm entity represents an instantiation of an
      interface specification to external rating function (without a modeled bahavior
      in SID). Some of the parameters of the interface definiition may be already
      set (such as price per unit) and some may be gathered during the rating process
      from the event (such as call duration) or from ProductCharacteristicValues (such
      as assigned bandwidth)
    properties:
      id:
        type: string
        description: unique id of the PricingLogicAlgorithm
      href:
        type: string
        description: hyperlink reference of this PricingLogicAlgorithm
      description:
        type: string
        description: Description of the PricingLogicAlgorithm
      name:
        type: string
        description: Name given to the PricingLogicAlgorithm
      plaSpecId:
        type: string
        description: id of corresponding PricingLogicAlgorithm specification
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the PricingLogicAlgorithm is valid
      "@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
  ProductOffering:
    type: object
    description: Represents entities that are orderable from the provider of the catalog,
      this resource includes pricing information.
    properties:
      id:
        type: string
        description: Unique identifier of the productOffering
      href:
        type: string
        description: Reference of the ProductOffering
      description:
        type: string
        description: Description of the productOffering
      isBundle:
        type: boolean
        description: isBundle determines whether a productOffering represents a single
          productOffering (false), or a bundle of productOfferings (true).
      isSellable:
        type: boolean
        description: A flag indicating if this product offer can be sold stand-alone
          for sale or not. If this flag is false it indicates that the offer can only
          be sold within a bundle.
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the productOffering
      statusReason:
        type: string
        description: A string providing a complementary information on the value of
          the lifecycle status attribute.
      version:
        type: string
        description: ProductOffering version
      agreement:
        type: array
        items:
          "$ref": "#/definitions/AgreementRef"
        description: An agreement represents a contract or arrangement, either written
          or verbal and sometimes enforceable by law, such as a service level agreement
          or a customer price agreement. An agreement involves a number of other business
          entities, such as products, services, and resources and/or their specifications.
      attachment:
        type: array
        items:
          "$ref": "#/definitions/AttachmentRefOrValue"
        description: Complements the description of an element (for instance a product)
          through video, pictures...
      bundledProductOffering:
        type: array
        items:
          "$ref": "#/definitions/BundledProductOffering"
        description: A type of ProductOffering that belongs to a grouping of ProductOfferings
          made available to the market. It inherits of all attributes of ProductOffering.
      category:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: The category resource is used to group product offerings, service
          and resource candidates in logical containers. Categories can contain other
          categories and/or product offerings, resource or service candidates.
      channel:
        type: array
        items:
          "$ref": "#/definitions/ChannelRef"
        description: The channel defines the channel for selling product offerings.
      marketSegment:
        type: array
        items:
          "$ref": "#/definitions/MarketSegmentRef"
        description: provides references to the corresponding market segment as target
          of product offerings. A market segment is grouping of Parties, GeographicAreas,
          SalesChannels, and so forth.
      place:
        type: array
        items:
          "$ref": "#/definitions/PlaceRef"
        description: Place defines the places where the products are sold or delivered.
      prodSpecCharValueUse:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse"
        description: A use of the ProductSpecificationCharacteristicValue by a ProductOffering
          to which additional properties (attributes) apply or override the properties
          of similar properties contained in ProductSpecificationCharacteristicValue.
          It should be noted that characteristics which their value(s) addressed by
          this object must exist in corresponding product specification. The available
          characteristic values for a ProductSpecificationCharacteristic in a Product
          specification can be modified at the ProductOffering level. For example,
          a characteristic 'Color' might have values White, Blue, Green, and Red.
          But, the list of values can be restricted to e.g. White and Blue in an associated
          product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse'
          is a strict subset of the list of values as defined in the corresponding
          product specification characteristics.
      productOfferingPrice:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingPriceRef"
        description: An amount, usually of money, that is asked for or allowed when
          a ProductOffering is bought, rented, or leased. The price is valid for a
          defined period of time and may not represent the actual price paid by a
          customer.
      productOfferingTerm:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingTerm"
        description: A condition under which a ProductOffering is made available to
          Customers. For instance, a productOffering can be offered with multiple
          commitment periods.
      productSpecification:
        "$ref": "#/definitions/ProductSpecificationRef"
        description: A ProductSpecification is a detailed description of a tangible
          or intangible object made available externally in the form of a ProductOffering
          to customers or other parties playing a party role.
      resourceCandidate:
        "$ref": "#/definitions/ResourceCandidateRef"
        description: A resource candidate is an entity that makes a ResourceSpecification
          available to a catalog.
      serviceCandidate:
        "$ref": "#/definitions/ServiceCandidateRef"
        description: ServiceCandidate is an entity that makes a ServiceSpecification
          available to a catalog.
      serviceLevelAgreement:
        "$ref": "#/definitions/SLARef"
        description: A service level agreement (SLA) is a type of agreement that represents
          a formal negotiated agreement between two parties designed to create a common
          understanding about products, services, priorities, responsibilities, and
          so forth. The SLA is a set of appropriate procedures and targets formally
          or informally agreed between parties in order to achieve and maintain specified
          Quality of Service.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productOffering is valid
      "@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
  ProductOffering_Create:
    type: object
    description: |-
      Represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
      Skipped properties: id,href
    required:
    - name
    properties:
      description:
        type: string
        description: Description of the productOffering
      isBundle:
        type: boolean
        description: isBundle determines whether a productOffering represents a single
          productOffering (false), or a bundle of productOfferings (true).
      isSellable:
        type: boolean
        description: A flag indicating if this product offer can be sold stand-alone
          for sale or not. If this flag is false it indicates that the offer can only
          be sold within a bundle.
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the productOffering
      statusReason:
        type: string
        description: A string providing a complementary information on the value of
          the lifecycle status attribute.
      version:
        type: string
        description: ProductOffering version
      agreement:
        type: array
        items:
          "$ref": "#/definitions/AgreementRef"
        description: An agreement represents a contract or arrangement, either written
          or verbal and sometimes enforceable by law, such as a service level agreement
          or a customer price agreement. An agreement involves a number of other business
          entities, such as products, services, and resources and/or their specifications.
      attachment:
        type: array
        items:
          "$ref": "#/definitions/AttachmentRefOrValue"
        description: Complements the description of an element (for instance a product)
          through video, pictures...
      bundledProductOffering:
        type: array
        items:
          "$ref": "#/definitions/BundledProductOffering"
        description: A type of ProductOffering that belongs to a grouping of ProductOfferings
          made available to the market. It inherits of all attributes of ProductOffering.
      category:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: The category resource is used to group product offerings, service
          and resource candidates in logical containers. Categories can contain other
          categories and/or product offerings, resource or service candidates.
      channel:
        type: array
        items:
          "$ref": "#/definitions/ChannelRef"
        description: The channel defines the channel for selling product offerings.
      marketSegment:
        type: array
        items:
          "$ref": "#/definitions/MarketSegmentRef"
        description: provides references to the corresponding market segment as target
          of product offerings. A market segment is grouping of Parties, GeographicAreas,
          SalesChannels, and so forth.
      place:
        type: array
        items:
          "$ref": "#/definitions/PlaceRef"
        description: Place defines the places where the products are sold or delivered.
      prodSpecCharValueUse:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse"
        description: A use of the ProductSpecificationCharacteristicValue by a ProductOffering
          to which additional properties (attributes) apply or override the properties
          of similar properties contained in ProductSpecificationCharacteristicValue.
          It should be noted that characteristics which their value(s) addressed by
          this object must exist in corresponding product specification. The available
          characteristic values for a ProductSpecificationCharacteristic in a Product
          specification can be modified at the ProductOffering level. For example,
          a characteristic 'Color' might have values White, Blue, Green, and Red.
          But, the list of values can be restricted to e.g. White and Blue in an associated
          product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse'
          is a strict subset of the list of values as defined in the corresponding
          product specification characteristics.
      productOfferingPrice:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingPriceRef"
        description: An amount, usually of money, that is asked for or allowed when
          a ProductOffering is bought, rented, or leased. The price is valid for a
          defined period of time and may not represent the actual price paid by a
          customer.
      productOfferingTerm:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingTerm"
        description: A condition under which a ProductOffering is made available to
          Customers. For instance, a productOffering can be offered with multiple
          commitment periods.
      productSpecification:
        "$ref": "#/definitions/ProductSpecificationRef"
        description: A ProductSpecification is a detailed description of a tangible
          or intangible object made available externally in the form of a ProductOffering
          to customers or other parties playing a party role.
      resourceCandidate:
        "$ref": "#/definitions/ResourceCandidateRef"
        description: A resource candidate is an entity that makes a ResourceSpecification
          available to a catalog.
      serviceCandidate:
        "$ref": "#/definitions/ServiceCandidateRef"
        description: ServiceCandidate is an entity that makes a ServiceSpecification
          available to a catalog.
      serviceLevelAgreement:
        "$ref": "#/definitions/SLARef"
        description: A service level agreement (SLA) is a type of agreement that represents
          a formal negotiated agreement between two parties designed to create a common
          understanding about products, services, priorities, responsibilities, and
          so forth. The SLA is a set of appropriate procedures and targets formally
          or informally agreed between parties in order to achieve and maintain specified
          Quality of Service.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productOffering is valid
      "@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
  ProductOffering_Update:
    type: object
    description: |-
      Represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
      Skipped properties: id,href,lastUpdate
    properties:
      description:
        type: string
        description: Description of the productOffering
      isBundle:
        type: boolean
        description: isBundle determines whether a productOffering represents a single
          productOffering (false), or a bundle of productOfferings (true).
      isSellable:
        type: boolean
        description: A flag indicating if this product offer can be sold stand-alone
          for sale or not. If this flag is false it indicates that the offer can only
          be sold within a bundle.
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the productOffering
      statusReason:
        type: string
        description: A string providing a complementary information on the value of
          the lifecycle status attribute.
      version:
        type: string
        description: ProductOffering version
      agreement:
        type: array
        items:
          "$ref": "#/definitions/AgreementRef"
        description: An agreement represents a contract or arrangement, either written
          or verbal and sometimes enforceable by law, such as a service level agreement
          or a customer price agreement. An agreement involves a number of other business
          entities, such as products, services, and resources and/or their specifications.
      attachment:
        type: array
        items:
          "$ref": "#/definitions/AttachmentRefOrValue"
        description: Complements the description of an element (for instance a product)
          through video, pictures...
      bundledProductOffering:
        type: array
        items:
          "$ref": "#/definitions/BundledProductOffering"
        description: A type of ProductOffering that belongs to a grouping of ProductOfferings
          made available to the market. It inherits of all attributes of ProductOffering.
      category:
        type: array
        items:
          "$ref": "#/definitions/CategoryRef"
        description: The category resource is used to group product offerings, service
          and resource candidates in logical containers. Categories can contain other
          categories and/or product offerings, resource or service candidates.
      channel:
        type: array
        items:
          "$ref": "#/definitions/ChannelRef"
        description: The channel defines the channel for selling product offerings.
      marketSegment:
        type: array
        items:
          "$ref": "#/definitions/MarketSegmentRef"
        description: provides references to the corresponding market segment as target
          of product offerings. A market segment is grouping of Parties, GeographicAreas,
          SalesChannels, and so forth.
      place:
        type: array
        items:
          "$ref": "#/definitions/PlaceRef"
        description: Place defines the places where the products are sold or delivered.
      prodSpecCharValueUse:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse"
        description: A use of the ProductSpecificationCharacteristicValue by a ProductOffering
          to which additional properties (attributes) apply or override the properties
          of similar properties contained in ProductSpecificationCharacteristicValue.
          It should be noted that characteristics which their value(s) addressed by
          this object must exist in corresponding product specification. The available
          characteristic values for a ProductSpecificationCharacteristic in a Product
          specification can be modified at the ProductOffering level. For example,
          a characteristic 'Color' might have values White, Blue, Green, and Red.
          But, the list of values can be restricted to e.g. White and Blue in an associated
          product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse'
          is a strict subset of the list of values as defined in the corresponding
          product specification characteristics.
      productOfferingPrice:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingPriceRef"
        description: An amount, usually of money, that is asked for or allowed when
          a ProductOffering is bought, rented, or leased. The price is valid for a
          defined period of time and may not represent the actual price paid by a
          customer.
      productOfferingTerm:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingTerm"
        description: A condition under which a ProductOffering is made available to
          Customers. For instance, a productOffering can be offered with multiple
          commitment periods.
      productSpecification:
        "$ref": "#/definitions/ProductSpecificationRef"
        description: A ProductSpecification is a detailed description of a tangible
          or intangible object made available externally in the form of a ProductOffering
          to customers or other parties playing a party role.
      resourceCandidate:
        "$ref": "#/definitions/ResourceCandidateRef"
        description: A resource candidate is an entity that makes a ResourceSpecification
          available to a catalog.
      serviceCandidate:
        "$ref": "#/definitions/ServiceCandidateRef"
        description: ServiceCandidate is an entity that makes a ServiceSpecification
          available to a catalog.
      serviceLevelAgreement:
        "$ref": "#/definitions/SLARef"
        description: A service level agreement (SLA) is a type of agreement that represents
          a formal negotiated agreement between two parties designed to create a common
          understanding about products, services, priorities, responsibilities, and
          so forth. The SLA is a set of appropriate procedures and targets formally
          or informally agreed between parties in order to achieve and maintain specified
          Quality of Service.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productOffering is valid
      "@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
  ProductOfferingPrice:
    type: object
    description: 'Is based on both the basic cost to develop and produce products
      and the enterprises policy on revenue targets. This price may be further revised
      through discounting (productOfferPriceAlteration). The price, applied for a
      productOffering may also be influenced by the productOfferingTerm, the customer
      selected, eg: a productOffering can be offered with multiple terms, like commitment
      periods for the contract. The price may be influenced by this productOfferingTerm.
      A productOffering may be cheaper with a 24 month commitment than with a 12 month
      commitment.'
    properties:
      id:
        type: string
        description: unique id of this resource
      href:
        type: string
        description: Reference of the ProductOfferingPrice
      description:
        type: string
        description: Description of the productOfferingPrice
      isBundle:
        type: boolean
        description: A flag indicating if this ProductOfferingPrice is composite (bundle)
          or not
      lastUpdate:
        type: string
        format: date-time
        description: the last update time of this ProductOfferingPrice
      lifecycleStatus:
        type: string
        description: the lifecycle status of this ProductOfferingPrice
      name:
        type: string
        description: Name of the productOfferingPrice
      percentage:
        type: number
        format: float
        description: Percentage to apply for ProductOfferPriceAlteration (Discount)
      priceType:
        type: string
        description: A category that describes the price, such as recurring, discount,
          allowance, penalty, and so forth.
      recurringChargePeriodLength:
        type: integer
        description: 'the period of the recurring charge:  1, 2, ... .It sets to zero
          if it is not applicable'
      recurringChargePeriodType:
        type: string
        description: |-
          The period to repeat the application of the price
          Could be month, week...
      version:
        type: string
        description: ProductOffering version
      bundledPopRelationship:
        type: array
        items:
          "$ref": "#/definitions/BundledProductOfferingPriceRelationship"
        description: this object represents a bundle relationship from a bundle product
          offering price (parent) to a simple product offering price (child). A simple
          product offering price may participate in more than one bundle relationship.
      constraint:
        type: array
        items:
          "$ref": "#/definitions/ConstraintRef"
        description: The Constraint resource represents a policy/rule applied to ProductOfferingPrice.
      place:
        type: array
        items:
          "$ref": "#/definitions/PlaceRef"
        description: Place defines the places where the products are sold or delivered.
      popRelationship:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingPriceRelationship"
        description: Product Offering Prices related to this Product Offering Price,
          for example a price alteration such as allowance or discount
      price:
        "$ref": "#/definitions/Money"
        description: The amount of money that characterizes the price.
      pricingLogicAlgorithm:
        type: array
        items:
          "$ref": "#/definitions/PricingLogicAlgorithm"
        description: The PricingLogicAlgorithm entity represents an instantiation
          of an interface specification to external rating function (without a modeled
          behavior in SID). Some of the parameters of the interface definition may
          be already set (such as price per unit) and some may be gathered during
          the rating process from the event (such as call duration) or from ProductCharacteristicValues
          (such as assigned bandwidth).
      prodSpecCharValueUse:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse"
        description: A use of the ProductSpecificationCharacteristicValue by a ProductOfferingPrice
          to which additional properties (attributes) apply or override the properties
          of similar properties contained in ProductSpecificationCharacteristicValue.
          It should be noted that characteristics which their value(s) addressed by
          this object must exist in corresponding product specification. The available
          characteristic values for a ProductSpecificationCharacteristic in a Product
          specification can be modified at the ProductOffering and ProcuctOfferingPrice
          level. The list of values in ProductSpecificationCharacteristicValueUse
          is a strict subset of the list of values as defined in the corresponding
          product specification characteristics.
      productOfferingTerm:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingTerm"
        description: A list of conditions under which a ProductOfferingPrice is made
          available to Customers. For instance, a Product Offering Price can be offered
          with multiple commitment periods.
      tax:
        type: array
        items:
          "$ref": "#/definitions/TaxItem"
        description: An amount of money levied on the price of a Product by a legislative
          body.
      unitOfMeasure:
        "$ref": "#/definitions/Quantity"
        description: A number and unit representing how many (for instance 1 dozen)
          of an ProductOffering is available at the offered price. Its meaning depends
          on the priceType. It could be a price, a rate, or a discount.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productOfferingPrice is valid
      "@baseType":
        type: string
        description: the immediate base class type of this product offering
      "@schemaLocation":
        type: string
        description: hyperlink reference to the schema describing this resource
      "@type":
        type: string
        description: The class type of this Product offering
  ProductOfferingPrice_Create:
    type: object
    description: |-
      Is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (productOfferPriceAlteration). The price, applied for a productOffering may also be influenced by the productOfferingTerm, the customer selected, eg: a productOffering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this productOfferingTerm. A productOffering may be cheaper with a 24 month commitment than with a 12 month commitment.
      Skipped properties: id,href
    required:
    - name
    properties:
      description:
        type: string
        description: Description of the productOfferingPrice
      isBundle:
        type: boolean
        description: A flag indicating if this ProductOfferingPrice is composite (bundle)
          or not
      lastUpdate:
        type: string
        format: date-time
        description: the last update time of this ProductOfferingPrice
      lifecycleStatus:
        type: string
        description: the lifecycle status of this ProductOfferingPrice
      name:
        type: string
        description: Name of the productOfferingPrice
      percentage:
        type: number
        format: float
        description: Percentage to apply for ProductOfferPriceAlteration (Discount)
      priceType:
        type: string
        description: A category that describes the price, such as recurring, discount,
          allowance, penalty, and so forth.
      recurringChargePeriodLength:
        type: integer
        description: 'the period of the recurring charge:  1, 2, ... .It sets to zero
          if it is not applicable'
      recurringChargePeriodType:
        type: string
        description: |-
          The period to repeat the application of the price
          Could be month, week...
      version:
        type: string
        description: ProductOffering version
      bundledPopRelationship:
        type: array
        items:
          "$ref": "#/definitions/BundledProductOfferingPriceRelationship"
        description: this object represents a bundle relationship from a bundle product
          offering price (parent) to a simple product offering price (child). A simple
          product offering price may participate in more than one bundle relationship.
      constraint:
        type: array
        items:
          "$ref": "#/definitions/ConstraintRef"
        description: The Constraint resource represents a policy/rule applied to ProductOfferingPrice.
      place:
        type: array
        items:
          "$ref": "#/definitions/PlaceRef"
        description: Place defines the places where the products are sold or delivered.
      popRelationship:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingPriceRelationship"
        description: Product Offering Prices related to this Product Offering Price,
          for example a price alteration such as allowance or discount
      price:
        "$ref": "#/definitions/Money"
        description: The amount of money that characterizes the price.
      pricingLogicAlgorithm:
        type: array
        items:
          "$ref": "#/definitions/PricingLogicAlgorithm"
        description: The PricingLogicAlgorithm entity represents an instantiation
          of an interface specification to external rating function (without a modeled
          behavior in SID). Some of the parameters of the interface definition may
          be already set (such as price per unit) and some may be gathered during
          the rating process from the event (such as call duration) or from ProductCharacteristicValues
          (such as assigned bandwidth).
      prodSpecCharValueUse:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse"
        description: A use of the ProductSpecificationCharacteristicValue by a ProductOfferingPrice
          to which additional properties (attributes) apply or override the properties
          of similar properties contained in ProductSpecificationCharacteristicValue.
          It should be noted that characteristics which their value(s) addressed by
          this object must exist in corresponding product specification. The available
          characteristic values for a ProductSpecificationCharacteristic in a Product
          specification can be modified at the ProductOffering and ProcuctOfferingPrice
          level. The list of values in ProductSpecificationCharacteristicValueUse
          is a strict subset of the list of values as defined in the corresponding
          product specification characteristics.
      productOfferingTerm:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingTerm"
        description: A list of conditions under which a ProductOfferingPrice is made
          available to Customers. For instance, a Product Offering Price can be offered
          with multiple commitment periods.
      tax:
        type: array
        items:
          "$ref": "#/definitions/TaxItem"
        description: An amount of money levied on the price of a Product by a legislative
          body.
      unitOfMeasure:
        "$ref": "#/definitions/Quantity"
        description: A number and unit representing how many (for instance 1 dozen)
          of an ProductOffering is available at the offered price. Its meaning depends
          on the priceType. It could be a price, a rate, or a discount.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productOfferingPrice is valid
      "@baseType":
        type: string
        description: the immediate base class type of this product offering
      "@schemaLocation":
        type: string
        description: hyperlink reference to the schema describing this resource
      "@type":
        type: string
        description: The class type of this Product offering
  ProductOfferingPrice_Update:
    type: object
    description: |-
      Is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (productOfferPriceAlteration). The price, applied for a productOffering may also be influenced by the productOfferingTerm, the customer selected, eg: a productOffering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this productOfferingTerm. A productOffering may be cheaper with a 24 month commitment than with a 12 month commitment.
      Skipped properties: id,href,lastUpdate
    properties:
      description:
        type: string
        description: Description of the productOfferingPrice
      isBundle:
        type: boolean
        description: A flag indicating if this ProductOfferingPrice is composite (bundle)
          or not
      lifecycleStatus:
        type: string
        description: the lifecycle status of this ProductOfferingPrice
      name:
        type: string
        description: Name of the productOfferingPrice
      percentage:
        type: number
        format: float
        description: Percentage to apply for ProductOfferPriceAlteration (Discount)
      priceType:
        type: string
        description: A category that describes the price, such as recurring, discount,
          allowance, penalty, and so forth.
      recurringChargePeriodLength:
        type: integer
        description: 'the period of the recurring charge:  1, 2, ... .It sets to zero
          if it is not applicable'
      recurringChargePeriodType:
        type: string
        description: |-
          The period to repeat the application of the price
          Could be month, week...
      version:
        type: string
        description: ProductOffering version
      bundledPopRelationship:
        type: array
        items:
          "$ref": "#/definitions/BundledProductOfferingPriceRelationship"
        description: this object represents a bundle relationship from a bundle product
          offering price (parent) to a simple product offering price (child). A simple
          product offering price may participate in more than one bundle relationship.
      constraint:
        type: array
        items:
          "$ref": "#/definitions/ConstraintRef"
        description: The Constraint resource represents a policy/rule applied to ProductOfferingPrice.
      place:
        type: array
        items:
          "$ref": "#/definitions/PlaceRef"
        description: Place defines the places where the products are sold or delivered.
      popRelationship:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingPriceRelationship"
        description: Product Offering Prices related to this Product Offering Price,
          for example a price alteration such as allowance or discount
      price:
        "$ref": "#/definitions/Money"
        description: The amount of money that characterizes the price.
      pricingLogicAlgorithm:
        type: array
        items:
          "$ref": "#/definitions/PricingLogicAlgorithm"
        description: The PricingLogicAlgorithm entity represents an instantiation
          of an interface specification to external rating function (without a modeled
          behavior in SID). Some of the parameters of the interface definition may
          be already set (such as price per unit) and some may be gathered during
          the rating process from the event (such as call duration) or from ProductCharacteristicValues
          (such as assigned bandwidth).
      prodSpecCharValueUse:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse"
        description: A use of the ProductSpecificationCharacteristicValue by a ProductOfferingPrice
          to which additional properties (attributes) apply or override the properties
          of similar properties contained in ProductSpecificationCharacteristicValue.
          It should be noted that characteristics which their value(s) addressed by
          this object must exist in corresponding product specification. The available
          characteristic values for a ProductSpecificationCharacteristic in a Product
          specification can be modified at the ProductOffering and ProcuctOfferingPrice
          level. The list of values in ProductSpecificationCharacteristicValueUse
          is a strict subset of the list of values as defined in the corresponding
          product specification characteristics.
      productOfferingTerm:
        type: array
        items:
          "$ref": "#/definitions/ProductOfferingTerm"
        description: A list of conditions under which a ProductOfferingPrice is made
          available to Customers. For instance, a Product Offering Price can be offered
          with multiple commitment periods.
      tax:
        type: array
        items:
          "$ref": "#/definitions/TaxItem"
        description: An amount of money levied on the price of a Product by a legislative
          body.
      unitOfMeasure:
        "$ref": "#/definitions/Quantity"
        description: A number and unit representing how many (for instance 1 dozen)
          of an ProductOffering is available at the offered price. Its meaning depends
          on the priceType. It could be a price, a rate, or a discount.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productOfferingPrice is valid
      "@baseType":
        type: string
        description: the immediate base class type of this product offering
      "@schemaLocation":
        type: string
        description: hyperlink reference to the schema describing this resource
      "@type":
        type: string
        description: The class type of this Product offering
  ProductOfferingPriceRef:
    type: object
    description: ProductPriceOffering reference. An amount, usually of money, that
      is asked for or allowed when a ProductOffering is bought, rented, or leased
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ProductOfferingPriceRelationship:
    type: object
    description: Describes a non-composite relationship between product offering prices.
      For example one price might be an discount alteration for another price.
    properties:
      id:
        type: string
        description: Unique identifier of the associated product offering price
      href:
        type: string
        description: hyperlink reference of the associated product offering price
      name:
        type: string
        description: Name of the associated product offering price
      relationshipType:
        type: string
        description: type of the relationship, for example override, discount, etc.
      "@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
  ProductOfferingRef:
    type: object
    description: ProductOffering reference. A product offering represents entities
      that are orderable from the provider of the catalog, this resource includes
      pricing information.
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ProductOfferingTerm:
    type: object
    description: A condition under which a ProductOffering is made available to Customers.
      For instance, a productOffering can be offered with multiple commitment periods.
    properties:
      description:
        type: string
        description: Description of the productOfferingTerm
      name:
        type: string
        description: Name of the productOfferingTerm
      duration:
        "$ref": "#/definitions/Quantity"
        description: Duration of the productOfferingTerm
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productOfferingTerm is valid
      "@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
  ProductSpecification:
    type: object
    description: Is a detailed description of a tangible or intangible object made
      available externally in the form of a ProductOffering to customers or other
      parties playing a party role.
    properties:
      id:
        type: string
        description: Unique identifier of the product specification
      href:
        type: string
        description: Reference of the product specification
      brand:
        type: string
        description: The manufacturer or trademark of the specification
      description:
        type: string
        description: A narrative that explains in detail what the product specification
          is
      isBundle:
        type: boolean
        description: isBundle determines whether a productSpecification represents
          a single productSpecification (false), or a bundle of productSpecification
          (true).
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the product specification
      productNumber:
        type: string
        description: An identification number assigned to uniquely identity the specification
      version:
        type: string
        description: Product specification version
      attachment:
        type: array
        items:
          "$ref": "#/definitions/AttachmentRefOrValue"
        description: Complements the description of an element (for instance a product)
          through video, pictures...
      bundledProductSpecification:
        type: array
        items:
          "$ref": "#/definitions/BundledProductSpecification"
        description: A type of ProductSpecification that belongs to a grouping of
          ProductSpecifications made available to the market. It inherits of all attributes
          of ProductSpecification.
      productSpecCharacteristic:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristic"
        description: A characteristic quality or distinctive feature of a ProductSpecification.  The
          characteristic can be take on a discrete value, such as color, can take
          on a range of values, (for example, sensitivity of 100-240 mV), or can be
          derived from a formula (for example, usage time (hrs) = 30 - talk time *3).
          Certain characteristics, such as color, may be configured during the ordering
          or some other process.
      productSpecificationRelationship:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationRelationship"
        description: A migration, substitution, dependency or exclusivity relationship
          between/among product specifications.
      relatedParty:
        type: array
        items:
          "$ref": "#/definitions/RelatedParty"
        description: A related party defines party or party role linked to a specific
          entity.
      resourceSpecification:
        type: array
        items:
          "$ref": "#/definitions/ResourceSpecificationRef"
        description: The ResourceSpecification is required to realize a ProductSpecification.
      serviceSpecification:
        type: array
        items:
          "$ref": "#/definitions/ServiceSpecificationRef"
        description: ServiceSpecification(s) required to realize a ProductSpecification.
      targetProductSchema:
        "$ref": "#/definitions/TargetProductSchema"
        description: A target product schema reference. The reference object to the
          schema and type of target product which is described by product specification.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the product specification is valid
      "@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
  ProductSpecification_Create:
    type: object
    description: |-
      Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.
      Skipped properties: id,href
    required:
    - name
    properties:
      brand:
        type: string
        description: The manufacturer or trademark of the specification
      description:
        type: string
        description: A narrative that explains in detail what the product specification
          is
      isBundle:
        type: boolean
        description: isBundle determines whether a productSpecification represents
          a single productSpecification (false), or a bundle of productSpecification
          (true).
      lastUpdate:
        type: string
        format: date-time
        description: Date and time of the last update
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the product specification
      productNumber:
        type: string
        description: An identification number assigned to uniquely identity the specification
      version:
        type: string
        description: Product specification version
      attachment:
        type: array
        items:
          "$ref": "#/definitions/AttachmentRefOrValue"
        description: Complements the description of an element (for instance a product)
          through video, pictures...
      bundledProductSpecification:
        type: array
        items:
          "$ref": "#/definitions/BundledProductSpecification"
        description: A type of ProductSpecification that belongs to a grouping of
          ProductSpecifications made available to the market. It inherits of all attributes
          of ProductSpecification.
      productSpecCharacteristic:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristic"
        description: A characteristic quality or distinctive feature of a ProductSpecification.  The
          characteristic can be take on a discrete value, such as color, can take
          on a range of values, (for example, sensitivity of 100-240 mV), or can be
          derived from a formula (for example, usage time (hrs) = 30 - talk time *3).
          Certain characteristics, such as color, may be configured during the ordering
          or some other process.
      productSpecificationRelationship:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationRelationship"
        description: A migration, substitution, dependency or exclusivity relationship
          between/among product specifications.
      relatedParty:
        type: array
        items:
          "$ref": "#/definitions/RelatedParty"
        description: A related party defines party or party role linked to a specific
          entity.
      resourceSpecification:
        type: array
        items:
          "$ref": "#/definitions/ResourceSpecificationRef"
        description: The ResourceSpecification is required to realize a ProductSpecification.
      serviceSpecification:
        type: array
        items:
          "$ref": "#/definitions/ServiceSpecificationRef"
        description: ServiceSpecification(s) required to realize a ProductSpecification.
      targetProductSchema:
        "$ref": "#/definitions/TargetProductSchema"
        description: A target product schema reference. The reference object to the
          schema and type of target product which is described by product specification.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the product specification is valid
      "@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
  ProductSpecification_Update:
    type: object
    description: |-
      Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.
      Skipped properties: id,href,lastUpdate
    properties:
      brand:
        type: string
        description: The manufacturer or trademark of the specification
      description:
        type: string
        description: A narrative that explains in detail what the product specification
          is
      isBundle:
        type: boolean
        description: isBundle determines whether a productSpecification represents
          a single productSpecification (false), or a bundle of productSpecification
          (true).
      lifecycleStatus:
        type: string
        description: Used to indicate the current lifecycle status
      name:
        type: string
        description: Name of the product specification
      productNumber:
        type: string
        description: An identification number assigned to uniquely identity the specification
      version:
        type: string
        description: Product specification version
      attachment:
        type: array
        items:
          "$ref": "#/definitions/AttachmentRefOrValue"
        description: Complements the description of an element (for instance a product)
          through video, pictures...
      bundledProductSpecification:
        type: array
        items:
          "$ref": "#/definitions/BundledProductSpecification"
        description: A type of ProductSpecification that belongs to a grouping of
          ProductSpecifications made available to the market. It inherits of all attributes
          of ProductSpecification.
      productSpecCharacteristic:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristic"
        description: A characteristic quality or distinctive feature of a ProductSpecification.  The
          characteristic can be take on a discrete value, such as color, can take
          on a range of values, (for example, sensitivity of 100-240 mV), or can be
          derived from a formula (for example, usage time (hrs) = 30 - talk time *3).
          Certain characteristics, such as color, may be configured during the ordering
          or some other process.
      productSpecificationRelationship:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationRelationship"
        description: A migration, substitution, dependency or exclusivity relationship
          between/among product specifications.
      relatedParty:
        type: array
        items:
          "$ref": "#/definitions/RelatedParty"
        description: A related party defines party or party role linked to a specific
          entity.
      resourceSpecification:
        type: array
        items:
          "$ref": "#/definitions/ResourceSpecificationRef"
        description: The ResourceSpecification is required to realize a ProductSpecification.
      serviceSpecification:
        type: array
        items:
          "$ref": "#/definitions/ServiceSpecificationRef"
        description: ServiceSpecification(s) required to realize a ProductSpecification.
      targetProductSchema:
        "$ref": "#/definitions/TargetProductSchema"
        description: A target product schema reference. The reference object to the
          schema and type of target product which is described by product specification.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the product specification is valid
      "@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
  ProductSpecificationCharacteristic:
    type: object
    description: A characteristic quality or distinctive feature of a ProductSpecification.  The
      characteristic can be take on a discrete value, such as color, can take on a
      range of values, (for example, sensitivity of 100-240 mV), or can be derived
      from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain
      characteristics, such as color, may be configured during the ordering or some
      other process.
    properties:
      configurable:
        type: boolean
        description: If true, the Boolean indicates that the ProductSpecificationCharacteristic
          is configurable
      description:
        type: string
        description: A narrative that explains in detail what the ProductSpecificationCharacteristic
          is
      extensible:
        type: boolean
        description: An indicator that specifies that the values for the characteristic
          can be extended by adding new values when instantiating a characteristic
          for a product
      isUnique:
        type: boolean
        description: An indicator that specifies if a value is unique for the specification.
          Possible values are; "unique while value is in effect" and "unique whether
          value is in effect or not"
      maxCardinality:
        type: integer
        description: The maximum number of instances a CharacteristicValue can take
          on. For example, zero to five phone numbers in a group calling plan, where
          five is the value for the maxCardinality
      minCardinality:
        type: integer
        description: The minimum number of instances a CharacteristicValue can take
          on. For example, zero to five phone numbers in a group calling plan, where
          zero is the value for the minCardinality
      name:
        type: string
        description: Name of the ProductSpecificationCharacteristic
      regex:
        type: string
        description: A rule or principle represented in regular expression used to
          derive the value of a characteristic value
      valueType:
        type: string
        description: A kind of value that the characteristic can take on, such as
          numeric, text and so forth
      productSpecCharRelationship:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicRelationship"
        description: An aggregation, migration, substitution, dependency or exclusivity
          relationship between/among Specification Characteristics.
      productSpecCharacteristicValue:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValue"
        description: A ProductSpecificationCharacteristicValue object is used to define
          a set of attributes, each of which can be assigned to a corresponding set
          of attributes in a ProductSpecificationCharacteristic object. The values
          of the attributes in the ProductSpecificationCharacteristicValue object
          describe the values of the attributes that a corresponding ProductSpecificationCharacteristic
          object can take on.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the ProductSpecificationCharacteristic is
          valid
      "@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
  ProductSpecificationCharacteristicRelationship:
    type: object
    description: An aggregation, migration, substitution, dependency or exclusivity
      relationship between/among productSpecificationCharacteristics.
    properties:
      id:
        type: string
        description: the identifier of the associated product specification
      href:
        type: string
        description: Hyperlink reference to the target product specification
      charSpecSeq:
        type: integer
        description: |-
          The order in which a CharacteristicSpecification appears within another CharacteristicSpecification that defines a grouping of CharacteristicSpecifications.

          For example, a grouping may represent the name of an individual. The given name is first, the middle name is second, and the last name is third.
      name:
        type: string
        description: Name of the target product specification characteristic
      relationshipType:
        type: string
        description: Type of relationship such as aggregation, migration, substitution,
          dependency, exclusivity
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productSpecificationCharacteristicRelationship
          is valid
      "@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
  ProductSpecificationCharacteristicValue:
    type: object
    description: A ProductSpecificationCharacteristicValue object is used to define
      a set of attributes, each of which can be assigned to a corresponding set of
      attributes in a ProductSpecificationCharacteristic object. The values of the
      attributes in the ProductSpecificationCharacteristicValue object describe the
      values of the attributes that a corresponding ProductSpecificationCharacteristic
      object can take on.
    properties:
      isDefault:
        type: boolean
        description: Indicates if the value is the default value for a characteristic
      rangeInterval:
        type: string
        description: An indicator that specifies the inclusion or exclusion of the
          valueFrom and valueTo attributes. If applicable, possible values are "open",
          "closed", "closedBottom" and "closedTop".
      regex:
        type: string
        description: Regular expression to define constraint on the allowed value
      unitOfMeasure:
        type: string
        description: A length, surface, volume, dry measure, liquid measure, money,
          weight, time, and the like. In general, a determinate quantity or magnitude
          of the kind designated, taken as a standard of comparison for others of
          the same kind, in assigning to them numerical values, as 1 foot, 1 yard,
          1 mile, 1 square foot.
      valueFrom:
        type: string
        description: The low range value that a characteristic can take on
      valueTo:
        type: string
        description: The upper range value that a characteristic can take on
      valueType:
        type: string
        description: A kind of value that the characteristic can take on, such as
          numeric, text, and so forth
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period of time for which a value is applicable
      value:
        "$ref": "#/definitions/Any"
        description: A discrete value that the characteristic can take on, or the
          actual value of the characteristic
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
  ProductSpecificationCharacteristicValueUse:
    type: object
    description: A use of the ProductSpecificationCharacteristicValue by a ProductOffering
      to which additional properties (attributes) apply or override the properties
      of similar properties contained in ProductSpecificationCharacteristicValue.
      It should be noted that characteristics which their value(s) addressed by this
      object must exist in corresponding product specification. The available characteristic
      values for a ProductSpecificationCharacteristic in a Product specification can
      be modified at the ProductOffering level. For example, a characteristic 'Color'
      might have values White, Blue, Green, and Red. But, the list of values can be
      restricted to e.g. White and Blue in an associated product offering. It should
      be noted that the list of values in 'ProductSpecificationCharacteristicValueUse'
      is a strict subset of the list of values as defined in the corresponding product
      specification characteristics.
    properties:
      description:
        type: string
        description: A narrative that explains in detail what the productSpecificationCharacteristic
          is
      maxCardinality:
        type: integer
        description: The maximum number of instances a CharacteristicValue can take
          on. For example, zero to five phone numbers in a group calling plan, where
          five is the value for the maxCardinality.
      minCardinality:
        type: integer
        description: The minimum number of instances a CharacteristicValue can take
          on. For example, zero to five phone numbers in a group calling plan, where
          zero is the value for the minCardinality.
      name:
        type: string
        description: Name of the associated productSpecificationCharacteristic
      valueType:
        type: string
        description: A kind of value that the characteristic can take on, such as
          numeric, text and so forth
      productSpecCharacteristicValue:
        type: array
        items:
          "$ref": "#/definitions/ProductSpecificationCharacteristicValue"
        description: A number or text that can be assigned to a ProductSpecificationCharacteristic.
      productSpecification:
        "$ref": "#/definitions/ProductSpecificationRef"
        description: A ProductSpecification is a detailed description of a tangible
          or intangible object made available externally in the form of a ProductOffering
          to customers or other parties playing a party role.
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productSpecificationCharacteristic is
          valid
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
  ProductSpecificationRef:
    type: object
    description: 'Product specification reference: A ProductSpecification is a detailed
      description of a tangible or intangible object made available externally in
      the form of a ProductOffering to customers or other parties playing a party
      role.'
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      version:
        type: string
        description: Version of the product specification
      targetProductSchema:
        "$ref": "#/definitions/TargetProductSchema"
        description: A target product schema reference. The reference object to the
          schema and type of target product which is described by product specification.
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ProductSpecificationRelationship:
    type: object
    description: A migration, substitution, dependency or exclusivity relationship
      between/among product specifications.
    properties:
      id:
        type: string
        description: Unique identifier of the productSpecification
      href:
        type: string
        description: Reference of the productSpecification
      relationshipType:
        type: string
        description: Type of relationship such as migration, substitution, dependency,
          exclusivity
      validFor:
        "$ref": "#/definitions/TimePeriod"
        description: The period for which the productSpecificationRelationship is
          valid
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
  Quantity:
    type: object
    description: An amount in a given unit
    properties:
      amount:
        default: 1
        type: number
        format: float
        description: Numeric value in a given unit
      units:
        type: string
        description: Unit
  RelatedParty:
    type: object
    description: Related Entity reference. A related party defines party or party
      role linked to a specific entity.
    required:
    - "@referredType"
    - id
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      name:
        type: string
        description: Name of the related entity.
      role:
        type: string
        description: Role played by the related party
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
  ResourceCandidateRef:
    type: object
    description: 'ResourceCandidate reference: A resource candidate is an entity that
      makes a ResourceSpecification available to a catalog.'
    properties:
      id:
        type: string
        description: Unique identifier of the resource candidate
      href:
        type: string
        description: Reference of the resource candidate
      name:
        type: string
        description: Name of the resource candidate
      version:
        type: string
        description: Version of the resource candidate
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ResourceSpecificationRef:
    type: object
    description: 'Resource Specification reference: The ResourceSpecification is required
      to realize a ProductSpecification.'
    properties:
      id:
        type: string
        description: Unique identifier of the resource specification
      href:
        type: string
        description: Reference of the resource specification
      name:
        type: string
        description: Name of the requiredResourceSpecification
      version:
        type: string
        description: Resource 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 entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  SLARef:
    type: object
    description: 'ServiceLevelAgreement reference: A service level agreement (SLA)
      is a type of agreement that represents a formal negotiated agreement between
      two parties designed to create a common understanding about products, services,
      priorities, responsibilities, and so forth. The SLA is a set of appropriate
      procedures and targets formally or informally agreed between parties in order
      to achieve and maintain specified Quality of Service.'
    properties:
      id:
        type: string
        description: Unique identifier of service level agreement
      href:
        type: string
        description: Reference of the service level agreement
      name:
        type: string
        description: Name of the service level agreement
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ServiceCandidateRef:
    type: object
    description: ServiceCandidate reference. ServiceCandidate is an entity that makes
      a ServiceSpecification available to a catalog.
    properties:
      id:
        type: string
        description: Unique identifier of the service candidate
      href:
        type: string
        description: Unique reference of the service candidate
      name:
        type: string
        description: Name of the service candidate
      version:
        type: string
        description: Version of the service candidate
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  ServiceSpecificationRef:
    type: object
    description: 'Service specification reference: ServiceSpecification(s) required
      to realize a ProductSpecification.'
    properties:
      id:
        type: string
        description: Unique identifier of the service specification
      href:
        type: string
        description: Reference of the serviceSpecification
      name:
        type: string
        description: Name of the requiredServiceSpecification
      version:
        type: string
        description: Service specification version
      targetServiceSchema:
        "$ref": "#/definitions/TargetServiceSchema"
        description: A target service schema reference (TargetServiceSchemaRef). The
          reference object to the schema and type of target service which is described
          by service specification.
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
      "@referredType":
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
    - id
  TargetProductSchema:
    type: object
    description: The reference object to the schema and type of target product which
      is described by product specification
    required:
    - "@schemaLocation"
    - "@type"
    properties:
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        description: This field provides a link to the schema describing the target
          product
      "@type":
        type: string
        description: Class type of the target product
  TargetServiceSchema:
    type: object
    description: The reference object to the schema and type of target service which
      is described by service specification
    required:
    - "@schemaLocation"
    - "@type"
    properties:
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        description: This field provides a link to the schema describing the target
          service
      "@type":
        type: string
        description: Class type of the target service
  TaxItem:
    type: object
    description: A tax item is created for each tax rate and tax type used in the
      bill.
    properties:
      taxCategory:
        type: string
        description: Tax category
      taxRate:
        type: number
        format: float
        description: Applied rate of the tax
      taxAmount:
        "$ref": "#/definitions/Money"
        description: Amount of tax expressed in the given currency
      "@baseType":
        type: string
        description: When sub-classing, this defines the super-class
      "@schemaLocation":
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes
          and relationships
      "@type":
        type: string
        description: When sub-classing, this defines the sub-class entity name
  TimePeriod:
    type: object
    description: A period of time, either as a deadline (endDateTime only) a startDateTime
      only, or both
    properties:
      endDateTime:
        type: string
        format: date-time
        description: End of the time period, using IETC-RFC-3339 format
      startDateTime:
        type: string
        format: date-time
        description: Start of the time period, using IETC-RFC-3339 format. If you
          define a start, you must also define an end
  EventSubscription:
    type: object
    description: Sets the communication endpoint address the service instance must
      use to deliver notification information
    required:
    - id
    - callback
    properties:
      id:
        type: string
        description: Id of the listener
      callback:
        type: string
        description: The callback being registered.
      query:
        type: string
        description: additional data to be passed
  EventSubscriptionInput:
    type: object
    description: Sets the communication endpoint address the service instance must
      use to deliver notification information
    required:
    - callback
    properties:
      callback:
        type: string
        description: The callback being registered.
      query:
        type: string
        description: additional data to be passed
  CatalogCreateEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/CatalogCreateEventPayload"
  CatalogCreateEventPayload:
    type: object
    description: The event data structure
    properties:
      catalog:
        description: The involved resource data for the event
        "$ref": "#/definitions/Catalog"
  CatalogDeleteEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/CatalogDeleteEventPayload"
  CatalogDeleteEventPayload:
    type: object
    description: The event data structure
    properties:
      catalog:
        description: The involved resource data for the event
        "$ref": "#/definitions/Catalog"
  CatalogBatchEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/CatalogBatchEventPayload"
  CatalogBatchEventPayload:
    type: object
    description: The event data structure
    properties:
      catalog:
        description: The involved resource data for the event
        "$ref": "#/definitions/Catalog"
  CategoryCreateEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/CategoryCreateEventPayload"
  CategoryCreateEventPayload:
    type: object
    description: The event data structure
    properties:
      category:
        description: The involved resource data for the event
        "$ref": "#/definitions/Category"
  CategoryDeleteEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/CategoryDeleteEventPayload"
  CategoryDeleteEventPayload:
    type: object
    description: The event data structure
    properties:
      category:
        description: The involved resource data for the event
        "$ref": "#/definitions/Category"
  ProductOfferingCreateEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductOfferingCreateEventPayload"
  ProductOfferingCreateEventPayload:
    type: object
    description: The event data structure
    properties:
      productOffering:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOffering"
  ProductOfferingAttributeValueChangeEvent:
    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/ProductOfferingAttributeValueChangeEventPayload"
  ProductOfferingAttributeValueChangeEventPayload:
    type: object
    description: The event data structure
    properties:
      productOffering:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOffering"
  ProductOfferingStateChangeEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductOfferingStateChangeEventPayload"
  ProductOfferingStateChangeEventPayload:
    type: object
    description: The event data structure
    properties:
      productOffering:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOffering"
  ProductOfferingDeleteEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductOfferingDeleteEventPayload"
  ProductOfferingDeleteEventPayload:
    type: object
    description: The event data structure
    properties:
      productOffering:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOffering"
  ProductOfferingPriceCreateEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductOfferingPriceCreateEventPayload"
  ProductOfferingPriceCreateEventPayload:
    type: object
    description: The event data structure
    properties:
      productOfferingPrice:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOfferingPrice"
  ProductOfferingPriceAttributeValueChangeEvent:
    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/ProductOfferingPriceAttributeValueChangeEventPayload"
  ProductOfferingPriceAttributeValueChangeEventPayload:
    type: object
    description: The event data structure
    properties:
      productOfferingPrice:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOfferingPrice"
  ProductOfferingPriceStateChangeEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductOfferingPriceStateChangeEventPayload"
  ProductOfferingPriceStateChangeEventPayload:
    type: object
    description: The event data structure
    properties:
      productOfferingPrice:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOfferingPrice"
  ProductOfferingPriceDeleteEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductOfferingPriceDeleteEventPayload"
  ProductOfferingPriceDeleteEventPayload:
    type: object
    description: The event data structure
    properties:
      productOfferingPrice:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductOfferingPrice"
  ProductSpecificationCreateEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductSpecificationCreateEventPayload"
  ProductSpecificationCreateEventPayload:
    type: object
    description: The event data structure
    properties:
      productSpecification:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductSpecification"
  ProductSpecificationDeleteEvent:
    type: object
    description: The notification data structure
    properties:
      id:
        type: string
        description: Identifier of the Process flow
      href:
        type: string
        description: Reference of the ProcessFlow
      eventId:
        type: string
        description: The identifier of the notification.
      eventTime:
        type: string
        format: date-time
        description: Time of the event occurrence.
      eventType:
        type: string
        description: The type of the notification.
      correlationId:
        type: string
        description: The correlation id for this event.
      domain:
        type: string
        description: The domain of the event.
      title:
        type: string
        description: The title of the event.
      description:
        type: string
        description: An explnatory of the event.
      priority:
        type: string
        description: A priority.
      timeOcurred:
        type: string
        format: date-time
        description: The time the event occured.
      event:
        description: The event payload linked to the involved resource object
        "$ref": "#/definitions/ProductSpecificationDeleteEventPayload"
  ProductSpecificationDeleteEventPayload:
    type: object
    description: The event data structure
    properties:
      productSpecification:
        description: The involved resource data for the event
        "$ref": "#/definitions/ProductSpecification"
  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.
