openapi: 3.0.0
info:
    title: "TyrePro-API, TPMS"
    version: "Version 7"
servers:
    - url: "https://musterreifen.com/api/tpms"
      description: "Development server"
paths:
  # Referenced Resources
  /Storages:
    get:
      tags:
      - "Referenced Resources"
      responses:
        200:
          description: "successful operation"
          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/GuidPathParameter"
      - $ref: "#/components/parameters/OnlyWithAvailableCapacityParameter"
      responses:
        200:
          description: "successful operation"
          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"
      - $ref: "#/components/parameters/OnlyWithAvailableCapacityParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StorageLocation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  
  # Search
  /Search:
    get:
      tags:
      - "Search"
      parameters:
      - name: "SearchTerm"
        description: "During the search, all non-ciphers and non-letters will be ignored. This will provide a more robust search result."
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/SearchResult"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  
  # TPMS / customer storage
  /CustomerStorages/{Guid}:
    get:
      tags:
      - "TPMS / customer storage"
      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:
      - "TPMS / customer storage"
      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:
      - "TPMS / customer storage"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CustomerStoragePosition"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CustomerStorages/{Guid}/custommethods/Predecessor:
    get:
      tags:
      - "TPMS / customer storage"
      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: []
  /CustomerStorages/{Guid}/custommethods/Rearrange:
    post:
      tags:
      - "TPMS / customer storage"
      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: []
  /CustomerStorages/{Guid}/custommethods/Successor:
    get:
      tags:
      - "TPMS / customer storage"
      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: []
  /CustomerStoragePositions/{Guid}:
    get:
      tags:
      - "TPMS / customer storage"
      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:
      - "TPMS / customer storage"
      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: []
  /CustomerVehicles/{Guid}:
    get:
      tags:
      - "TPMS / customer storage"
      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:
      - "TPMS / customer storage"
      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: []
  
  # DMS / file attachments
  /DmsFiles/{Guid}:
    get:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/ContentTypeParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/_HashValueParameter"
      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: []
    delete:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/_HashValueParameter"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /DmsFiles/{Guid}/DmsFiles:
    get:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/ContentTypeParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "DMS / file attachments"
      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: []
  /Customers/{Guid}/DmsFiles:
    get:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/ContentTypeParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "DMS / file attachments"
      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: []
  /CustomerStorages/{Guid}/DmsFiles:
    get:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/ContentTypeParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "DMS / file attachments"
      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}/DmsFiles:
    get:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/ContentTypeParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "DMS / file attachments"
      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}/DmsFiles:
    get:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/ContentTypeParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "DMS / file attachments"
      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/{Guid}/DmsFiles:
    get:
      tags:
      - "DMS / file attachments"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      - $ref: "#/components/parameters/ContentTypeParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DmsFile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "DMS / file attachments"
      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: []
  
  # Deprecated
  /Customers/{Guid}:
    get:
      tags:
      - "Deprecated"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Customer"
        default:
          $ref: "#/components/responses/GenericError"
      deprecated: true
      security: 
      - SessionScheme: []
  /CustomerStorages:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /CustomerVehicles:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /CustomerVehicles/{Guid}/CustomerStorages:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /CustomerVehicles/{Guid}/TpmsMeasurements:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /DbBlobs/{Guid}:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /DmsFiles:
    post:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /Documents:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /Documents/{Guid}:
    get:
      tags:
      - "Deprecated"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Document"
        default:
          $ref: "#/components/responses/GenericError"
      deprecated: true
      security: 
      - SessionScheme: []
  /Employees:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /Employees/{Guid}:
    get:
      tags:
      - "Deprecated"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Employee"
        default:
          $ref: "#/components/responses/GenericError"
      deprecated: true
      security: 
      - SessionScheme: []
  /TpmsMeasurements:
    post:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /TpmsMeasurements/{Guid}:
    get:
      tags:
      - "Deprecated"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurement"
        default:
          $ref: "#/components/responses/GenericError"
      deprecated: true
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /TpmsMeasurements/{Guid}/DmsFiles:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /TpmsMeasurements/{Guid}/TpmsMeasurementPositions:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /TpmsMeasurementPositions:
    post:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /TpmsMeasurementPositions/{Guid}:
    get:
      tags:
      - "Deprecated"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TpmsMeasurementPosition"
        default:
          $ref: "#/components/responses/GenericError"
      deprecated: true
      security: 
      - SessionScheme: []
    patch:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /TpmsMeasurementPositions/{Guid}/DmsFiles:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /VehicleTypes:
    get:
      tags:
      - "Deprecated"
      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"
      deprecated: true
      security: 
      - SessionScheme: []
  /VehicleTypes/{Guid}:
    get:
      tags:
      - "Deprecated"
      parameters:
      - $ref: "#/components/parameters/GuidPathParameter"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleType"
        default:
          $ref: "#/components/responses/GenericError"
      deprecated: true
      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"
          readOnly: true
          description: "HashValue of the object which you'll need to process write-operations."
          example: "f50df554352ac91635f900026860e3371a71999d"
        
        # Referenced Resources
        Storage:
          type: "object"
          required: 
            - "Guid"
            - "Designation"
            - "Number"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            Number:
              type: "integer"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        StorageLocation:
          type: "object"
          required: 
            - "Guid"
            - "GuidStorage"
            - "Designation"
            - "Number"
            - "HasAvailableCapacity"
          properties:
            Guid:
              type: "string"
            GuidStorage:
              type: "string"
            Designation:
              type: "string"
            Number:
              type: "integer"
            HasAvailableCapacity:
              type: "boolean"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        
        # Search
        SearchResult:
          type: "object"
          required:
            - "Customers"
            - "CustomerVehicles"
            - "CustomerStorages"
            - "Documents"
            - "SchedulerAppointments"
          properties:
            Customers:
              type: "array"
              items:
                type: "object"
                required:
                  - "Guid"
                  - "Score"
                  - "Number"
                properties:
                  Guid:
                    type: "string"
                  Score:
                    type: "number"
                  Number:
                    type: "integer"
                  Name1:
                    type: "string"
                  Name2:
                    type: "string"
                  PostalCode:
                    type: "string"
                  Town:
                    type: "string"
                  Street:
                    type: "string"
            CustomerVehicles:
              type: "array"
              items:
                type: "object"
                required:
                  - "Guid"
                  - "Score"
                  - "GuidCustomer"
                  - "CustomerNumber"
                properties:
                  Guid:
                    type: "string"
                  Score:
                    type: "number"
                  LicenceTagNumber:
                    type: "string"
                  GuidCustomer:
                    type: "string"
                  CustomerNumber:
                    type: "integer"
                  CustomerName1:
                    type: "string"
            CustomerStorages:
              type: "array"
              items:
                type: "object"
                required:
                  - "Guid"
                  - "Score"
                  - "Number"
                  - "ContractStartDate"
                  - "IsActive"
                  - "GuidCustomer"
                  - "CustomerNumber"
                properties:
                  Guid:
                    type: "string"
                  Score:
                    type: "number"
                  Number:
                    type: "integer"
                  ContractStartDate:
                    type: "string"
                    format: "date"
                  IsActive:
                    type: "boolean"
                  DimensionFrontLeft:
                    type: "string"
                  LicenceTagNumber:
                    type: "string"
                  CustomerReferenceId:
                    type: "string"
                  GuidCustomer:
                    type: "string"
                  CustomerNumber:
                    type: "integer"
                  CustomerName1:
                    type: "string"
                  StorageDesignation:
                    type: "string"
                  StoragePlaceDesignation:
                    type: "string"
                  RemoteStorageReference:
                    type: "string"
            Documents:
              type: "array"
              items:
                type: "object"
                required:
                  - "Guid"
                  - "Score"
                  - "DocumentTypeDesignation"
                  - "Date"
                  - "Number"
                  - "BranchNumber"
                  - "TotalPriceNet"
                  - "TotalPriceGross"
                  - "GuidCustomer"
                properties:
                  Guid:
                    type: "string"
                  Score:
                    type: "number"
                  DocumentTypeDesignation:
                    type: "string"
                  Date:
                    type: "string"
                    format: "date"
                  Number:
                    type: "integer"
                  BranchNumber:
                    type: "integer"
                  TotalPriceNet:
                    type: "number"
                  TotalPriceGross:
                    type: "number"
                  GuidCustomer:
                    type: "string"
                  CustomerNumber:
                    type: "integer"
                  CustomerName1:
                    type: "string"
                  LicenceTagNumber:
                    type: "string"
                  ExternalOrderNumber:
                    type: "string"
            SchedulerAppointments:
              type: "array"
              items:
                type: "object"
                required:
                  - "Guid"
                  - "Score"
                  - "StartMoment"
                  - "Designation"
                  - "WasCreatedByOnlineScheduler"
                properties:
                  Guid:
                    type: "string"
                  Score:
                    type: "number"
                  StartMoment:
                    type: "string"
                    format: "date-time"
                  Designation:
                    type: "string"
                  LicenceTagNumber:
                    type: "string"
                  StatusDesignation:
                    type: "string"
                  WasCreatedByOnlineScheduler:
                    type: "boolean"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        
        # TPMS / customer storage
        CustomerStorage:
          type: "object"
          required: 
            - "Guid"
            - "Number"
            - "Date"
            - "GuidCustomer"
          properties:
            Guid:
              type: "string"
              readOnly: true
            Number:
              type: "integer"
              readOnly: true
            Date:
              type: "string"
              format: "date"
              readOnly: true
            GuidCustomerVehicle:
              type: "string"
              readOnly: true
            GuidCustomer:
              type: "string"
              readOnly: true
            StorageType:
              type: "string"
              enum:
                - "Customer"
                - "Storage"
            GuidStorage:
              type: "string"
            GuidStorageLocation:
              type: "string"
            RemoteStorageReference:
              type: "string"
            CommentExternal:
              type: "string"
            CommentInternal:
              type: "string"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        CustomerStoragePosition:
          type: "object"
          required: 
            - "Guid"
            - "GuidCustomerStorage"
            - "PositionDescription"
            - "PositionDescriptionDesignation"
          properties:
            Guid:
              type: "string"
              readOnly: true
            GuidCustomerStorage:
              type: "string"
              readOnly: true
            PositionDescription:
              type: "string"
            PositionDescriptionDesignation:
              type: "string"
            GuidArticleTyre:
              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"
            GuidArticleRim:
              type: "string"
            RimDimension:
              type: "string"
            RimManufacturer:
              type: "string"
            RimDesign:
              type: "string"
            RimType:
              type: "string"
              enum:
                - "Carbon"
                - "AlloyRimOriginal"
                - "AlloyRimAftermarket"
                - "SteelRim"
                - "WithoutRim"
                - "Unknown"
            GuidArticleTpms:
              type: "string"
            TpmsSensorId:
              type: "string"
            TpmsSensorBatteryInPercent:
              type: "integer"
              description: "If you just can provide [ok, low, empty] use please [100, 10, 0] as values."
            TpmsTyrePressureInBar:
              type: "number"
            TpmsTyreTemperatureInDegreeCelsius:
              type: "number"
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        CustomerVehicle:
          type: "object"
          required: 
            - "Guid"
            - "GuidCustomer"
            - "LicenceTagNumber"
          properties:
            Guid:
              type: "string"
              readOnly: true
            GuidCustomer:
              type: "string"
              readOnly: true
            LicenceTagNumber:
              type: "string"
              readOnly: true
            Configuration:
              type: "object"
              readOnly: true
              required: 
                - "Guid"
                - "Type"
                - "Designation"
                - "Axles"
              properties:
                Guid:
                  type: "string"
                Type:
                  type: "string"
                  enum:
                    - "Motorcycle"
                    - "Car"
                    - "LightTruck"
                    - "Truck"
                    - "Bus"
                    - "EarthMachine"
                    - "Plane"
                    - "SpecialMachine"
                    - "Trailer"
                Designation:
                  type: "string"
                Axles:
                  type: "array"
                  items:
                    type: "object"
                    required: 
                      - "BlockNumberFrontToBack"
                      - "IsDrivingAxle"
                      - "IsReserveAxle"
                      - "IsSteeringAxle"
                      - "Designation"
                      - "Positions"
                    properties:
                      BlockNumberFrontToBack:
                        type: "integer"
                      IsDrivingAxle:
                        type: "boolean"
                      IsReserveAxle:
                        type: "boolean"
                      IsSteeringAxle:
                        type: "boolean"
                      Designation:
                        type: "string"
                      Positions:
                        type: "array"
                        items:
                          type: "object"
                          required: 
                            - "BlockNumberLeftToRight"
                            - "PositionDescription"
                            - "Designation"
                          properties:
                            BlockNumberLeftToRight:
                              type: "integer"
                            PositionDescription:
                              type: "string"
                            Designation:
                              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"
        
        # DMS / file attachments
        DmsFile:
          type: "object"
          required: 
            - "Guid"
            - "ProgramIdentifier"
            - "ProgramIdentifierDesignation"
            - "Type"
            - "Designation"
            - "SizeInBytes"
          properties:
            Guid:
              type: "string"
              readOnly: true
            ProgramIdentifierDesignation:
              type: "string"
              readOnly: true
            ProgramIdentifier:
              type: "string"
              readOnly: true
            Type:
              type: "string"
              enum:
                - "Directory"
                - "File"
            Comment:
              type: "string"
            Designation:
              type: "string"
            SizeInBytes:
              type: "integer"
              readOnly: true
            NumberOfFiles:
              type: "integer"
              description: "Only when Type=Directory."
              readOnly: true
            CharacterSet:
              type: "string"
              description: "Only when Type=File."
            MimeType:
              type: "string"
              description: "Only when Type=File."
              readOnly: true
            LastFileModificationMoment:
              type: "string"
              format: "date-time"
              description: "Only when Type=File."
            ContentHashValue:
              type: "string"
              description: "Only when Type=File."
              readOnly: true
            Content:
              type: "string"
              description: "Only when Type=File."
            _HashValue:
              $ref: "#/components/schemas/_HashValue"
        
        # Deprecated
        Customer:
          type: "object"
          required: 
            - "Guid"
            - "Number"
          properties:
            Guid:
              type: "string"
            Number:
              type: "integer"
            _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"
        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"
        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"
      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"
      OnlyWithAvailableCapacityParameter:
        name: "OnlyWithAvailableCapacity"
        description: "Shows only storage locations with available capacity."
        in: "query"
        required: false
        schema:
          type: "string"
          default: true
          example: true
      ContentTypeParameter:
        name: "ContentType"
        in: "query"
        description: "Determines what you will find in the field content."
        required: false
        schema:
          type: "string"
          enum:
            - "Base64"
            - "UrlWithInlineContentDisposition"
            - "UrlWithAttachmentContentDisposition"
          default: "UrlWithInlineContentDisposition"
          example: "UrlWithInlineContentDisposition"
      
      # Deprecated
      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
      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"




















































