openapi: 3.0.0
info:
    title: "TyrePro-API, Shop"
    version: "Version 13"
servers:
    - url: "https://musterreifen.com/api/shop"
      description: "Development server, customers domain"
    - url: "https://onlineservices.dev.rz2.prm-ag.de/q7U4PLrRfa7vrzFR2Kvb3Q/api/shop"
      description: "Development server, generic domain"
    - url: "http://localhost/ROOT/api/shop"
      description: "Local development server"
paths:
# General
  /AddressStates:
    get:
      tags:
      - "General"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/AddressState"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Areas:
    get:
      tags:
      - "General"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Area"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Branches:
    get:
      tags:
      - "General"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Branch"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /DeliveryTypes:
    get:
      tags:
      - "General"
      parameters:
      - $ref: "#/components/parameters/GuidBranch"
      - $ref: "#/components/parameters/GuidCalculationProfile"
      - $ref: "#/components/parameters/GuidCart"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/DeliveryType"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /MaterialTypes:
    get:
      tags:
      - "General"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/MaterialType"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /MaterialGroups:
    get:
      tags:
      - "General"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/MaterialGroup"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /MaterialSubGroups:
    get:
      tags:
      - "General"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/MaterialSubGroup"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /PaymentTypes:
    get:
      tags:
      - "General"
      parameters:
      - $ref: "#/components/parameters/GuidBranch"
      - $ref: "#/components/parameters/GuidCalculationProfile"
      - $ref: "#/components/parameters/GuidCart"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/PaymentType"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /TopSoldArticles:
    get:
      tags:
      - "General"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - name: "Type"
        description: "Provide the types you want to get."
        in: "query"
        required: true
        schema:
          type: "string"
          enum:
            - "Last7Days"
            - "Last30Days"
            - "Last90Days"
            - "Last365Days"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/TopSoldArticle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
# Settings
  /Addresses:
    get:
      tags:
      - "Settings"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Address"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Settings"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Address"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Address"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Addresses/{Guid}:
    patch:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Address"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Address"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    delete:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Configs:
    get:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/BinaryObjectContentType"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Config"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Configs/{Guid}:
    patch:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      - $ref: "#/components/parameters/BinaryObjectContentType"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Config"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Config"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /OfferArticles:
    get:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/OfferArticle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OfferArticle"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OfferArticle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /OfferArticles/{Guid}:
    patch:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OfferArticle"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OfferArticle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    delete:
      tags:
      - "Settings"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
# Menu
  /Downloads:
    get:
      tags:
      - "Menu"
      parameters:
      - $ref: "#/components/parameters/BinaryObjectContentType"
      - name: "GuidModule"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Download"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Modules:
    get:
      tags:
      - "Menu"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Module"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
