openapi: 3.0.1
info:
  title: ABTProductReference
  description: >-
    CRUD APIs for HTM product reference tables (based on the new domainmodel v2.4). 
    Internal use only; external touchpoints can get (some)) access via the HTM
    Service Engine, using a different endpoint.
  version: '1.0'
servers:
  - url: https://api.integratielaag.nl/abt/productreference/1.0
tags:
  - name: ABTProductReference CRUD
    description: >-
      Internal use only; external touchpoints can get (some) access
      via the HTM Service Engine.
paths:
  /clientattributes:
    get:
      description: |
        This method will get the list of all client attributes.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/clientAttributesGetEntity'
          description: A list of client attributes
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get all client attributes.
      tags:
      - ABTProductReference CRUD
    post:
      description: "This method will create a single client attribute. \n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/clientAttributesPostEntity'
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a client attribute.
      tags:
      - ABTProductReference CRUD
  /clientattributes/{clientAttributeId}:
    delete:
      description: "This method will delete the client attributes when provided the\n\
        clientAttributeId. \n"
      parameters:
      - explode: false
        in: path
        name: clientAttributeId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a client attribute.
      tags:
      - ABTProductReference CRUD
    put:
      description: "This method will update the client attributes when provided the\n\
        clientAttributesId. \n"
      parameters:
      - explode: false
        in: path
        name: clientAttributeId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/clientAttributesPutEntity'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Modify a client attribute.
      tags:
      - ABTProductReference CRUD
  /productowners:
    get:
      description: |
        This method will get the list of all productowners.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/productOwners'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get all productowners.
      tags:
      - ABTProductReference CRUD
    post:
      description: "This method will create a single productowner. \n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/productOwner'
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a productowners.
      tags:
      - ABTProductReference CRUD
  /productowners/{productOwnerId}:
    delete:
      description: "This method will delete the productOwner when provided the\nproductOwnerId.\
        \ \n"
      parameters:
      - explode: false
        in: path
        name: productOwnerId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a productowner.
      tags:
      - ABTProductReference CRUD
    put:
      description: "This method will update the productOwner when provided the\nproductOwnerId.\
        \ \n"
      parameters:
      - explode: false
        in: path
        name: productOwnerId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/productOwner'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Modify a productowner.
      tags:
      - ABTProductReference CRUD
  /productcategories:
    get:
      description: |
        This method will get the list of productCategories
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/productCategories'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get all productcategories.
      tags:
      - ABTProductReference CRUD
    post:
      description: |
        This method will create a single product category.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/productCategory'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a product category.
      tags:
      - ABTProductReference CRUD
  /productcategories/{productCategoryId}:
    delete:
      description: |
        This method will delete the productCategory when provided the
        productCategoryId.
      parameters:
      - explode: false
        in: path
        name: productCategoryId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a product category.
      tags:
      - ABTProductReference CRUD
    put:
      description: |
        This method will update productCategory when provided the
        productCategoryId.
      parameters:
      - explode: false
        in: path
        name: productCategoryId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/productCategory'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Modify a product category.
      tags:
      - ABTProductReference CRUD
  /customersegments:
    get:
      description: This method will get the list of customer segments.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customerSegments'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get all customer segments.
      tags:
      - ABTProductReference CRUD
    post:
      description: This method will create a single customer segment.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customerSegment'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a customer segment.
      tags:
      - ABTProductReference CRUD
  /customersegments/{customerSegmentId}:
    delete:
      description: |
        This method will delete a customer segment when provided the customerSegmentId.
      parameters:
      - explode: false
        in: path
        name: customerSegmentId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a customer segment.
      tags:
      - ABTProductReference CRUD
    put:
      description: |
        This method will update a customer segment when provided the customerSegmentId.
      parameters:
      - explode: false
        in: path
        name: customerSegmentId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customerSegment'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Modify a customer segment.
      tags:
      - ABTProductReference CRUD
  /marketsegments:
    get:
      description: This method will get the list of market segments.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/marketSegments'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get all market segments.
      tags:
      - ABTProductReference CRUD
    post:
      description: This method will create a single market segment.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketSegment'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a market segment.
      tags:
      - ABTProductReference CRUD
  /marketsegments/{marketSegmentId}:
    delete:
      description: |
        This method will delete a market segment when provided the marketSegmentId.
      parameters:
      - explode: false
        in: path
        name: marketSegmentId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a market segment.
      tags:
      - ABTProductReference CRUD
    put:
      description: |
        This method will update a market segment when provided the marketSegmentId.
      parameters:
      - explode: false
        in: path
        name: marketSegmentId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/marketSegment'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Modify a market segment.
      tags:
      - ABTProductReference CRUD
  /paymentmoments:
    get:
      description: |
        This method will retrieve the list of payment moments.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentMoments'
          description: A list of payment moments
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of payment moments.
      tags:
      - ABTProductReference CRUD
  /retailers:
    get:
      description: |
        This method will retrieve the list of retailers.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retailers'
          description: A list of retailers
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of retailers.
      tags:
      - ABTProductReference CRUD
    post:
      description: |
        This method will create a new retailer.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/retailer'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a retailer.
      tags:
      - ABTProductReference CRUD
  /retailers/{retailerId}:
    delete:
      description: |
        This method will delete a retailer when provided the retailerId.
      parameters:
      - explode: false
        in: path
        name: retailerId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a retailer.
      tags:
      - ABTProductReference CRUD
    put:
      description: |
        This method will update a retailer when provided the retailerId.
      parameters:
      - explode: false
        in: path
        name: retailerId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/retailer'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Update a retailer.
      tags:
      - ABTProductReference CRUD
  /salestouchpoints:
    get:
      description: |
        This method will get the list of sales touchpoints. It can also return
        sales touchpoints based on retailerId.
      parameters:
      - description: retailerId
        explode: true
        in: query
        name: retailerId
        required: false
        schema:
          format: integer
          type: integer
        style: form
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/salesTouchpoints'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of salestouchpoints or a single salestouchpoints for a
        given retailerId.
      tags:
      - ABTProductReference CRUD
    post:
      description: |
        This method will create a new salestouchpoint.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/salesTouchpoint'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a salestouchpoint.
      tags:
      - ABTProductReference CRUD
  /salestouchpoints/{salesTouchpointId}:
    delete:
      description: |
        This method will delete salesTouchpoint when provided the
        salesTouchpointId.
      parameters:
      - explode: false
        in: path
        name: salesTouchpointId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a retailer.
      tags:
      - ABTProductReference CRUD
    put:
      description: |
        This method will update sales touchpoints when provided the
        salesTouchpointId.
      parameters:
      - explode: false
        in: path
        name: salesTouchpointId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/salesTouchpoint'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Update a salestouchpoints.
      tags:
      - ABTProductReference CRUD
  /serviceoptions:
    get:
      description: |
        This method will retrieve the list of serviceoptions.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serviceOptions'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of serviceoptions.
      tags:
      - ABTProductReference CRUD
    post:
      description: |
        This method will create a new serviceoptions.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/serviceOption'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a serviceoptions.
      tags:
      - ABTProductReference CRUD
  /serviceoptions/{serviceOptionId}:
    delete:
      description: |
        This method will delete serviceoptions when provided the
        serviceoptionsId.
      parameters:
      - explode: false
        in: path
        name: serviceOptionId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      responses:
        "202":
          description: Deleted record successfully
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Delete a serviceoptions.
      tags:
      - ABTProductReference CRUD
    put:
      description: |
        This method will create a new serviceoption.
      parameters:
      - explode: false
        in: path
        name: serviceOptionId
        required: true
        schema:
          format: integer
          type: integer
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/serviceOption'
        required: true
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes_post_201_response'
          description: ok
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_clientattributes__clientAttributeId__put_404_response'
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Response'
          description: Conflict
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Create a serviceoption.
      tags:
      - ABTProductReference CRUD
  /mandatorycustomerdataitems:
    get:
      description: |
        This method will retrieve the list of mandatorycustomerdataitems.
      responses:
        "200":
          content:
            application/json:
              example:
                Entries:
                - mandatoryCustomerDataItemId: 1
                  customerDataItem: birthname
                - mandatoryCustomerDataItemId: 2
                  customerDataItem: surname
                - mandatoryCustomerDataItemId: 3
                  customerDataItem: dateOfBirth
                - mandatoryCustomerDataItemId: 4
                  customerDataItem: emailAddress
                - mandatoryCustomerDataItemId: 5
                  customerDataItem: address
                - mandatoryCustomerDataItemId: 6
                  customerDataItem: phone
                - mandatoryCustomerDataItemId: 7
                  customerDataItem: ovPayToken
                - mandatoryCustomerDataItemId: 8
                  customerDataItem: padBirthDate
                - mandatoryCustomerDataItemId: 9
                  customerDataItem: shippingAddress
                - mandatoryCustomerDataItemId: 10
                  customerDataItem: billingAddress
              schema:
                $ref: '#/components/schemas/mandatoryCustomerDataItems'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of mandatorycustomerdataitems.
      tags:
      - ABTProductReference CRUD
  /requiredcustomerlevels:
    get:
      description: |
        This method will retrieve the list of requiredcustomerlevels.
      responses:
        "200":
          content:
            application/json:
              example:
                Entries:
                - requiredCustomerLevelId: 1
                  name: guest
                - requiredCustomerLevelId: 2
                  name: contact
                - requiredCustomerLevelId: 3
                  name: profile
              schema:
                $ref: '#/components/schemas/requiredCustomerLevels'
          description: A list of users
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of requiredcustomerlevels.
      tags:
      - ABTProductReference CRUD
  /forbiddenpaymentmethod:
    get:
      description: This method will retrieve the list of forbidden payments.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getforbiddenPaymentMethodList'
          description: A list of forbidden payment methods
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of forbidden payments.
      tags:
      - ABTProductReference CRUD
  /requiredgbopersonalattribute:
    get:
      description: |
        This method will retrieve the list of required personal attribute.
      parameters: []
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requiredGboPersonalAttributes'
          description: A list of Required GBO personal attributes
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of required personal attribute .
      tags:
      - ABTProductReference CRUD
  /gboageprofiles:
    get:
      description: |
        This method will retrieve the list of GBO age profiles.
      parameters: []
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GboAgeProfileList'
          description: A list of GBO age profiles
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: Get the list of required personal attribute .
      tags:
      - ABTProductReference CRUD
  /productreferences:
    get:
      description: gives list of all possible product reference values availbale
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example:
                Entries:
                  clientAttributes:
                    type: array
                    items:
                      type: object
                      properties:
                      - clientAttributeId: 1
                        clientId: htm
                        description: description
                        isActive: "true"
                        retailerId: 1
                        salesTouchpointId: 2
                productOwners:
                - productOwnerId: 123
                  name: name
                  organization: org
                productCategories:
                - isTravelProduct: true
                  name: name
                  productCategoryId: 21
                customerSegments:
                - name: name
                  customerSegmentId: 123
                marketSegments:
                - name: name
                  marketSegmentId: 123
                paymentMoments:
                - paymentMomentId: 123
                  name: name
                retailers:
                - name: name
                  street: StreetName
                  number: "12"
                  numberAddition: E
                  postalCode: 2222 BV
                  city: Amsterdam
                  country: NL
                  emailAddress: sample@email.com
                  phoneNumber: "6123456789"
                  taxId: taxId
                  imageReference: imageReference
                  retailerId: 123
                salesTouchpoints:
                - isActive: true
                  name: name
                  retailerId: 21
                  salesTouchPointId: 123
                serviceOptions:
                - action: action
                  description: description
                  serviceOptionId: 123
                mandatoryCustomerDataItems:
                - mandatoryCustomerDataItemId: 123
                  customerDataItem: customerDataItem
                requiredCustomerLevels:
                - requiredCustomerLevelId: 123
                  name: requiredCustomerLevel
                forbiddenPaymentMethods:
                - forbiddenPaymentMethodId: 123
                  name: requiredCustomerLevel
                  issuer: Kane
                requiredGboPersonalAttributes:
                - requiredGboPersonalAttributeId: 123
                  name: requiredCustomerLevel
              schema:
                $ref: '#/components/schemas/_productreferences_get_200_response'
          description: Successful retrieved list of all possible product reference
            values
        "400":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Response'
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
          description: Not Found
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
          description: Internal Server Error
      summary: List of all possible product reference values
      tags:
      - ABTProductReference CRUD
