openapi: 3.0.0
info:
    title: "TyrePro-API, TPMS"
    version: "Version 3"
servers:
    - url: "https://musterreifen.com/api/tpms"
      description: "Development server"
paths:
  /Customers/{Guid}:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Customer"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerStorages:
    get:
      tags:
      - "Customer storages"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/IsActiveParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CustomerStorage"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerStorages/{Guid}:
    get:
      tags:
      - "Customer storages"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerStorage"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "Customer storages"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/_HashValueParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomerStorage"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerStorage"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerStorages/{Guid}/CustomerStoragePositions:
    get:
      tags:
      - "Customer storages"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CustomerStoragePosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerStorages/{Guid}/DmsFiles:
    get:
      tags:
      - "Customer storages"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Customer storages"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerStoragePositions/{Guid}:
    get:
      tags:
      - "Customer storages"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerStoragePosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "Customer storages"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/_HashValueParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomerStoragePosition"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerStoragePosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerStoragePositions/{Guid}/DmsFiles:
    get:
      tags:
      - "Customer storages"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Customer storages"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerVehicles:
    get:
      tags:
      - "Customer vehicles"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CustomerVehicle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerVehicles/{Guid}:
    get:
      tags:
      - "Customer vehicles"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerVehicle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "Customer vehicles"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/_HashValueParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CustomerVehicle"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CustomerVehicle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerVehicles/{Guid}/CustomerStorages:
    get:
      tags:
      - "Customer vehicles"
      - "Customer storages"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/IsActiveParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CustomerStorage"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerVehicles/{Guid}/DmsFiles:
    get:
      tags:
      - "Customer vehicles"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Customer vehicles"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerVehicles/{Guid}/TpmsMeasurements:
    get:
      tags:
      - "Customer vehicles"
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/TpmsMeasurement"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Customer vehicles"
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TpmsMeasurement"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurement"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /DbBlobs/{Guid}:
    get:
      tags:
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/BinaryResponseParameter"
      - $ref: "#/components/parameters/ContentDispositionParameter"
      - $ref: "#/components/parameters/ContentShallBeIncludedParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DbBlob"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /DmsFiles:
    post:
      tags:
      - "DMS files"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /DmsFiles/{Guid}:
    get:
      tags:
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /DmsFiles/{Guid}/DmsFiles:
    get:
      tags:
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Documents:
    get:
      tags:
      - "Documents"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - name: "Type"
        in: "query"
        required: false
        description: "Type of the document. Remember: a finished invoice is not active anymore. So try the combinations of Type and IsActive to find your documents."
        schema:
          type: "string"
          enum: 
            - "Offer"
            - "Order"
            - "DeliveryNote"
            - "Invoice"
            - "CreditNote"
          example: "Invoice"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Document"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Documents/{Guid}:
    get:
      tags:
      - "Documents"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Document"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Documents/{Guid}/DmsFiles:
    get:
      tags:
      - "Documents"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Documents"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Employees:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/IsActiveParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Employee"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Employees/{Guid}:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Employee"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Storages:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/IsActiveParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Storage"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Storages/{Guid}:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Storage"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Storages/{Guid}/StorageLocations:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/StorageLocation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /StorageLocations/{Guid}:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StorageLocation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TpmsMeasurements:
    post:
      tags:
      - "TPMS"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TpmsMeasurement"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurement"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TpmsMeasurements/{Guid}:
    get:
      tags:
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurement"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/_HashValueParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TpmsMeasurement"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurement"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TpmsMeasurements/{Guid}/DmsFiles:
    get:
      tags:
      - "TPMS"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "TPMS"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TpmsMeasurements/{Guid}/TpmsMeasurementPositions:
    get:
      tags:
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/TpmsMeasurementPosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TpmsMeasurementPosition"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurementPosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TpmsMeasurementPositions:
    post:
      tags:
      - "TPMS"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TpmsMeasurementPosition"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurementPosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TpmsMeasurementPositions/{Guid}:
    get:
      tags:
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurementPosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "TPMS"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/_HashValueParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TpmsMeasurementPosition"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurementPosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TpmsMeasurementPositions/{Guid}/DmsFiles:
    get:
      tags:
      - "TPMS"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "TPMS"
      - "DMS files"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DmsFile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /VehicleTypes:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/OffsetParameter"
      - $ref: "#/components/parameters/LimitParameter"
      - $ref: "#/components/parameters/IsActiveParameter"
      - $ref: "#/components/parameters/SearchTermParameter"
      responses:
        200:
          description: "successful operation"
          headers:
            TotalNumberOfEntries:
              schema:
                type: integer
              description: The total number of results of this operation. Please be aware that this number could be wrong if the parameter SearchTerm is used, due to processing the SearchTerm over the acutal result array.
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/VehicleType"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /VehicleTypes/{Guid}:
    get:
      tags:
      - "Referenced Resources"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleType"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