# Search
  /Filters:
    get:
      tags:
      - "Search"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/SearchTerm"
      - $ref: "#/components/parameters/GuidMaterialType"
      - $ref: "#/components/parameters/GuidVehicleType"
      - $ref: "#/components/parameters/GuidWidth"
      - $ref: "#/components/parameters/GuidSection"
      - $ref: "#/components/parameters/GuidDiameter"
      - $ref: "#/components/parameters/GuidSpeedIndex"
      - $ref: "#/components/parameters/GuidLoadIndex"
      - $ref: "#/components/parameters/GuidHoleCount"
      - $ref: "#/components/parameters/GuidHoleCircle"
      - $ref: "#/components/parameters/GuidOffset"
      - $ref: "#/components/parameters/GuidHubBoreHole"
      - $ref: "#/components/parameters/GuidManufacturer"
      - $ref: "#/components/parameters/GuidBranch"
      - name: "Type"
        description: "Provide the types you want to get. If this parameter is not provided, all types will be returned."
        in: "query"
        required: false
        schema:
          type: "array"
          items:
            type: "string"
            enum:
              - "MaterialType"
              - "VehicleType"
              - "Width"
              - "Section"
              - "Diameter"
              - "SpeedIndex"
              - "LoadIndex"
              - "HoleCount"
              - "HoleCircle"
              - "Offset"
              - "HubBoreHole"
              - "Manufacturer"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Filter"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /FilterSuggestions:
    get:
      tags:
      - "Search"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/FilterSuggestion"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /ShopArticleConfigs:
    get:
      tags:
      - "Search"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/ShopArticleConfig"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /ShopArticles:
    get:
      tags:
      - "Search"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/SearchTerm"
      - $ref: "#/components/parameters/GuidMaterialType"
      - $ref: "#/components/parameters/GuidVehicleType"
      - $ref: "#/components/parameters/GuidWidth"
      - $ref: "#/components/parameters/GuidSection"
      - $ref: "#/components/parameters/GuidDiameter"
      - $ref: "#/components/parameters/GuidSpeedIndex"
      - $ref: "#/components/parameters/GuidLoadIndex"
      - $ref: "#/components/parameters/GuidHoleCount"
      - $ref: "#/components/parameters/GuidHoleCircle"
      - $ref: "#/components/parameters/GuidOffset"
      - $ref: "#/components/parameters/GuidHubBoreHole"
      - $ref: "#/components/parameters/GuidManufacturer"
      - $ref: "#/components/parameters/BinaryObjectContentType"
      - $ref: "#/components/parameters/GuidDeliveryType"
      - $ref: "#/components/parameters/GuidBranch"
      - $ref: "#/components/parameters/GuidCalculationProfile"
      - $ref: "#/components/parameters/GuidShopArticleConfig"
      responses:
        200:
          description: "successful operation"
          headers:
            Guid-Shop-Article-Config:
              schema:
                type: "string"
              description: "The ShopArticleConfig which was used to build the response. With this unification the configuration is maybe not precise, but you can show the results in a unified form (columns). Currently it's a response header. In the future we will maybe change this as a field in a response object."
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/ShopArticle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /ShopArticlePairs:
    get:
      tags:
      - "Search"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/SearchTerm"
      - $ref: "#/components/parameters/GuidMaterialType"
      - $ref: "#/components/parameters/GuidVehicleType"
      - $ref: "#/components/parameters/GuidWidth"
      - $ref: "#/components/parameters/GuidSection"
      - $ref: "#/components/parameters/GuidDiameter"
      - $ref: "#/components/parameters/GuidSpeedIndex"
      - $ref: "#/components/parameters/GuidLoadIndex"
      - $ref: "#/components/parameters/GuidHoleCount"
      - $ref: "#/components/parameters/GuidHoleCircle"
      - $ref: "#/components/parameters/GuidOffset"
      - $ref: "#/components/parameters/GuidHubBoreHole"
      - $ref: "#/components/parameters/GuidManufacturer"
      - $ref: "#/components/parameters/BinaryObjectContentType"
      - $ref: "#/components/parameters/GuidDeliveryType"
      - $ref: "#/components/parameters/GuidBranch"
      - $ref: "#/components/parameters/GuidCalculationProfile"
      - $ref: "#/components/parameters/GuidShopArticleConfig"
      - name: "SearchTerm2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidWidth2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidSection2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidDiameter2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidSpeedIndex2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidLoadIndex2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidHoleCount2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidHoleCircle2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidOffset2"
        in: "query"
        required: false
        schema:
          type: "string"
      - name: "GuidHubBoreHole2"
        in: "query"
        required: false
        schema:
          type: "string"
      responses:
        200:
          description: "successful operation"
          headers:
            Guid-Shop-Article-Config:
              schema:
                type: "string"
              description: "The ShopArticleConfig which was used to build the response. With this unification the configuration is maybe not precise, but you can show the results in a unified form (columns). Currently it's a response header. In the future we will maybe change this as a field in a response object."
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/ShopArticlePair"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
# ArticleDetails
  /ShopArticleAccessories:
    get:
      tags:
      - "ArticleDetails"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/GuidDeliveryType"
      - $ref: "#/components/parameters/GuidShopArticle"
      - $ref: "#/components/parameters/GuidBranch"
      - $ref: "#/components/parameters/GuidCalculationProfile"
      - $ref: "#/components/parameters/GuidShopArticleConfig"
      responses:
        200:
          description: "successful operation"
          headers:
            Guid-Shop-Article-Config:
              schema:
                type: "string"
              description: "The ShopArticleConfig which was used to build the response. With this unification the configuration is maybe not precise, but you can show the results in a unified form (columns). Currently it's a response header. In the future we will maybe change this as a field in a response object."
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/ShopArticle"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /ShopArticleInformations:
    get:
      tags:
      - "ArticleDetails"
      parameters:
      - $ref: "#/components/parameters/BinaryObjectContentType"
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/GuidShopArticle"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/ShopArticleInformation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /ShopArticleStockDetails:
    get:
      tags:
      - "ArticleDetails"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/GuidDeliveryType"
      - $ref: "#/components/parameters/GuidShopArticle"
      - $ref: "#/components/parameters/GuidShopArticleConfig"
      responses:
        200:
          description: "successful operation"
          headers:
            Guid-Shop-Article-Config:
              schema:
                type: "string"
              description: "The ShopArticleConfig which was used to build the response. With this unification the configuration is maybe not precise, but you can show the results in a unified form (columns). Currently it's a response header. In the future we will maybe change this as a field in a response object."
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/ShopArticleStockDetail"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
# Calculation
  /CalculationProfiles:
    get:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CalculationProfile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CalculationProfile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CalculationProfile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CalculationProfiles/{Guid}:
    patch:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CalculationProfile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CalculationProfile"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    delete:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Calculations:
    get:
      tags:
      - "Calculation"
      parameters:
      - name: "GuidCalculationProfile"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Calculation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Calculation"
      parameters:
      - name: "GuidCalculationProfile"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Calculation"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Calculation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Calculations/{Guid}:
    patch:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Calculation"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Calculation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    delete:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CalculationSurcharges:
    get:
      tags:
      - "Calculation"
      parameters:
      - name: "GuidCalculation"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CalculationSurcharge"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Calculation"
      parameters:
      - name: "GuidCalculation"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CalculationSurcharge"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CalculationSurcharge"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CalculationSurcharges/{Guid}:
    patch:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CalculationSurcharge"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CalculationSurcharge"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    delete:
      tags:
      - "Calculation"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