components:
  schemas:
    clientAttribute:
      properties:
        clientId:
          example: htm
          type: string
        description:
          example: description
          type: string
        isActive:
          example: "true"
          type: string
        retailerId:
          example: 1
          type: integer
        salesTouchpointId:
          example: 2
          type: integer
      type: object
    clientAttributesGetList:
      items:
        $ref: '#/components/schemas/clientAttributesGetList_inner'
      type: array
    clientAttributesGetEntity:
      example:
        Entries:
        - clientId: htm
          description: description
          clientAttributeId: 1
          isActive: "true"
          retailerId: 1
          salesTouchpointId: 2
        - clientId: htm
          description: description
          clientAttributeId: 1
          isActive: "true"
          retailerId: 1
          salesTouchpointId: 2
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/clientAttributesGetList_inner'
          type: array
      type: object
    clientAttributesPostEntity:
      properties:
        clientId:
          example: htm
          type: string
        description:
          example: description
          type: string
        isActive:
          example: true
          type: boolean
        retailerId:
          example: 1
          type: integer
        salesTouchpointId:
          example: 2
          type: integer
      type: object
    clientAttributesPutEntity:
      properties:
        description:
          example: description
          type: string
        isActive:
          example: true
          type: boolean
        retailerId:
          example: 1
          type: integer
        clientId:
          example: retailer001
          type: string
        salesTouchpointId:
          example: 1
          type: integer
      type: object
    productOwner:
      properties:
        organization:
          example: org
          type: string
        name:
          example: name
          type: string
      type: object
    productOwnerIdList:
      items:
        $ref: '#/components/schemas/productOwnerIdList_inner'
      type: array
    productOwners:
      example:
        Entries:
        - productOwnerId: 123
          organization: org
          name: name
        - productOwnerId: 123
          organization: org
          name: name
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/productOwnerIdList_inner'
          type: array
      type: object
    productCategory:
      properties:
        isTravelProduct:
          example: true
          type: boolean
        name:
          example: name
          type: string
      type: object
    productCategoryIdList:
      items:
        $ref: '#/components/schemas/productCategoryIdList_inner'
      type: array
    productCategories:
      example:
        Entries:
        - productCategoryId: 21
          name: name
          isTravelProduct: true
        - productCategoryId: 21
          name: name
          isTravelProduct: true
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/productCategoryIdList_inner'
          type: array
      type: object
    customerSegment:
      properties:
        name:
          example: name
          type: string
      type: object
    customerSegmentIdList:
      items:
        $ref: '#/components/schemas/customerSegmentIdList_inner'
      type: array
    customerSegments:
      example:
        Entries:
        - name: name
          customerSegmentId: 123
        - name: name
          customerSegmentId: 123
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/customerSegmentIdList_inner'
          type: array
      type: object
    paymentMoment:
      properties:
        results:
          $ref: '#/components/schemas/paymentMoment_results'
    paymentMomentIdList:
      items:
        $ref: '#/components/schemas/paymentMoment_results'
      type: array
    paymentMoments:
      example:
        Entries:
        - paymentMomentId: 123
          name: name
        - paymentMomentId: 123
          name: name
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/paymentMoment_results'
          type: array
      type: object
    marketSegment:
      properties:
        name:
          example: name
          type: string
    marketSegmentIdList:
      items:
        $ref: '#/components/schemas/marketSegmentIdList_inner'
      type: array
    marketSegments:
      example:
        Entries:
        - name: name
          marketSegmentId: 123
        - name: name
          marketSegmentId: 123
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/marketSegmentIdList_inner'
          type: array
      type: object
    retailer:
      properties:
        name:
          example: name
          type: string
        street:
          example: StreetName
          type: string
        number:
          example: "12"
          type: string
        numberAddition:
          example: E
          type: string
        postalCode:
          example: 2222 BV
          type: string
        city:
          example: Amsterdam
          type: string
        country:
          example: NL
          type: string
        emailAddress:
          example: sample@email.com
          type: string
        phoneNumber:
          example: "6123456789"
          type: string
        taxId:
          example: taxId
          type: string
        imageReference:
          example: imageReference
          type: string
    retailerIdList:
      items:
        $ref: '#/components/schemas/retailerIdList_inner'
      type: array
    retailers:
      example:
        Entries:
        - number: "12"
          country: NL
          emailAddress: sample@email.com
          phoneNumber: "6123456789"
          city: Amsterdam
          street: StreetName
          taxId: taxId
          postalCode: 2222 BV
          name: name
          numberAddition: E
          imageReference: imageReference
          retailerId: 123
        - number: "12"
          country: NL
          emailAddress: sample@email.com
          phoneNumber: "6123456789"
          city: Amsterdam
          street: StreetName
          taxId: taxId
          postalCode: 2222 BV
          name: name
          numberAddition: E
          imageReference: imageReference
          retailerId: 123
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/retailerIdList_inner'
          type: array
      type: object
    salesTouchpoint:
      properties:
        isActive:
          example: true
          type: boolean
        name:
          example: name
          type: string
        retailerId:
          example: 21
          type: integer
      type: object
    salesTouchpointIdList:
      items:
        $ref: '#/components/schemas/salesTouchpointIdList_inner'
      type: array
    salesTouchpoints:
      example:
        Entries:
        - name: name
          isActive: true
          retailerId: 21
          salesTouchpointId: 123
        - name: name
          isActive: true
          retailerId: 21
          salesTouchpointId: 123
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/salesTouchpointIdList_inner'
          type: array
      type: object
    serviceOption:
      properties:
        action:
          example: action
          type: string
        description:
          example: description
          type: string
      type: object
    serviceOptionIdList:
      items:
        $ref: '#/components/schemas/serviceOptionIdList_inner'
      type: array
    serviceOptions:
      example:
        Entries:
        - serviceOptionId: 123
          action: action
          description: description
        - serviceOptionId: 123
          action: action
          description: description
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/serviceOptionIdList_inner'
          type: array
      type: object
    mandatoryCustomerDataItem:
      properties:
        customerDataItem:
          example: customerDataItem
          type: string
      type: object
    mandatoryCustomerDataItemIdList:
      items:
        $ref: '#/components/schemas/mandatoryCustomerDataItemIdList_inner'
      type: array
    mandatoryCustomerDataItems:
      example:
        Entries:
        - mandatoryCustomerDataItemId: 1
          customerDataItem: birthname
        - mandatoryCustomerDataItemId: 1
          customerDataItem: birthname
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/mandatoryCustomerDataItemIdList_inner'
          type: array
      type: object
    requiredCustomerLevelIdList:
      items:
        $ref: '#/components/schemas/requiredCustomerLevelIdList_inner'
      type: array
    requiredCustomerLevels:
      example:
        Entries:
        - requiredCustomerLevelId: 123
          name: requiredCustomerLevel
        - requiredCustomerLevelId: 123
          name: requiredCustomerLevel
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/requiredCustomerLevelIdList_inner'
          type: array
      type: object
    forbiddenPaymentMethodList:
      items:
        $ref: '#/components/schemas/forbiddenPaymentMethodList_inner'
      type: array
    getforbiddenPaymentMethodList:
      example:
        Entries:
        - forbiddenPaymentMethodId: 123
          name: requiredCustomerLevel
          issuer: Kane
        - forbiddenPaymentMethodId: 123
          name: requiredCustomerLevel
          issuer: Kane
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/forbiddenPaymentMethodList_inner'
          type: array
      type: object
    GetRequiredGboPersonalAttribute:
      items:
        $ref: '#/components/schemas/GetRequiredGboPersonalAttribute_inner'
      type: array
    requiredGboPersonalAttributes:
      example:
        Entries:
        - name: NAME
          requiredGboPersonalAttributeId: 1
        - name: BIRTHDATE
          requiredGboPersonalAttributeId: 2
        - name: PHOTO
          requiredGboPersonalAttributeId: 3
      properties:
        Entries:
          items:
            $ref: '#/components/schemas/GetRequiredGboPersonalAttribute_inner'
          type: array
      type: object
    GboAgeProfileList:
      items:
        $ref: '#/components/schemas/GboAgeProfile'
      type: array
      example:
        Entries:
        - gboAgeProfileId: 1
          name: Kind (0 t/m 3 jaar)
          ageFromInclusive: 0
          ageToInclusive: 3
        - gboAgeProfileId: 2
          name: Kind (4 t/m 11 jaar)
          ageFromInclusive: 4
          ageToInclusive: 11
        - gboAgeProfileId: 3
          name: Jongere (12 t/m 18 jaar)
          ageFromInclusive: 12
          ageToInclusive: 18
        - gboAgeProfileId: 4
          name: Volwassene (19 t/m 64 jaar)
          ageFromInclusive: 19
          ageToInclusive: 64
        - gboAgeProfileId: 5
          name: Oudere (65 jaar of ouder)
          ageFromInclusive: 65
          ageToInclusive: 999
    GboAgeProfile:
      type: object
      required:
        - gboAgeProfileId
        - name
        - ageFromInclusive
        - ageToInclusive
      properties:
        gboAgeProfileId:
          type: integer
          example: 1
        name:
          type: string
          example: Kind (4 t/m 11 jaar)
        ageFromInclusive:
          type: integer
          description: The minimum age that the GBO age profile applies to
          example: 4
        ageToInclusive:
          type: integer
          description: The maximum age that the GBO age profile applies to
          example: 11
    GetproductReferences:
      properties:
        Entries:
          $ref: '#/components/schemas/GetproductReferences_Entries'
      type: object
    "400Response":
      properties:
        code:
          example: "400"
          type: string
        type:
          type: string
        message:
          example: Bad Request
          type: string
        description:
          example: '''2023-02-01 00:00:00'' is not a valid Datetime'
          type: string
      type: object
    "401Response":
      properties:
        code:
          example: "900901"
          type: string
        type:
          type: string
        message:
          example: Invalid Credentials
          type: string
        description:
          example: Invalid Credentials. Make sure you have provided the correct security
            credentials
          type: string
      type: object
    "404Response":
      properties:
        code:
          example: "404"
          type: string
        type:
          example: Status report
          type: string
        message:
          example: Not Found
          type: string
        description:
          example: The requested resource is not available.
          type: string
      type: object
    "404ResponseId":
      properties:
        error:
          example: "No record found for id: 5"
          type: string
      type: object
    "409Response":
      properties:
        error:
          example: Entry already exists
          type: string
      type: object
    "500Response":
      properties:
        code:
          example: "500"
          type: string
        type:
          type: string
        message:
          example: Internal Server Error
          type: string
        description:
          type: string
      type: object
    _clientattributes_post_201_response:
      example:
        id: 1
      properties:
        id:
          example: 1
          type: integer
      type: object
    _clientattributes__clientAttributeId__put_404_response:
      oneOf:
      - $ref: '#/components/schemas/404ResponseId'
      - $ref: '#/components/schemas/404Response'
    _productreferences_get_200_response:
      allOf:
      - $ref: '#/components/schemas/GetproductReferences'
    clientAttributesGetList_inner:
      example:
        clientId: htm
        description: description
        clientAttributeId: 1
        isActive: "true"
        retailerId: 1
        salesTouchpointId: 2
      properties:
        clientAttributeId:
          example: 1
          type: integer
        clientId:
          example: htm
          type: string
        description:
          example: description
          type: string
        isActive:
          example: "true"
          type: string
        retailerId:
          example: 1
          type: integer
        salesTouchpointId:
          example: 2
          type: integer
    productOwnerIdList_inner:
      example:
        productOwnerId: 123
        organization: org
        name: name
      properties:
        productOwnerId:
          example: 123
          type: integer
        name:
          example: name
          type: string
        organization:
          example: org
          type: string
    productCategoryIdList_inner:
      example:
        productCategoryId: 21
        name: name
        isTravelProduct: true
      properties:
        isTravelProduct:
          example: true
          type: boolean
        name:
          example: name
          type: string
        productCategoryId:
          example: 21
          type: integer
    customerSegmentIdList_inner:
      example:
        name: name
        customerSegmentId: 123
      properties:
        name:
          example: name
          type: string
        customerSegmentId:
          example: 123
          type: integer
    paymentMoment_results:
      example:
        paymentMomentId: 123
        name: name
      properties:
        paymentMomentId:
          example: 123
          type: integer
        name:
          example: name
          type: string
    marketSegmentIdList_inner:
      example:
        name: name
        marketSegmentId: 123
      properties:
        name:
          example: name
          type: string
        marketSegmentId:
          example: 123
          type: integer
    retailerIdList_inner:
      example:
        number: "12"
        country: NL
        emailAddress: sample@email.com
        phoneNumber: "6123456789"
        city: Amsterdam
        street: StreetName
        taxId: taxId
        postalCode: 2222 BV
        name: name
        numberAddition: E
        imageReference: imageReference
        retailerId: 123
      properties:
        name:
          example: name
          type: string
        street:
          example: StreetName
          type: string
        number:
          example: "12"
          type: string
        numberAddition:
          example: E
          type: string
        postalCode:
          example: 2222 BV
          type: string
        city:
          example: Amsterdam
          type: string
        country:
          example: NL
          type: string
        emailAddress:
          example: sample@email.com
          type: string
        phoneNumber:
          example: "6123456789"
          type: string
        taxId:
          example: taxId
          type: string
        imageReference:
          example: imageReference
          type: string
        retailerId:
          example: 123
          type: integer
    salesTouchpointIdList_inner:
      example:
        name: name
        isActive: true
        retailerId: 21
        salesTouchpointId: 123
      properties:
        isActive:
          example: true
          type: boolean
        name:
          example: name
          type: string
        retailerId:
          example: 21
          type: integer
        salesTouchpointId:
          example: 123
          type: integer
    serviceOptionIdList_inner:
      example:
        serviceOptionId: 123
        action: action
        description: description
      properties:
        action:
          example: action
          type: string
        description:
          example: description
          type: string
        serviceOptionId:
          example: 123
          type: integer
    mandatoryCustomerDataItemIdList_inner:
      example:
        mandatoryCustomerDataItemId: 1
        customerDataItem: birthname
      properties:
        mandatoryCustomerDataItemId:
          example: 1
          type: integer
        customerDataItem:
          example: birthname
          type: string
    requiredCustomerLevelIdList_inner:
      example:
        requiredCustomerLevelId: 123
        name: requiredCustomerLevel
      properties:
        requiredCustomerLevelId:
          example: 123
          type: integer
        name:
          example: requiredCustomerLevel
          type: string
    forbiddenPaymentMethodList_inner:
      example:
        forbiddenPaymentMethodId: 123
        name: requiredCustomerLevel
        issuer: Kane
      properties:
        forbiddenPaymentMethodId:
          example: 123
          type: integer
        name:
          example: CreditCard
          type: string
        issuer:
          example: American Express
          type: string
      type: object
    GetRequiredGboPersonalAttribute_inner:
      example:
        requiredGboPersonalAttributeId: 1
        name: NAME
      properties:
        requiredGboPersonalAttributeId:
          example: 1
          type: integer
        name:
          example: NAME
          type: string
      type: object
    GetproductReferences_Entries:
      oneOf:
      - $ref: '#/components/schemas/clientAttributesGetEntity'
      - $ref: '#/components/schemas/productOwners'
      - $ref: '#/components/schemas/productCategories'
      - $ref: '#/components/schemas/customerSegments'
      - $ref: '#/components/schemas/marketSegments'
      - $ref: '#/components/schemas/paymentMoments'
      - $ref: '#/components/schemas/retailers'
      - $ref: '#/components/schemas/salesTouchpoints'
      - $ref: '#/components/schemas/serviceOptions'
      - $ref: '#/components/schemas/mandatoryCustomerDataItems'
      - $ref: '#/components/schemas/requiredCustomerLevels'
      - $ref: '#/components/schemas/getforbiddenPaymentMethodList'
      - $ref: '#/components/schemas/requiredGboPersonalAttributes'
      - $ref: '#/components/schemas/GboAgeProfileList'