components:
    schemas:
        GenericError:
          type: "object"
          required:
            - "Message"
            - "Details"
          properties:
            Message:
              type: "string"
            Details:
              type: "string"
          example: 
            Message: "Ihr Anwender wurde nicht gefunden."
            Details: "Progress.Lang.AppError\n  Ihr Anwender wurde nicht gefunden.\nat sourcecode.line 123"
        _HashValue:
          type: "string"
          description: "HashValue of the object which you'll need to process write-operations."
          example: "f50df554352ac91635f900026860e3371a71999d"
        Customer:
          type: "object"
          required: 
            - "Guid"
            - "Number"
          properties:
            Guid:
              type: "string"
            Number:
              type: "integer"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        CustomerStorage:
          type: "object"
          required: 
            - "Guid"
            - "Number"
            - "Date"
            - "GuidCustomer"
          properties:
            Guid:
              type: "string"
            Number:
              type: "integer"
            Date:
              type: "string"
              format: "date"
            IsActive:
              type: "boolean"
            GuidCustomerVehicle:
              type: "string"
            GuidCustomer:
              type: "string"
            StorageType:
              type: "string"
              enum:
                - "Customer"
                - "Storage"
            GuidStorage:
              type: "string"
            GuidStorageLocation:
              type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        CustomerStoragePosition:
          type: "object"
          required: 
            - "Guid"
            - "GuidCustomerStorage"
            - "PositionDescription"
          properties:
            Guid:
              type: "string"
            GuidCustomerStorage:
              type: "string"
            PositionDescription:
              type: "string"
            TyreDimension:
              type: "string"
            TyreManufacturer:
              type: "string"
            TyreProfile:
              type: "string"
            TyreTreadDepthInMillimeters1:
              type: "number"
            TyreTreadDepthInMillimeters2:
              type: "number"
            TyreTreadDepthInMillimeters3:
              type: "number"
            TyreDotYear:
              type: "integer"
            TyreDotWeek:
              type: "integer"
            RimDimension:
              type: "string"
            RimManufacturer:
              type: "string"
            RimDesign:
              type: "string"
            RimType:
              type: "string"
              enum:
                - "Carbon"
                - "AlloyRimOriginal"
                - "AlloyRimAftermarket"
                - "SteelRim"
                - "WithoutRim"
                - "Unknown"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        CustomerVehicle:
          type: "object"
          required: 
            - "Guid"
            - "GuidCustomer"
            - "IsActive"
            - "LicenceTagNumber"
          properties:
            Guid:
              type: "string"
            GuidCustomer:
              type: "string"
            IsActive:
              type: "boolean"
            LicenceTagNumber:
              type: "string"
            ChassisNumber:
              type: "string"
            EgTypeApprovalNumber:
              type: "string"
            KbaNumber1:
              type: "string"
            KbaNumber2:
              type: "string"
            VehicleManufacturer:
              type: "string"
            VehicleDesignation:
              type: "string"
            VehicleType:
              type: "string"
            VehicleModel:
              type: "string"
            RegistrationDate:
              type: "string"
              format: "date"
            FuelType:
              type: "string"
            DisplacementInCcm:
              type: "number"
            PowerInKw:
              type: "number"
            MileageInKm:
              type: "number"
            TuevDate:
              type: "string"
              format: "date"
            InspectionDate:
              type: "string"
              format: "date"
            UvvDate:
              type: "string"
              format: "date"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        DbBlob:
          type: "object"
          required: 
            - "Guid"
            - "Designation"
            - "Characterset"
            - "ContentType"
            - "SizeInBytes"
            - "LastFileModificationMoment"
            - "HashValue"
            - "Content"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            Characterset:
              type: "string"
            ContentType:
              type: "string"
            SizeInBytes:
              type: "integer"
            LastFileModificationMoment:
              type: "string"
              format: "date-time"
            HashValue:
              type: "string"
            Content:
              type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        DmsFile:
          type: "object"
          required: 
            - "Guid"
            - "TableName"
            - "GuidOfTableName"
            - "ProgramIdentifier"
            - "ProgramIdentifierDesignation"
            - "Type"
          properties:
            Guid:
              type: "string"
            TableName:
              type: "string"
              enum:
                - "Customer"
                - "CustomerStorage"
                - "CustomerVehicle"
                - "Document"
                - "SchedulerAppointment"
                - "DmsFile"
            GuidOfTableName:
              type: "string"
            ProgramIdentifier:
              type: "string"
            ProgramIdentifierDesignation:
              type: "string"
            Type:
              type: "string"
              enum:
                - "Directory"
                - "File"
            Designation:
              type: "string"
            GuidDbBlob:
              type: "string"
            Description:
              type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        Document:
          type: "object"
          required: 
            - "Guid"
            - "Type"
            - "Date"
            - "Number"
            - "GuidCustomer"
          properties:
            Guid:
              type: "string"
            Type:
              type: "string"
              enum: 
                - "Offer"
                - "Order"
                - "DeliveryNote"
                - "Invoice"
                - "CreditNote"
            Date:
              type: "string"
              format: "date"
            Number:
              type: "number"
            GuidCustomer:
              type: "string"
            GuidCustomerVehicle:
              type: "string"
            GuidEmployeeOfWorker:
              type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        Employee:
          type: "object"
          required:
            - "Guid"
            - "IsActive"
            - "Number"
            - "Name"
          properties:
            Guid:
              type: "string"
            IsActive:
              type: "boolean"
            Number:
              type: "number"
            Name:
              type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        Storage:
          type: "object"
          required: 
            - "Guid"
            - "IsActive"
            - "Designation"
            - "Number"
          properties:
            Guid:
              type: "string"
            IsActive:
              type: "boolean"
            Designation:
              type: "string"
            Number:
              type: "integer"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        StorageLocation:
          type: "object"
          required: 
            - "Guid"
            - "IsActive"
            - "Designation"
            - "Number"
          properties:
            Guid:
              type: "string"
            GuidStorage:
              type: "string"
            IsActive:
              type: "boolean"
            Designation:
              type: "string"
            Number:
              type: "integer"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        TpmsMeasurement:
          type: "object"
          required: 
            - "Guid"
            - "GuidCustomerVehicle"
            - "CreationMoment"
          properties:
            Guid:
              type: "string"
            GuidCustomerVehicle:
              type: "string"
            CreationMoment:
              type: "string"
              format: "date-time"
            Comment:
              type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        TpmsMeasurementPosition:
          type: "object"
          required: 
            - "Guid"
            - "GuidTpmsMeasurement"
            - "PositionDescription"
          properties:
            Guid:
              type: "string"
            GuidTpmsMeasurement:
              type: "string"
            PositionDescription:
              type: "string"
            SensorId:
              type: "string"
            TyrePressureInBar:
              type: "number"
            TyreTemperatureInCelsius:
              type: "number"
            SensorBatteryInPercent:
              type: "integer"
              description: "If you just can provide [ok, low, empty] use please [100, 10, 0] as values."
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        VehicleType:
          type: "object"
          required: 
            - "Guid"
            - "IsActive"
            - "Designation"
            - "Number"
          properties:
            Guid:
              type: "string"
            Type:
              type: "string"
              enum:
                - "Motorcycle"
                - "Car"
                - "LightTruck"
                - "Truck"
                - "Bus"
                - "EarthMachine"
                - "Plane"
                - "SpecialMachine"
                - "Trailer"
            Axles:
              type: "array"
              items:
                type: "object"
                properties:
                  BlockNumberFrontToBack:
                    type: "integer"
                  IsDrivingAxle:
                    type: "boolean"
                  IsReserveAxle:
                    type: "boolean"
                  IsSteeringAxle:
                    type: "boolean"
                  Positions:
                    type: "array"
                    items:
                      type: "object"
                      properties:
                        BlockNumberLeftToRight:
                          type: "integer"
                        PositionDescription:
                          type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
    securitySchemes:
        SessionScheme:
            type: http
            scheme: bearer
    parameters:
      _HashValueParameter:
        name: "_HashValue"
        in: "query"
        description: "If you want to process a write operation you shall provide the hashvalue of the current view of the object you want to write to. If someone else has written something before you'll get a 412 response code."
        required: true
        schema:
          type: "string"
          default: null
          example: "f50df554352ac91635f900026860e3371a71999d"
      BinaryResponseParameter:
        name: "BinaryResponse"
        in: "query"
        description: "When true the response will be delivered as binary data stream."
        required: false
        schema:
          type: "boolean"
          default: false
          example: true
      ContentDispositionParameter:
        name: "ContentDisposition"
        in: "query"
        description: "How the file is deliverd. Inline is inside the same browser tab i.e.. This parameter takes only effect if parameter BinaryResponse=true."
        required: false
        schema:
          type: "string"
          enum:
            - "Inline"
            - "Attachment"
          default: "Inline"
          example: "Inline"
      ContentShallBeIncludedParameter:
        name: "ContentShallBeIncluded"
        in: "query"
        description: "When true the response contains the content."
        required: false
        schema:
          type: "boolean"
          default: false
          example: true
      GuidPathParameter:
        name: "Guid"
        in: "path"
        description: "The primary identifier of the entry (in the database)."
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      IsActiveParameter:
        name: "IsActive"
        in: "query"
        description: "Only active elements shall be returned. If null both will get returned."
        required: false
        schema:
          type: "boolean"
          default: null
          example: true
      LimitParameter:
        name: "Limit"
        in: "query"
        description: "Limits the number of result entries."
        required: false
        schema:
          type: "integer"
          default: null
          minimum: 1
          maximum: 2147483647
          example: 20
      OffsetParameter:
        name: "Offset"
        in: "query"
        description: "Skip the first number of entries."
        required: false
        schema:
          type: "integer"
          default: null
          minimum: 0
          maximum: 2147483647
          example: 0
      SearchTermParameter:
        name: "SearchTerm"
        in: "query"
        description: "Searches the entries and it's content."
        required: false
        schema:
          type: "string"
          default: null
          example: ""
    responses:
      GenericError:
        description: "Unexpected error like 4XX or 5XX http errors."
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GenericError"