# Cart
  /Carts:
    get:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      - $ref: "#/components/parameters/GuidBranch"
      - $ref: "#/components/parameters/GuidCalculationProfile"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/Cart"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidOnlineService"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Cart"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cart"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Carts/{Guid}:
    patch:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Cart"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cart"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    delete:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /Carts/{Guid}/Order:
    post:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - name: "GuidDeliveryType"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      - name: "GuidPaymentType"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      - name: "GuidAddressForInvoice"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      - name: "GuidAddressForDelivery"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      responses:
        200:
          description: "successful operation"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CartSets:
    get:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidBranch"
      - $ref: "#/components/parameters/GuidCalculationProfile"
      - $ref: "#/components/parameters/GuidCart"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/CartSet"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    post:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidCart"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CartSet"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CartSet"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
  /CartSets/{Guid}:
    patch:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CartSet"
      responses:
        200:
          description: "successful operation"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CartSet"
        default:
          $ref: "#/components/responses/GenericError"
      security: 
      - SessionScheme: []
    delete:
      tags:
      - "Cart"
      parameters:
      - $ref: "#/components/parameters/GuidPath"
      - $ref: "#/components/parameters/_HashValue"
      responses:
        200:
          description: "successful operation"
        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"
        DbBlob:
          type: "object"
          required: 
            - "Designation"
            - "MimeType"
            - "CharacterSet"
            - "LastFileModificationMoment"
            - "Content"
            - "ContentHashValue"
            - "SizeInBytes"
          properties:
            Designation:
              type: "string"
            MimeType:
              type: "string"
              readOnly: true
            CharacterSet:
              type: "string"
            LastFileModificationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            Content:
              type: "string"
            ContentHashValue:
              type: "string"
              readOnly: true
            SizeInBytes:
              type: "integer"
              readOnly: true
        AddressState:
          type: "object"
          required: 
            - "Guid"
            - "Designation"
            - "ISO2Code"
            - "ISO3Code"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            ISO2Code:
              type: "string"
            ISO3Code:
              type: "string"
          example: 
            Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
            Designation: "Deutschland"
            ISO2Code: "DE"
            ISO3Code: "DEU"
        PostalAddress:
          type: "object"
          properties:
            Salutation:
              type: "string"
            Name1:
              type: "string"
            Name2:
              type: "string"
            Name3:
              type: "string"
            Street:
              type: "string"
            Postalcode:
              type: "string"
            Town:
              type: "string"
            Township:
              type: "string"
            GuidAddressState:
              type: "string"
          example: 
            Salutation: "Herr"
            Name1: "Max Mustermann"
            Name2: null
            Name3: null
            Street: "Musterstr. 123"
            Postalcode: "01234"
            Town: "Musterhausen"
            Township: "Musterviertel"
            GuidAddressState: "ebb89e89-8d25-809e-7814-c53b686ae164"
        Branch:
          type: "object"
          required: 
            - "Guid"
            - "Designation"
            - "Number"
            - "IsActive"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            Number:
              type: "integer"
            IsActive:
              type: "boolean"
            Address:
              $ref: "#/components/schemas/PostalAddress"
            EMailAddress:
              type: "string"
            PhoneNumber:
              type: "string"
            FaxNumber:
              type: "string"
            Latitude:
              type: "number"
            Longitude:
              type: "number"
          example: 
            Guid: "ebb89e89-8d25-809e-7814-c53b686ae164"
            Designation: "Zentrale"
            Number: 1
            IsActive: true
            Address: null
            EMailAddress: "info@mail.org"
            PhoneNumber: "+49123456789"
            FaxNumber: null
            Latitude: 12.34
            Longitude: 12.34
        Area:
          type: "object"
          required:
            - "Guid"
            - "Designation"
            - "SequenceNumber"
            - "Position"
            - "AttentionLevel"
            - "MessageType"
            - "Content"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            SequenceNumber:
              type: "integer"
            Position:
              type: "string"
              enum:
                - "top"
                - "bottom"
                - "left"
                - "right"
            AttentionLevel:
              type: "string"
              enum:
                - "low"
                - "mid"
                - "high"
            MessageType:
              type: "string"
              enum:
                - "plaintext"
                - "html"
            Content:
              type: "string"
        ShopArticleConfig:
          type: "object"
          required:
            - "Guid"
          properties:
            Guid:
              type: "string"
            Columns:
              type: "array"
              items:
                type: "object"
                required:
                  - "FieldName"
                  - "Abbreviation"
                  - "Designation"
                  - "DataType"
                  - "StockDetailsAreAvailable"
                properties:
                  FieldName:
                    type: "string"
                  Abbreviation:
                    type: "string"
                  Designation:
                    type: "string"
                  Description:
                    type: "string"
                  DataType:
                    type: "string"
                    enum:
                      - "string"
                      - "integer"
                      - "decimal"
                      - "boolean"
                      - "date"
                      - "dateTime"
                      - "stock"
                  StockDetailsAreAvailable:
                    type: "boolean"
        Module:
          type: "object"
          required:
            - "Guid"
            - "Designation"
            - "Type"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            Type:
              type: "string"
              enum:
                - "Downloads"
                - "Link"
            LinkPath:
              type: "string"
            LinkType:
              type: "string"
              enum:
                - "NewTab"
                - "SameTab"
        FilterSuggestion:
          type: "object"
          required:
            - "Guid"
          properties:
            GuidMaterialType:
              type: "string"
            GuidVehicleType:
              type: "string"
            Types:
              type: "array"
              items:
                type: "object"
                required:
                  - "Designation"
                  - "Type"
                properties:
                  Designation:
                    type: "string"
                  Type:
                    type: "string"
                    enum:
                      - "MaterialType"
                      - "VehicleType"
                      - "Width"
                      - "Section"
                      - "Diameter"
                      - "SpeedIndex"
                      - "LoadIndex"
                      - "HoleCount"
                      - "HoleCircle"
                      - "Offset"
                      - "HubBoreHole"
                      - "Manufacturer"
        Filter:
          type: "object"
          required:
            - "Guid"
            - "Designation"
            - "Type"
            - "Options"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            Type:
              type: "string"
              enum:
                - "MaterialType"
                - "VehicleType"
                - "Width"
                - "Section"
                - "Diameter"
                - "SpeedIndex"
                - "LoadIndex"
                - "HoleCount"
                - "HoleCircle"
                - "Offset"
                - "HubBoreHole"
                - "Manufacturer"
            Options:
              type: "array"
              items:
                type: "object"
                required:
                  - "Designation"
                  - "NumberOfResults"
                  - "ParameterKey"
                  - "ParameterValue"
                properties:
                  Designation:
                    type: "string"
                  NumberOfResults:
                    type: "integer"
                  ParameterKey:
                    type: "string"
                  ParameterValue:
                    type: "string"
        ShopArticle:
          type: "object"
          required:
            - "Guid"
            - "GuidShopArticleConfig"
            - "Details"
            - "AmountPrecisionInNumberOfDecimalPlaces"
            - "Stocks"
            - "AmountInCart"
            - "HasShopArticleInformations"
          properties:
            Guid:
              type: "string"
            GuidShopArticleConfig:
              type: "string"
            Details:
              type: "array"
              items:
                type: "object"
                required:
                  - "FieldName"
                properties:
                  FieldName:
                    type: "string"
                  FieldValue:
                    type: "string"
            PriceNet:
              type: "number"
            PriceGross:
              type: "number"
            AmountPrecisionInNumberOfDecimalPlaces:
              type: "integer"
            Stocks:
              type: "array"
              items:
                type: "object"
                required:
                  - "FieldName"
                  - "Amount"
                properties:
                  FieldName:
                    type: "string"
                  Amount:
                    type: "number"
                  DeliveryDate:
                    type: "string"
                    format: "date"
            AmountInCart:
              type: "array"
              items:
                type: "object"
                required:
                  - "GuidCart"
                  - "Amount"
                properties:
                  GuidCart:
                    type: "string"
                  Amount:
                    type: "number"
            HasShopArticleInformations:
              type: "boolean"
            Thumbnail:
              $ref: "#/components/schemas/DbBlob"
        ShopArticlePair:
          type: "object"
          required:
            - "FrontArticle"
            - "RearArticle"
          properties:
            FrontArticle:
              $ref: "#/components/schemas/ShopArticle"
            RearArticle:
              $ref: "#/components/schemas/ShopArticle"
        ShopArticleInformation:
          type: "object"
          required:
            - "Type"
            - "Designation"
            - "Informations"
          properties:
            Type:
              type: "string"
              enum:
                - "ManufacturerLink"
                - "Photo"
                - "MarketingInfo"
                - "TestReport"
                - "TechnicalInfo"
                - "Certificate"
                - "Manual"
            Designation:
              type: "string"
            Informations:
              type: "array"
              items:
                type: "object"
                required:
                  - "Designation"
                  - "IsUrl"
                properties:
                  Designation:
                    type: "string"
                  IsUrl:
                    type: "boolean"
                  Url:
                    type: "string"
                  File:
                    $ref: "#/components/schemas/DbBlob"
        ShopArticleStockDetail:
          type: "object"
          required:
            - "FieldName"
            - "Designation"
            - "Amount"
          properties:
            FieldName:
              type: "string"
            Designation:
              type: "string"
            GuidBranch:
              type: "string"
            Amount:
              type: "number"
            DeliveryDate:
              type: "string"
              format: "date"
        MaterialType:
          type: "object"
          required:
            - "Guid"
            - "Designation"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
        MaterialGroup:
          type: "object"
          required:
            - "Guid"
            - "Designation"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
        MaterialSubGroup:
          type: "object"
          required:
            - "Guid"
            - "Designation"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
        CalculationProfile:
          type: "object"
          required:
            - "Guid"
            - "CreationMoment"
            - "LastModificationMoment"
            - "Designation"
            - "SequenceNumber"
            - "ProvidedByShopOperator"
          properties:
            Guid:
              type: "string"
              readOnly: true
            CreationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            LastModificationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            Designation:
              type: "string"
            SequenceNumber:
              type: "integer"
            ProvidedByShopOperator:
              type: "boolean"
              readOnly: true
        Calculation:
          type: "object"
          required:
            - "Guid"
            - "GuidCalculationProfile"
            - "CreationMoment"
            - "LastModificationMoment"
            - "Designation"
            - "SequenceNumber"
          properties:
            Guid:
              type: "string"
              readOnly: true
            GuidCalculationProfile:
              type: "string"
            CreationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            LastModificationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            Designation:
              type: "string"
            SequenceNumber:
              type: "integer"
            MaterialTypes:
              type: "array"
              items:
                type: "string"
            MaterialGroups:
              type: "array"
              items:
                type: "string"
            MaterialSubGroups:
              type: "array"
              items:
                type: "string"
        CalculationSurcharge:
          type: "object"
          required:
            - "Guid"
            - "GuidCalculation"
            - "CreationMoment"
            - "LastModificationMoment"
            - "SequenceNumber"
            - "NetPrice"
            - "Mode"
            - "PercentalSurcharge"
            - "FixedSurcharge"
          properties:
            Guid:
              type: "string"
              readOnly: true
            GuidCalculation:
              type: "string"
            CreationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            LastModificationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            SequenceNumber:
              type: "integer"
            PriceNet:
              type: "number"
            Mode:
              type: "string"
              enum:
                - "PercentalBeforeFixed"
                - "FixedBeforePercental"
            PercentalSurcharge:
              type: "number"
            FixedSurcharge:
              type: "number"
        Config:
          type: "object"
          required:
            - "Guid"
            - "GuidCurrency"
            - "DefaultAmount"
            - "OneClickPurchase"
            - "FullTaxPercentage"
            - "ReducedTaxPercentage"
            - "OfferLayout"
          properties:
            Guid:
              type: "string"
              readOnly: true
            Currency:
              type: "object"
              readOnly: true
              required: 
                - "Designation"
                - "ISO3Code"
                - "Symbol"
              properties:
                Designation:
                  type: "string"
                ISO3Code:
                  type: "string"
                Symbol:
                  type: "string"
            DefaultAmount:
              type: "number"
              readOnly: true
            OneClickPurchase:
              type: "boolean"
              readOnly: true
            FullTaxPercentage:
              type: "number"
            ReducedTaxPercentage:
              type: "number"
            OfferLayout:
              type: "object"
              properties:
                BackgroundImage:
                  $ref: "#/components/schemas/DbBlob"
                TopOffsetInPixel:
                  type: "integer"
                BottomOffsetInPixel:
                  type: "integer"
            CalculationFilter:
              type: "object"
              readOnly: true
              required:
                - "MaterialTypes"
                - "MaterialGroups"
                - "MaterialSubGroups"
              properties:
                MaterialTypes:
                  type: "array"
                  items:
                    type: "object"
                    required:
                      - "Guid"
                      - "Designation"
                    properties:
                      Guid:
                        type: "string"
                      Designation:
                        type: "string"
                MaterialGroups:
                  type: "array"
                  items:
                    type: "object"
                    required:
                      - "Guid"
                      - "Designation"
                    properties:
                      Guid:
                        type: "string"
                      Designation:
                        type: "string"
                MaterialSubGroups:
                  type: "array"
                  items:
                    type: "object"
                    required:
                      - "Guid"
                      - "Designation"
                    properties:
                      Guid:
                        type: "string"
                      Designation:
                        type: "string"
        OfferArticle:
          type: "object"
          required:
            - "Guid"
            - "CreationMoment"
            - "LastModificationMoment"
            - "SequenceNumber"
            - "Designation"
            - "IsUsedByDefault"
            - "Amount"
            - "SalesNetPrice"
            - "TaxType"
          properties:
            Guid:
              type: "string"
              readOnly: true
            CreationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            LastModificationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            SequenceNumber:
              type: "integer"
            Designation:
              type: "string"
            IsUsedByDefault:
              type: "boolean"
            Amount:
              type: "number"
            PriceNet:
              type: "number"
            TaxType:
              type: "string"
              enum:
                - "Full"
                - "Reduced"
                - "None"
        Address:
          type: "object"
          required: 
            - "Guid"
            - "Type"
            - "Address"
          properties:
            Guid:
              type: "string"
              readOnly: true
            Type:
              type: "string"
              readOnly: true
              enum:
                - "Primary"
                - "SubAccount"
                - "Individual"
            Address:
              $ref: "#/components/schemas/PostalAddress"
        Cart:
          type: "object"
          required:
            - "Guid"
            - "CreationMoment"
            - "LastModificationMoment"
            - "SequenceNumber"
            - "Comment"
          properties:
            Guid:
              type: "string"
              readOnly: true
            CreationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            LastModificationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            Designation:
              type: "string"
            Comment:
              type: "string"
            PriceNet:
              type: "number"
              readOnly: true
            PriceGross:
              type: "number"
              readOnly: true
        CartSet:
          type: "object"
          required:
            - "Guid"
            - "GuidCart"
            - "CreationMoment"
            - "LastModificationMoment"
            - "Articles"
          properties:
            Guid:
              type: "string"
              readOnly: true
            GuidCart:
              type: "string"
            CreationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            LastModificationMoment:
              type: "string"
              format: "date-time"
              readOnly: true
            Comment:
              type: "string"
            Articles:
              type: "array"
              items:
                type: "object"
                required:
                  - "Guid"
                  - "Designation"
                  - "Amount"
                properties:
                  Guid:
                    type: "string"
                  Designation:
                    type: "string"
                    readOnly: true
                  Amount:
                    type: "number"
                  PriceNet:
                    type: "number"
                  PriceGross:
                    type: "number"
                    readOnly: true
        Download:
          type: "object"
          required:
            - "Guid"
            - "File"
            - "Type"
          properties:
            Guid:
              type: "string"
            File:
              $ref: "#/components/schemas/DbBlob"
            Type:
              type: "string"
              enum:
                - "NewTab"
                - "SameTab"
                - "Embedded"
        DeliveryType:
          type: "object"
          required:
            - "Guid"
            - "Designation"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            PriceNet:
              type: "number"
            PriceGross:
              type: "number"
            DeliveryDate:
              type: "string"
              format: "date"
        PaymentType:
          type: "object"
          required:
            - "Guid"
            - "Designation"
          properties:
            Guid:
              type: "string"
            Designation:
              type: "string"
            PriceNet:
              type: "number"
            PriceGross:
              type: "number"
        TopSoldArticle:
          type: "object"
          required:
            - "GuidShopArticle"
            - "NumberOfSells"
          properties:
            GuidShopArticle:
              type: "string"
            NumberOfSells:
              type: "number"
    securitySchemes:
        SessionScheme:
            type: http
            scheme: bearer
    parameters:
      _HashValue:
        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"
      GuidPath:
        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"
      GuidOnlineService:
        name: "GuidOnlineService"
        in: "query"
        description: "The reference to the shop."
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"          
      GuidDeliveryType:
        name: "GuidDeliveryType"
        description: "For providing more accurate stock and price information."
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidMaterialType:
        name: "GuidMaterialType"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidVehicleType:
        name: "GuidVehicleType"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidWidth:
        name: "GuidWidth"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidSection:
        name: "GuidSection"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidDiameter:
        name: "GuidDiameter"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidSpeedIndex:
        name: "GuidSpeedIndex"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidLoadIndex:
        name: "GuidLoadIndex"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidHoleCount:
        name: "GuidHoleCount"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidHoleCircle:
        name: "GuidHoleCircle"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidOffset:
        name: "GuidOffset"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidHubBoreHole:
        name: "GuidHubBoreHole"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidManufacturer:
        name: "GuidManufacturer"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidBranch:
        name: "GuidBranch"
        description: "Required for providing stock and price information."
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidCalculationProfile:
        name: "GuidCalculationProfile"
        description: "If provided, the prices will base on this profile."
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidCart:
        name: "GuidCart"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidShopArticle:
        name: "GuidShopArticle"
        in: "query"
        required: true
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      GuidShopArticleConfig:
        name: "GuidShopArticleConfig"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "ebb89e89-8d25-809e-7814-c53b686ae164"
      SearchTerm:
        name: "SearchTerm"
        in: "query"
        required: false
        schema:
          type: "string"
          default: null
          example: "2055516"
      BinaryObjectContentType:
        name: "BinaryObjectContentType"
        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"
    responses:
      GenericError:
        description: "Unexpected error like 4XX or 5XX http errors."
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GenericError"

# MISSING
# GET /Vehicles





















