{
  "x-generator": "NSwag v14.7.1.0 (NJsonSchema v11.6.1.0 (Newtonsoft.Json v13.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "JTL-WAWI API (Cloud)",
    "description": "JTL-Wawi-Version: 2.3.0-alpha.864+Sha.5f010e2\r\n# Introduction\r\n\r\nWelcome to the JTL-WAWI technical API documentation. This guide is here to help developers understand how our REST API works and how it can be integrated into your existing systems. We'll delve into the details of authentication and data manipulation processes, providing clear examples along the way. Whether you're a developer or an IT professional, this documentation aims to give you a practical understanding, laying the groundwork for effectively using the JTL-WAWI API to enhance your processes.\r\n\r\n# Authentication\r\n\r\nYou register your application with the API by sending a POST request with the required information and corresponding keys. You can find the exact request details at https://developer.jtl-software.com/products/erp/swagger/appregistration. This information has to include the following:\r\n\r\n* AppId\r\n* DisplayName\r\n* Description\r\n* Version\r\n* ProviderName\r\n* ProviderWebsite\r\n* MandatoryApiScopes\r\n\r\nThis data is crucial for identifying and registering your application with the API. The API uses it to generate a temporary authentication ID that allows your application to access the necessary resources. After successful validation of this information, you will receive the API key required for future authentication and API requests.\r\n\r\nBefore you can begin the registration process, you must open JTL-Wawi (new interface) and start the registration process under 'Admin->App registration'. Only at this point are you authorised to send the first API call. This step in JTL-Wawi ensures that your application is properly registered and has permission to use the API.\r\n\r\nThe API will send you an authentication ID in the form of a token. Once you have received this token and successfully completed the registration in JTL-Wawi, you will send another request to the API by including this authentication ID in the URL path.\r\n\r\nAfter successful validation of this second request by the API and confirmation of the correct information, you will be provided with the actual API key. It is important to note that this API key will not be displayed again!\r\n\r\nThis API key will be used in the future to authenticate requests to the API. It is of utmost importance that you securely store the API key upon receipt, as it cannot be retrieved from any other location in the system.",
    "contact": {
      "name": "JTL-Software-GmbH",
      "url": "https://developer.jtl-software.com/",
      "email": "partner@jtl-software.com"
    },
    "version": "2.2",
    "x-application-version": "2.3.0.0"
  },
  "servers": [
    {
      "url": "https://api.jtl-cloud.com/erp",
      "description": "Production Environment Cloud API Gateway"
    }
  ],
  "paths": {
    "/v2/authentication": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Register App",
        "description": "Send a registration request for an (external) application",
        "operationId": "Authentication_RegisterAppAsync",
        "parameters": [
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "registrationRequest",
          "description": "Contains the registration request's data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.CreateAppRegistrationRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Status of the registration process (including the unique identifiers for application and registration request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationRequestStatusInfo"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "There was no application service available to receive and handle the registration request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "An application with the specified unique id is already registered.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/authentication/{registrationId}": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Fetch Registration Status",
        "description": "Obtain information about a registration request",
        "operationId": "Authentication_FetchRegistrationStatusAsync",
        "parameters": [
          {
            "name": "registrationId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the registration request",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Registration information (containing the current status of the registration process)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationInformation"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No registration request was found for the specified identifier",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "The registration request for the specified identifier has already been processed and answered",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Register Multi Instance App",
        "description": "Sends a registration request for another instance of the same application",
        "operationId": "Authentication_RegisterMultiInstanceAppAsync",
        "parameters": [
          {
            "name": "registrationId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the registration request",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Status of the registration process (including the unique identifiers of the application and registration request)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationRequestStatusInfo"
                }
              }
            }
          },
          "400": {
            "description": "The operation was not allowed in the given context.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the application has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "There was no application service available to receive and handle the registration.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/authentication/foreign": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Register Foreign App (deprecated)",
        "description": "DEPRECATED seit Wawi 2.2.0: No-Op. Seit Wawi 2.1.0 registriert sich die Wawi selbst per JWT.",
        "operationId": "Authentication_RegisterForeignAppAsync",
        "parameters": [
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "registrationRequest",
          "description": "Wird angenommen, aber nicht verarbeitet.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.CreateAppRegistrationRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Neutral success response — die Anfrage wird angenommen, aber nicht ausgeführt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationInformation"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-stability-level": "stable"
      }
    },
    "/v2/authentication/foreign/{appId}/app": {
      "patch": {
        "tags": [
          "Authentication"
        ],
        "summary": "Update Foreign App By App Id (deprecated)",
        "description": "DEPRECATED seit Wawi 2.2.0: No-Op. Seit Wawi 2.1.0 registriert sich die Wawi selbst per JWT.",
        "operationId": "Authentication_UpdateForeignAppByAppIdAsync",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the Registered App",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "registrationRequest",
          "description": "Wird angenommen, aber nicht verarbeitet.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.UpdateAppRegistrationRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Neutral success response — die Anfrage wird angenommen, aber nicht ausgeführt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationInformation"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Authentication"
        ],
        "summary": "Remove Foreign App By App Id (deprecated)",
        "description": "DEPRECATED seit Wawi 2.2.0: No-Op. Seit Wawi 2.1.0 registriert sich die Wawi selbst per JWT.",
        "operationId": "Authentication_RemoveForeignAppByAppIdAsync",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the Registered App",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "Neutral success response — die Anfrage wird angenommen, aber nicht ausgeführt.",
            "content": {
              "application/json": {}
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-stability-level": "stable"
      }
    },
    "/v2/authentication/foreign/{registrationId}/registration": {
      "patch": {
        "tags": [
          "Authentication"
        ],
        "summary": "Update Foreign App By Registration Id (deprecated)",
        "description": "DEPRECATED seit Wawi 2.2.0: No-Op. Seit Wawi 2.1.0 registriert sich die Wawi selbst per JWT.",
        "operationId": "Authentication_UpdateForeignAppByRegistrationIdAsync",
        "parameters": [
          {
            "name": "registrationId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the registration request",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "x-position": 2
          },
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "registrationRequest",
          "description": "Wird angenommen, aber nicht verarbeitet.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.UpdateAppRegistrationRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Neutral success response — die Anfrage wird angenommen, aber nicht ausgeführt.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationInformation"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Authentication"
        ],
        "summary": "Remove Foreign App By Registration Id (deprecated)",
        "description": "DEPRECATED seit Wawi 2.2.0: No-Op. Seit Wawi 2.1.0 registriert sich die Wawi selbst per JWT.",
        "operationId": "Authentication_RemoveForeignAppByRegistrationIdAsync",
        "parameters": [
          {
            "name": "registrationId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the registration request",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "x-position": 1
          },
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "Neutral success response — die Anfrage wird angenommen, aber nicht ausgeführt.",
            "content": {
              "application/json": {}
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-stability-level": "stable"
      }
    },
    "/v2/authentication/login": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Login",
        "description": "Sends a request to log in the user / dynamically assign the WAWI user. Only use this request if your API uses SSL.",
        "operationId": "Authentication_LoginAsync",
        "parameters": [
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "loginRequest",
          "description": "Contains the login information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.CreateLogin"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "login success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.Login"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 0,
        "x-stability-level": "beta"
      }
    },
    "/v2/authentication/logout": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Logout",
        "description": "Sends a request to log out the user",
        "operationId": "Authentication_LogoutAsync",
        "parameters": [
          {
            "name": "x-challengecode",
            "in": "header",
            "required": true,
            "description": "You can enter any custom value here. The X-ChallengeCode is used during app registration and must be the same for all registration requests. The maximum length is 30 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "logout success",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 0,
        "x-stability-level": "beta"
      }
    },
    "/v2/availabilities": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Query Availabilities",
        "description": "Queries all availabilities for items.",
        "operationId": "Availability_QueryAvailabilitiesAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All availabilities for items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Availability.Availability"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/bill-of-materials-items/{id}": {
      "delete": {
        "tags": [
          "Production"
        ],
        "summary": "Deletes a bill of materials item from a bill of materials.",
        "description": "Deletes a bill of materials item from a bill of materials.",
        "operationId": "BillOfMaterialsComponents_DeleteBillOfMaterialsItem",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted a bill of materials item.",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "The specified bill of materials item could not be deleted.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The specified bill of materials item was not found.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "get": {
        "tags": [
          "Production"
        ],
        "summary": "Retrieves a bill of materials item by its ID.",
        "description": "Retrieves a bill of materials item by its ID.",
        "operationId": "BillOfMaterialsComponents_GetBillOfMaterialsItemById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItem"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/bill-of-materials-operations/{billOfMaterialsOperationId}/bill-of-materials-items": {
      "get": {
        "tags": [
          "wawi",
          "Production"
        ],
        "summary": "Retrieves all bill of materials items for a given bill of materials operation.",
        "description": "Retrieves all bill of materials items for a given bill of materials operation.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100).",
        "operationId": "BillOfMaterialsComponents_QueryBillOfMaterialsItemsByBillOfMaterialsOperationId",
        "parameters": [
          {
            "name": "billOfMaterialsOperationId",
            "in": "path",
            "required": true,
            "description": "The ID of a bill of materials operation.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Production"
        ],
        "summary": "Creates a new bill of materials item for a bill of materials operation.",
        "description": "Creates a new bill of materials item for a bill of materials operation.",
        "operationId": "Create_CreateBillOfMaterialsItem",
        "parameters": [
          {
            "name": "billOfMaterialsOperationId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsItemCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a bill of materials item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/bill-of-materials-operations/{id}": {
      "delete": {
        "tags": [
          "Production"
        ],
        "summary": "Deletes a bill of materials operation from a bill of materials.",
        "description": "Deletes a bill of materials operation from a bill of materials.",
        "operationId": "BillOfMaterialsComponents_DeleteBillOfMaterialsOperation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted a bill of materials operation.",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "The specified bill of materials operation could not be deleted.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The specified bill of materials operation was not found.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "get": {
        "tags": [
          "Production"
        ],
        "summary": "Retrieves a bill of materials operation by its ID.",
        "description": "Retrieves a bill of materials operation by its ID.",
        "operationId": "BillOfMaterialsComponents_GetBillOfMaterialsOperationById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsOperation"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/bills-of-materials/{billOfMaterialsId}/bill-of-materials-items": {
      "get": {
        "tags": [
          "wawi",
          "Production"
        ],
        "summary": "Retrieves all bill of materials items for a given bill of materials.",
        "description": "Retrieves all bill of materials items for a given bill of materials.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100).",
        "operationId": "BillOfMaterialsComponents_QueryBillOfMaterialsItemsByBillOfMaterialsId",
        "parameters": [
          {
            "name": "billOfMaterialsId",
            "in": "path",
            "required": true,
            "description": "The ID of a bill of materials.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/bills-of-materials/{billOfMaterialsId}/bill-of-materials-operations": {
      "get": {
        "tags": [
          "wawi",
          "Production"
        ],
        "summary": "Retrieves all bill of materials operations for a given bill of materials.",
        "description": "Retrieves all bill of materials operations for a given bill of materials.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100).",
        "operationId": "BillOfMaterialsComponents_QueryBillOfMaterialsOperationsByBillOfMaterialsId",
        "parameters": [
          {
            "name": "billOfMaterialsId",
            "in": "path",
            "required": true,
            "description": "The ID of a bill of materials.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsOperation"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Production"
        ],
        "summary": "Creates a new bill of materials operation for a bill of materials, including its items.",
        "description": "Creates a new bill of materials operation for a bill of materials, including its items.",
        "operationId": "Create_CreateBillOfMaterialsOperation",
        "parameters": [
          {
            "name": "billOfMaterialsId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsOperationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a bill of materials operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsOperationCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/bills-of-materials/{id}": {
      "delete": {
        "tags": [
          "Production"
        ],
        "summary": "Deletes a bill of materials.",
        "description": "Deletes a bill of materials.",
        "operationId": "BillsOfMaterials_DeleteBillOfMaterials",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted a bill of materials.",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "The specified bill of materials could not be deleted.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The specified bill of materials was not found.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "get": {
        "tags": [
          "Production"
        ],
        "summary": "Retrieves a bill of materials by its ID.",
        "description": "Retrieves a bill of materials by its ID.",
        "operationId": "BillsOfMaterials_GetBillOfMaterialsById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.BillOfMaterials"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/categories": {
      "post": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Creates a new category.",
        "description": "Creates a new category.",
        "operationId": "Category_CreateCategory",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreateCategoryRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.Endpoints.V2.Category.CreateCategoryRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The category was successfully created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CreateCategoryCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "An error occurred while creating the category.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Queries all categories.",
        "description": "Queries all categories.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Category_QueryCategories",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/categories/{categoryId}": {
      "delete": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Deletes a category.",
        "description": "Deletes a category.",
        "operationId": "Category_DeleteCategory",
        "parameters": [
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "description": "The ID of the category to be deleted.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
            }
          },
          {
            "name": "moveChildrenTargetId",
            "in": "query",
            "description": "The ID of the destination category to which all remaining child categories will be moved.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The category was successfully deleted.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The category was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Retrieves a single category by its ID.",
        "description": "Retrieves a single category by its ID.",
        "operationId": "Category_GetCategoryById",
        "parameters": [
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "description": "The ID of the category.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Updates a category.",
        "description": "Updates a category.",
        "operationId": "Category_UpdateCategory",
        "parameters": [
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "description": "The ID of the category to be updated.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "UpdateCategoryRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.Endpoints.V2.Category.UpdateCategoryRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The category was successfully updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.UpdateCategoryCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "An error occurred while updating the category.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/color-codes": {
      "get": {
        "tags": [
          "Master Data"
        ],
        "summary": "Query Color Codes",
        "description": "Queries all color codes for sales orders.",
        "operationId": "ColorCode_QueryColorCodesAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All color codes for sales orders.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.ColorCode.ColorCode"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "masterdata.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "masterdata.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/companies": {
      "get": {
        "tags": [
          "wawi",
          "Company"
        ],
        "summary": "Delivers a queryable overview list of all company settings",
        "description": "Delivers a queryable overview list of all company settings\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "CompanyOverview_QueryCompanies",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CompanyOverview.CompanyListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Company"
        ],
        "summary": "A command to create a new company, including identification, contact, banking, and tax information.",
        "description": "A command to create a new company, including identification, contact, banking, and tax information.",
        "operationId": "Companydetails_CreateCompany",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CreateCompanyCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Company was successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CreateCompanyCommandResponse"
                }
              }
            }
          },
          "409": {
            "description": "A company with the specified CompanyName already exists.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/companies/{companyId}": {
      "patch": {
        "tags": [
          "Company"
        ],
        "summary": "A command to modify an existing company, including identification, contact, banking, and tax information.",
        "description": "A command to modify an existing company, including identification, contact, banking, and tax information.",
        "operationId": "Companydetails_ChangeCompany",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.ChangeCompanyCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Company was successfully modified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.ChangeCompanyCommandResponse"
                }
              }
            }
          },
          "404": {
            "description": "The company with the specified CompanyId does not exist.",
            "content": {
              "application/json": {}
            }
          },
          "409": {
            "description": "A company with the specified CompanyName already exists.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Delivers a single company",
        "description": "Delivers a single company",
        "operationId": "Companydetails_GetCompanyById",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CompanyDetailsItem"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/conditions": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Query Conditions",
        "description": "Queries all item conditions.",
        "operationId": "Condition_QueryConditionsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All item conditions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Condition.Condition"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/countries": {
      "get": {
        "tags": [
          "Master Data"
        ],
        "summary": "Retrieves all countries.",
        "description": "Retrieves all countries.",
        "operationId": "Country_ListCountries",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.PublicApi.DataTransferObjects.V2.Country.CountryItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.read",
              "masterdata.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.read",
              "masterdata.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/currencies": {
      "get": {
        "tags": [
          "wawi",
          "Master Data"
        ],
        "summary": "Queries all currencies.",
        "description": "Queries all currencies.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "CurrencyDomain_QueryCurrencies",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "description": "Only include items whose Updated is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updatedBefore",
            "in": "query",
            "description": "Only include items whose Updated is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.CurrencyDomain.Currency"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "currencies.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "currencies.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/customer-categories": {
      "get": {
        "tags": [
          "wawi",
          "Customer"
        ],
        "summary": "Queries all customer categories.",
        "description": "Queries all customer categories.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "CustomerDomain_QueryCustomerCategories",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerCategory"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create Customer Category",
        "description": "Creates a new customer category.",
        "operationId": "CustomerCategory_CreateCustomerCategoryAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerCategory",
          "description": "The customer category to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.CreateCustomerCategory"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created customer category.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.CustomerCategory"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/customer-categories/{customercategoryId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get Customer Category",
        "description": "Gets a specific customer category.",
        "operationId": "CustomerCategory_GetCustomerCategoryAsync",
        "parameters": [
          {
            "name": "customercategoryId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer category to return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the customer category for the given ID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.CustomerCategory"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer category with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "stable"
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Update Customer Category",
        "description": "Updates a specific customer category.",
        "operationId": "CustomerCategory_UpdateCustomerCategoryAsync",
        "parameters": [
          {
            "name": "customercategoryId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer category to update.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerCategory",
          "description": "The customer category to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.UpdateCustomerCategory"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The updated customer category.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.CustomerCategory"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer category with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Delete Customer Category",
        "description": "Deletes a specific customer category.",
        "operationId": "CustomerCategory_DeleteCustomerCategoryAsync",
        "parameters": [
          {
            "name": "customercategoryId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer category to delete.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer category with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "stable"
      }
    },
    "/v2/customer-groups": {
      "get": {
        "tags": [
          "wawi",
          "Customer"
        ],
        "summary": "Queries all customer groups.",
        "description": "Queries all customer groups.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "CustomerDomain_QueryCustomerGroups",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerGroup"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create Customer Group",
        "description": "Creates a new customer group.",
        "operationId": "CustomerGroup_CreateCustomerGroupAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerGroup",
          "description": "The customer group to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.CreateCustomerGroup"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created customer group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.CustomerGroup"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/customer-groups/{customergroupId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get Customer Group",
        "description": "Gets a specific customer group.",
        "operationId": "CustomerGroup_GetCustomerGroupAsync",
        "parameters": [
          {
            "name": "customergroupId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer group to return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the customer group for the given ID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.CustomerGroup"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer group with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "stable"
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Update Customer Group",
        "description": "Updates a specific customer group.",
        "operationId": "CustomerGroup_UpdateCustomerGroupAsync",
        "parameters": [
          {
            "name": "customergroupId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer group to update.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerGroup",
          "description": "The customer group to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.UpdateCustomerGroup"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The updated customer group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.CustomerGroup"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer group with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Delete Customer Group",
        "description": "Deletes a specific customer group.",
        "operationId": "CustomerGroup_DeleteCustomerGroupAsync",
        "parameters": [
          {
            "name": "customergroupId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer group to delete.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer group with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers": {
      "get": {
        "tags": [
          "wawi",
          "Customer"
        ],
        "summary": "Queries of all customers.",
        "description": "Queries of all customers.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "CustomerDomain_QueryCustomers",
        "parameters": [
          {
            "name": "searchTerm",
            "in": "query",
            "description": "The search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchOperator",
            "in": "query",
            "description": "The type of search used. Defaults to StartsWith.",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/JTL.Wawi.Kundenverwaltung.Core.Contracts.CustomerDomain.Queries.CustomerSearchOperator"
                }
              ]
            }
          },
          {
            "name": "searchField",
            "in": "query",
            "style": "form",
            "explode": true,
            "description": "The fields to search in. Defaults to all available fields if not specified.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JTL.Wawi.Kundenverwaltung.Core.Contracts.CustomerDomain.Queries.CustomerSearchField"
              }
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdDateAfter",
            "in": "query",
            "description": "Only include items whose CreatedDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdDateBefore",
            "in": "query",
            "description": "Only include items whose CreatedDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastChangedAfter",
            "in": "query",
            "description": "Only include items whose LastChanged is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastChangedBefore",
            "in": "query",
            "description": "Only include items whose LastChanged is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Creates a new customer.",
        "description": "Creates a new customer.",
        "operationId": "CustomerDomain_CreateCustomer",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCustomerCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The customer has been created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCustomerCommandResponse"
                }
              }
            }
          },
          "409": {
            "description": "The given customer number is already assigned.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/customers/{customerId}": {
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Delete Customer",
        "description": "Deletes a specific customer.",
        "operationId": "Customer_DeleteCustomerAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer to delete.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 230,
        "x-stability-level": "stable"
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Updates a customer.",
        "description": "Updates a customer.",
        "operationId": "CustomerDomain_UpdateCustomer",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateCustomerCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The customer has been updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateCustomerCommandResponse"
                }
              }
            }
          },
          "409": {
            "description": "The given customer number is already assigned.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Retrieves a customer by its ID.",
        "description": "Retrieves a customer by its ID.",
        "operationId": "CustomerDomain_GetCustomerById",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.Customer"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/customers/{customerId}/bank-accounts": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Query Customer Bank Accounts",
        "description": "Queries all bank accounts for a specific customer.",
        "operationId": "Customer_QueryCustomerBankAccountsAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the bank accounts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested bank accounts of the customer.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerBankAccount"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 500,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create Customer Bank Account",
        "description": "Creates a new bank account for a specific customer.",
        "operationId": "Customer_CreateCustomerBankAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the bank accounts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerBankAccount",
          "description": "The bank account of the customer to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CreateCustomerBankAccount"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created bank account of the customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerBankAccount"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 510,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/bank-accounts/{customerBankAccountId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get Customer Bank Account",
        "description": "Gets a specific bank account.",
        "operationId": "Customer_GetCustomerBankAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the bank accounts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "customerBankAccountId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer bank account.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KontoDatenKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the customer bank account for the given ID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerBankAccount"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer bank account with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 505,
        "x-stability-level": "stable"
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Update Customer Bank Account",
        "description": "Updates a specific bank account.",
        "operationId": "Customer_UpdateCustomerBankAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the bank accounts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "customerBankAccountId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer bank account.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KontoDatenKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerBankAccount",
          "description": "The customer bank account to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.UpdateCustomerBankAccount"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer bank account with the given ID exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 520,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Delete Customer Bank Account",
        "description": "Deletes a specific bank account.",
        "operationId": "Customer_DeleteCustomerBankAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the bank accounts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "customerBankAccountId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer bank account.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KontoDatenKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer bank account with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 530,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/contacts": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Query Customer Contacts",
        "description": "Queries all contacts for a specific customer.",
        "operationId": "Customer_QueryCustomerContactsAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the contacts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested contacts of the customer.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerContact"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create Customer Contact",
        "description": "Creates a new customer contact.",
        "operationId": "Customer_CreateCustomerContactAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the contacts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerContact",
          "description": "The contact of the customer to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CreateCustomerContact"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created contact of the customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerContact"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 410,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/contacts/{customerContactId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get Customer Contact",
        "description": "Gets a specific contact from a customer.",
        "operationId": "Customer_GetCustomerContactAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "customerContactId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer contact.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AnsprechpartnerKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the customer contact for the given ID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerContact"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No contact with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 405,
        "x-stability-level": "stable"
      },
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Update Customer Contact",
        "description": "Updates a specific customer contact.",
        "operationId": "Customer_UpdateCustomerContactAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the contacts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "customerContactId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer contact.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AnsprechpartnerKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customerContact",
          "description": "The customer contact to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.UpdateCustomerContact"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer contact with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 420,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Delete Customer Contact",
        "description": "Deletes a specific customer contact.",
        "operationId": "Customer_DeleteCustomerContactAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the contacts belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "customerContactId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer contact.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AnsprechpartnerKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer contact with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 430,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/custom-fields": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Query Customer Custom Field Values",
        "description": "Queries all custom fields and corresponding values for a specific customer.",
        "operationId": "Customer_QueryCustomerCustomFieldValuesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the custom field belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested custom fields values for a customer .",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomFieldValue"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 710,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/custom-fields/{customfieldId}": {
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Update Customer Custom Field",
        "description": "Updates the value of a specific custom field for a given customer.",
        "operationId": "Customer_UpdateCustomerCustomFieldAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the custom field belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "customfieldId",
            "in": "path",
            "required": true,
            "description": "The ID of the custom field that should be updated.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customFieldValue",
          "description": "The custom field value.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateCustomFieldValue"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 720,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Delete Customer Custom Field",
        "description": "Deletes the value for a specific customer field for a given customer.",
        "operationId": "Customer_DeleteCustomerCustomFieldAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the custom field belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "customfieldId",
            "in": "path",
            "required": true,
            "description": "The ID of the custom field that should be deleted.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No customer with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 730,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/notes": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Query Customer Notes",
        "description": "Queries all notes for a specific customer.",
        "operationId": "Customer_QueryCustomerNotesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested notes of the customer.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Note"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 600,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create Customer Note",
        "description": "Creates a new note for a specific customer.",
        "operationId": "Customer_CreateCustomerNoteAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "note",
          "description": "The note of the customer to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateNote"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created note of the customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Note"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 610,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/notes/{noteId}": {
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Update Customer Note",
        "description": "Updates a specific note for a customer.",
        "operationId": "Customer_UpdateCustomerNoteAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "noteId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.NotizKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "note",
          "description": "The note to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateNote"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No note with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 620,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Delete Customer Note",
        "description": "Deletes a specific note for a customer.",
        "operationId": "Customer_DeleteCustomerNoteAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "noteId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.NotizKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No note with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 630,
        "x-stability-level": "stable"
      },
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get Customer Note",
        "description": "Gets a specific note from a customer.",
        "operationId": "Customer_GetCustomerNoteAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 1
          },
          {
            "name": "noteId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.NotizKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the customer for the given ID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Note"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No note with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 630,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/workflow-events/{workflowEventId}": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Trigger Customer Workflow Event",
        "description": "Triggers a specific workflow event for a given customer.",
        "operationId": "Customer_TriggerCustomerWorkflowEventAsync",
        "parameters": [
          {
            "name": "workflowEventId",
            "in": "path",
            "required": true,
            "description": "The ID of the event that should be started.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerWorkflowEvent"
            },
            "x-position": 1
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer for which the workflow event should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/{customerId}/workflows": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Trigger Customer Workflow",
        "description": "Triggers a manual workflow for a given customer.",
        "operationId": "Customer_TriggerCustomerWorkflowAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The ID of the customer for which the manual workflow should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "workflow",
          "description": "The manual workflow to trigger.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateWorkflowEvent"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.write"
            ]
          }
        ],
        "x-sort": 2010,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/custom-fields": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Query Customer Custom Fields",
        "description": "Queries all custom fields available for a customer.",
        "operationId": "Customer_QueryCustomerCustomFieldsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested custom fields for items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomField"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 700,
        "x-stability-level": "stable"
      }
    },
    "/v2/customers/workflows": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Query Customer Workflows",
        "description": "Queries all manual workflows available for customers.",
        "operationId": "Customer_QueryCustomerWorkflowsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All manual workflows for customers that could be triggered via REST-API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.WorkflowEvent"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "customers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "customers.read"
            ]
          }
        ],
        "x-sort": 2000,
        "x-stability-level": "stable"
      }
    },
    "/v2/delivery-notes": {
      "get": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Query Delivery Notes",
        "description": "Queries all delivery notes.",
        "operationId": "DeliveryNote_QueryDeliveryNotesAsync",
        "parameters": [
          {
            "name": "salesOrderNumber",
            "in": "query",
            "description": "Search for a specific sales order number.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderNumberId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "customerId",
            "in": "query",
            "description": "Gets the unique identifier for the customer.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 3
          },
          {
            "name": "IsExisting",
            "in": "query",
            "description": "Gets a value indicating whether the customer key represents an existing customer.",
            "schema": {
              "type": "boolean"
            },
            "x-position": 4
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 5
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 6
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all non-pending delivery notes.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNote"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-sort": 100,
        "x-stability-level": "draft"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}": {
      "get": {
        "tags": [
          "wawi",
          "Delivery Note"
        ],
        "summary": "Returns a single delivery note by its ID.",
        "description": "Returns a single delivery note by its ID.",
        "operationId": "Delivery_GetDeliveryNoteById",
        "parameters": [
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the delivery note to be retrieved.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNote"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}/line-items": {
      "get": {
        "tags": [
          "wawi",
          "Delivery Note"
        ],
        "summary": "Returns the line items of a specific delivery note.",
        "description": "Returns the line items of a specific delivery note.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Delivery_QueryDeliveryNoteLineItemsByDeliveryNoteId",
        "parameters": [
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the delivery note whose line items are to be retrieved.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNoteLineItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}/output/mail": {
      "post": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Mail Delivery Note",
        "description": "Executes the mailing of a delivery note.",
        "operationId": "DeliveryNote_MailDeliveryNoteAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for which the mail should start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The MailJob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}/output/pdf": {
      "post": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Pdf Delivery Note",
        "description": "Creates a PDF for a delivery note.",
        "operationId": "DeliveryNote_PdfDeliveryNoteAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for which the creation of a PDF should start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The filestream of the created PDF.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}/output/print": {
      "post": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Print Delivery Note",
        "description": "Prints a delivery note.",
        "operationId": "DeliveryNote_PrintDeliveryNoteAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "printer",
            "in": "query",
            "description": "The target printer to print. The printer is mandatory if no user with own printer configuration is available.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for which the print should start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The Printjob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.print"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.print"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}/packages": {
      "get": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Get Delivery Note Packages",
        "description": "Gets all packages for a specific delivery note.",
        "operationId": "DeliveryNote_GetDeliveryNotePackagesAsync",
        "parameters": [
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the delivery note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the packages for the given delivery note.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNotePackage"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No delivery note order with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "draft"
      },
      "post": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Post Package Data For Delivery Note",
        "description": "Transmit Package Data",
        "operationId": "DeliveryNote_PostPackageDataForDeliveryNoteAsync",
        "parameters": [
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the delivery note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "package",
          "description": "The packages to create.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.CreateDeliveryNotePackagePosting"
                }
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "All packages that have been created for the delivery note.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNotePackage"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No delivery note order with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.write"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "draft"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}/packages/{packageId}": {
      "patch": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Patch Package Data",
        "description": "Transmit Package Data",
        "operationId": "DeliveryNote_PatchPackageDataAsync",
        "parameters": [
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the delivery note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            },
            "x-position": 2
          },
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "description": "The ID of the package.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "package",
          "description": "The package to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.UpdateDeliveryNotePackagePosting"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Returns the package that has been updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNotePackage"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No delivery note order with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.write"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "draft"
      }
    },
    "/v2/delivery-notes/{deliveryNoteId}/workflow-events/{workflowEventId}": {
      "post": {
        "tags": [
          "Delivery Note"
        ],
        "summary": "Trigger Delivery Note Workflow Event",
        "description": "Triggers a specific workflow event for a given delivery note.",
        "operationId": "DeliveryNote_TriggerDeliveryNoteWorkflowEventAsync",
        "parameters": [
          {
            "name": "workflowEventId",
            "in": "path",
            "required": true,
            "description": "The ID of the event that should be started.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNoteWorkflowEvent"
            },
            "x-position": 1
          },
          {
            "name": "deliveryNoteId",
            "in": "path",
            "required": true,
            "description": "The ID of the delivery note for which the workflow event should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.write"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/extensions": {
      "get": {
        "tags": [
          "Extensibility"
        ],
        "summary": "Get Extensions",
        "description": "Returns the installed extensions.",
        "operationId": "Extensibility_GetExtensionsAsync",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The installed extensions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Extensibility.Extension"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "extensibility.integration"
            ]
          },
          {
            "oauth2-client-credentials": [
              "extensibility.integration"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      },
      "post": {
        "tags": [
          "Extensibility"
        ],
        "summary": "Create Extension",
        "description": "Creates a new extension and validate the signature of the manifest.",
        "operationId": "Extensibility_CreateExtensionAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "item",
          "description": "The relevant information of the extension.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.CreateExtension"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The new created extension.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.Extension"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "extensibility.integration"
            ]
          },
          {
            "oauth2-client-credentials": [
              "extensibility.integration"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/extensions/{extensionId}": {
      "get": {
        "tags": [
          "Extensibility"
        ],
        "summary": "Get Extension",
        "description": "Returns the requested extension.",
        "operationId": "Extensibility_GetExtensionAsync",
        "parameters": [
          {
            "name": "extensionId",
            "in": "path",
            "required": true,
            "description": "The UUID of the extension.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Extensibility.Core.Contracts.Domain.Keys.ExtensionKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested extension.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.Extension"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No extension with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "extensibility.integration"
            ]
          },
          {
            "oauth2-client-credentials": [
              "extensibility.integration"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      },
      "patch": {
        "tags": [
          "Extensibility"
        ],
        "summary": "Update Extension",
        "description": "Updates an existing extension.",
        "operationId": "Extensibility_UpdateExtensionAsync",
        "parameters": [
          {
            "name": "extensionId",
            "in": "path",
            "required": true,
            "description": "The ID of the extension.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Extensibility.Core.Contracts.Domain.Keys.ExtensionKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "item",
          "description": "The relevant information of the extension.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.UpdateExtension"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The changed extension.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.Extension"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No extension with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "extensibility.integration"
            ]
          },
          {
            "oauth2-client-credentials": [
              "extensibility.integration"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      },
      "delete": {
        "tags": [
          "Extensibility"
        ],
        "summary": "Delete Extension",
        "description": "Deletes an existing extension.",
        "operationId": "Extensibility_DeleteExtensionAsync",
        "parameters": [
          {
            "name": "extensionId",
            "in": "path",
            "required": true,
            "description": "The ID of the extension.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Extensibility.Core.Contracts.Domain.Keys.ExtensionKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "The extension has been deleted.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No extension with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "extensibility.integration"
            ]
          },
          {
            "oauth2-client-credentials": [
              "extensibility.integration"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/extensions/{extensionId}/manifest": {
      "put": {
        "tags": [
          "Extensibility"
        ],
        "summary": "Put Extension Manifest",
        "description": "Pushes the extension manifest.",
        "operationId": "Extensibility_PutExtensionManifestAsync",
        "parameters": [
          {
            "name": "extensionId",
            "in": "path",
            "required": true,
            "description": "The ID of the extension.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Extensibility.Core.Contracts.Domain.Keys.ExtensionKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "manifest",
          "description": "The manifest of the extension.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.PutExtensionManifest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The changed extension.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No extension with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "412": {
            "description": "The signature is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "extensibility.integration"
            ]
          },
          {
            "oauth2-client-credentials": [
              "extensibility.integration"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/features": {
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get Features",
        "description": "Returns the available feature sets with release state and API version.",
        "operationId": "Features_GetFeaturesAsync",
        "responses": {
          "200": {
            "description": "The available features with release state and API version.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Features.FeatureInfo"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/info": {
      "get": {
        "tags": [
          "Info"
        ],
        "summary": "Get Status",
        "description": "Returns the status of the API.",
        "operationId": "Info_GetStatusAsync",
        "responses": {
          "200": {
            "description": "Status of the API.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Info.Status"
                }
              }
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/internals/externaldocument-lineitems": {
      "get": {
        "tags": [
          "wawi",
          "Jera"
        ],
        "summary": "Delivers a queryable overview list of all external M&A document positions",
        "description": "Delivers a queryable overview list of all external M&A document positions\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "JeraDomain_QueryExternalDocumentLineItemsInternal",
        "parameters": [
          {
            "name": "externalDocumentTransactionId",
            "in": "query",
            "required": true,
            "description": "External Document Transaction ID",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ExternerBelegTransaktionKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentLineItemInternal"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "jera.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "jera.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/internals/externaldocuments": {
      "get": {
        "tags": [
          "wawi",
          "Jera"
        ],
        "summary": "Delivers a queryable overview list of all external documents",
        "description": "Delivers a queryable overview list of all external documents\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "JeraDomain_QueryExternalDocumentsInternal",
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "description": "Start Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "description": "End Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "companyId",
            "in": "query",
            "required": true,
            "description": "Company",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "externalDocumentDateAfter",
            "in": "query",
            "description": "Only include items whose ExternalDocumentDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "externalDocumentDateBefore",
            "in": "query",
            "description": "Only include items whose ExternalDocumentDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateAfter",
            "in": "query",
            "description": "Only include items whose ServiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateBefore",
            "in": "query",
            "description": "Only include items whose ServiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "payDateAfter",
            "in": "query",
            "description": "Only include items whose PayDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "payDateBefore",
            "in": "query",
            "description": "Only include items whose PayDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "orderDateAfter",
            "in": "query",
            "description": "Only include items whose OrderDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "orderDateBefore",
            "in": "query",
            "description": "Only include items whose OrderDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "shipmentDateAfter",
            "in": "query",
            "description": "Only include items whose ShipmentDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "shipmentDateBefore",
            "in": "query",
            "description": "Only include items whose ShipmentDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentInternal"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "jera.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "jera.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/internals/invoicecorrection-lineitems": {
      "get": {
        "tags": [
          "wawi",
          "Jera"
        ],
        "summary": "Delivers a queryable overview list of all invoice correction line items",
        "description": "Delivers a queryable overview list of all invoice correction line items\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "JeraDomain_QuerySalesInvoiceCorrectionLineItemsInternal",
        "parameters": [
          {
            "name": "salesInvoiceCorrectionId",
            "in": "query",
            "required": true,
            "description": "Sales Invoice Correction ID",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionLineItemInternal"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "jera.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "jera.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/internals/invoicecorrections": {
      "get": {
        "tags": [
          "wawi",
          "Jera"
        ],
        "summary": "Delivers a queryable overview list of all invoice corrections",
        "description": "Delivers a queryable overview list of all invoice corrections\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "JeraDomain_QuerySalesInvoiceCorrectionsInternal",
        "parameters": [
          {
            "name": "depositAttributeName",
            "in": "query",
            "required": true,
            "description": "Deposit Attribute Name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "description": "Start Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "description": "End Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "companyId",
            "in": "query",
            "required": true,
            "description": "Company",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "salesInvoiceCorrectionDateAfter",
            "in": "query",
            "description": "Only include items whose SalesInvoiceCorrectionDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesInvoiceCorrectionDateBefore",
            "in": "query",
            "description": "Only include items whose SalesInvoiceCorrectionDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesInvoiceDateAfter",
            "in": "query",
            "description": "Only include items whose SalesInvoiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesInvoiceDateBefore",
            "in": "query",
            "description": "Only include items whose SalesInvoiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdInErpDateAfter",
            "in": "query",
            "description": "Only include items whose CreatedInErpDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdInErpDateBefore",
            "in": "query",
            "description": "Only include items whose CreatedInErpDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateAfter",
            "in": "query",
            "description": "Only include items whose ServiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateBefore",
            "in": "query",
            "description": "Only include items whose ServiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "deliveryDateAfter",
            "in": "query",
            "description": "Only include items whose DeliveryDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "deliveryDateBefore",
            "in": "query",
            "description": "Only include items whose DeliveryDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateAfter",
            "in": "query",
            "description": "Only include items whose LastShippingDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateBefore",
            "in": "query",
            "description": "Only include items whose LastShippingDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionInternal"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "jera.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "jera.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/internals/salesinvoice-cancellations": {
      "get": {
        "tags": [
          "wawi",
          "Jera"
        ],
        "summary": "Delivers a queryable overview list of all invoice cancellations",
        "description": "Delivers a queryable overview list of all invoice cancellations\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "JeraDomain_QuerySalesInvoiceCancellationsInternal",
        "parameters": [
          {
            "name": "depositAttributeName",
            "in": "query",
            "required": true,
            "description": "Deposit Attribute Name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "description": "Start Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "description": "End Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "companyId",
            "in": "query",
            "required": true,
            "description": "Company",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "salesInvoiceCancellationDateAfter",
            "in": "query",
            "description": "Only include items whose SalesInvoiceCancellationDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesInvoiceCancellationDateBefore",
            "in": "query",
            "description": "Only include items whose SalesInvoiceCancellationDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdInErpDateAfter",
            "in": "query",
            "description": "Only include items whose CreatedInErpDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdInErpDateBefore",
            "in": "query",
            "description": "Only include items whose CreatedInErpDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateAfter",
            "in": "query",
            "description": "Only include items whose ServiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateBefore",
            "in": "query",
            "description": "Only include items whose ServiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateAfter",
            "in": "query",
            "description": "Only include items whose LastShippingDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateBefore",
            "in": "query",
            "description": "Only include items whose LastShippingDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "valueDateAfter",
            "in": "query",
            "description": "Only include items whose ValueDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "valueDateBefore",
            "in": "query",
            "description": "Only include items whose ValueDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCancellationInternal"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "jera.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "jera.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/internals/salesinvoice-lineitems": {
      "get": {
        "tags": [
          "wawi",
          "Jera"
        ],
        "summary": "Delivers a queryable overview list of all invoice positions",
        "description": "Delivers a queryable overview list of all invoice positions\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "JeraDomain_QuerySalesInvoiceLineItemsInternal",
        "parameters": [
          {
            "name": "salesInvoiceId",
            "in": "query",
            "required": true,
            "description": "Sales Invoice ID",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceLineItemInternal"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "jera.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "jera.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/internals/salesinvoices": {
      "get": {
        "tags": [
          "wawi",
          "Jera"
        ],
        "summary": "Delivers a queryable overview list of all sales invoices",
        "description": "Delivers a queryable overview list of all sales invoices\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "JeraDomain_QuerySalesInvoicesInternal",
        "parameters": [
          {
            "name": "depositAttributeName",
            "in": "query",
            "required": true,
            "description": "Deposit Attribute Name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": true,
            "description": "Start Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "required": true,
            "description": "End Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "companyId",
            "in": "query",
            "required": true,
            "description": "Company",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "salesInvoiceDateAfter",
            "in": "query",
            "description": "Only include items whose SalesInvoiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesInvoiceDateBefore",
            "in": "query",
            "description": "Only include items whose SalesInvoiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "valueDateAfter",
            "in": "query",
            "description": "Only include items whose ValueDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "valueDateBefore",
            "in": "query",
            "description": "Only include items whose ValueDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateAfter",
            "in": "query",
            "description": "Only include items whose ServiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateBefore",
            "in": "query",
            "description": "Only include items whose ServiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateAfter",
            "in": "query",
            "description": "Only include items whose LastShippingDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateBefore",
            "in": "query",
            "description": "Only include items whose LastShippingDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdInErpDateAfter",
            "in": "query",
            "description": "Only include items whose CreatedInErpDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdInErpDateBefore",
            "in": "query",
            "description": "Only include items whose CreatedInErpDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceInternal"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "jera.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "jera.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items": {
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Queries all items.",
        "description": "Queries all items.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "ItemOverview_QueryItems",
        "parameters": [
          {
            "name": "searchTerm",
            "in": "query",
            "description": "The search term.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchOperator",
            "in": "query",
            "description": "The type of search used.",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/JTL.Wawi.ArtikelVerwaltung.Core.Contracts.ErweiterteSuche.SerializableFilterObjects.SearchOperator"
                }
              ]
            }
          },
          {
            "name": "searchField",
            "in": "query",
            "style": "form",
            "explode": true,
            "description": "The fields that will be searched.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JTL.Wawi.ArtikelVerwaltung.Core.Contracts.ErweiterteSuche.SerializableFilterObjects.ItemSearchField"
              }
            }
          },
          {
            "name": "extendedFilter",
            "in": "query",
            "description": "The serialized XML from the extended filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdDateAfter",
            "in": "query",
            "description": "Only include items whose CreatedDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdDateBefore",
            "in": "query",
            "description": "Only include items whose CreatedDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedDateAfter",
            "in": "query",
            "description": "Only include items whose ModifiedDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedDateBefore",
            "in": "query",
            "description": "Only include items whose ModifiedDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedTimestampAfter",
            "in": "query",
            "description": "Only include items whose ModifiedTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "modifiedTimestampBefore",
            "in": "query",
            "description": "Only include items whose ModifiedTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "releaseDateAfter",
            "in": "query",
            "description": "Only include items whose ReleaseDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "releaseDateBefore",
            "in": "query",
            "description": "Only include items whose ReleaseDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastPurchaseDateAfter",
            "in": "query",
            "description": "Only include items whose LastPurchaseDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastPurchaseDateBefore",
            "in": "query",
            "description": "Only include items whose LastPurchaseDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemOverview.ItemListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Create Item",
        "description": "Creates a new regular item with all specified properties. This command enables complete configuration of an item including identifiers, descriptions, prices, and measurements.",
        "operationId": "Itemdetails_CreateItem",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Item was successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. Each validation error names the property it belongs to, for example SalesChannels when a listed sales channel does not exist or cannot be activated for an item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "A referenced entity was not found, for example a category. It is also answered when a listed sales channel stopped being activatable after the request was validated and before the item was created, so when it was removed, deactivated or turned into a JTL-BI channel (error code SalesChannelNotFound). No item is created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{CopyDetailsFromItemId}/copy": {
      "post": {
        "tags": [
          "Item"
        ],
        "operationId": "CopyItemdetails_CopyItemdetails",
        "parameters": [
          {
            "name": "CopyDetailsFromItemId",
            "x-originalName": "copyDetailsFromItemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CopyItemdetailsCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Itemdetails successfully copied to the specified items.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CopyItemdetailsCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{DuplicateItemId}/duplicate": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Creates one or more duplicates of an existing item with specified duplication options.",
        "description": "Creates one or more duplicates of an existing item with specified duplication options.",
        "operationId": "DuplicateItem_DuplicateItems",
        "parameters": [
          {
            "name": "DuplicateItemId",
            "x-originalName": "duplicateItemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.DuplicateItemsCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Items successfully duplicated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.DuplicateItemsCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}": {
      "patch": {
        "tags": [
          "Item"
        ],
        "summary": "Change Item",
        "description": "Modifies an existing regular item with all specified properties. This command enables complete reconfiguration of an item including identifiers, descriptions, prices, measurements, and miscellaneous information.",
        "operationId": "Itemdetails_ChangeItem",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ChangeItemCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Item was successfully modified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ChangeItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. Each validation error names the property it belongs to, for example SalesChannels when the same sales channel ID is listed more than once, or when a listed sales channel does not resolve to an activatable sales channel - either because its platform type has no shop of its own (Amazon, eBay, JTL-Wawi itself), or because it is not visible as a sales channel for this item (no matching shop, a JTL-BI shop, or a deactivated shop). Every validation error carries the error code ValidationError. Consistent with CreateItem, which answers the same way for the same case.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "A sales channel listed in SalesChannels with IncludeItemImages set to true does not support item images (error code SalesChannelImagesReadOnly). Only raised for a sales channel that is not currently active for the item, since IncludeItemImages has no effect otherwise.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "No item with the specified ID was found (error code ItemNotFound), or a sales channel listed in SalesChannels passes the initial validation but has no registered provider entry, for example a missing shop-account configuration (error code SalesChannelNotFound).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Retrieves a single article by its ID including all sub-elements",
        "description": "Retrieves a single article by its ID including all sub-elements",
        "operationId": "Itemdetails_GetItemById",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemdetailsItem"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/children/{childItemId}": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Assign Child Item To Parent",
        "description": "Assign child items to a specific parent",
        "operationId": "Item_AssignChildItemToParentAsync",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The unique id of the item.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "childItemId",
            "in": "path",
            "required": true,
            "description": "The unique id of the item that should be assigned as a variation child to the item.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "variationValueIds",
          "description": "The unique IDs of the variation values from the parent that should be assigned to the child. This must be an exact match and no other child can have these exact variation values.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 1090,
        "x-stability-level": "stable"
      }
    },
    "/v2/items/{itemId}/sales-channels/{salesChannelId}/activate": {
      "post": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Activates a sales channel for an item.",
        "description": "Activates a sales channel for an item.",
        "operationId": "SalesChannels_ActivateSalesChannelForItem",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The ID of the item the specified sales channel will be activated for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "The sales channel that will be activated for the specified item. Tenant-local, composite identifier, not a UUID. Only specific sales channels are allowed for this operation and are specified in the sales channel endpoint (GET).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ActivateSalesChannelForItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.Endpoints.V2.SalesChannels.ActivateSalesChannelForItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The sales channel was successfully activated for the item. No content is returned. The operation is idempotent: activating a sales channel that is already active for the item is not an error and returns 204 as well.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The specified sales channel ID could not be parsed (error code FormatNotParsable).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No item with the specified ID was found (error code ItemNotFound), or no sales channel with the specified ID was found (error code SalesChannelNotFound).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/sales-channels/{salesChannelId}/deactivate": {
      "post": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Deactivates a sales channel for an item.",
        "description": "Deactivates a sales channel for an item.",
        "operationId": "SalesChannels_DeactivateSalesChannelForItem",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The ID of the item the specified sales channel will be deactivated for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "The sales channel that will be deactivated for the specified item. Tenant-local, composite identifier, not a UUID. Only specific sales channels are allowed for this operation and are specified in the sales channel endpoint (GET). The activation status of that sales channel for the item images remains unchanged to allow the original listing to be restored.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "The sales channel was successfully deactivated for the item. No content is returned. The operation is idempotent: deactivating a sales channel that is already inactive for the item is not an error and returns 204 as well.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The specified sales channel ID could not be parsed (error code FormatNotParsable).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No item with the specified ID was found (error code ItemNotFound), or no sales channel with the specified ID was found (error code SalesChannelNotFound).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/standard-items/convert": {
      "post": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Convert Stock Item To Standard Item",
        "description": "Converts a stock item back into a standard item, so that its stock is no longer managed in warehouses. The item keeps its ID and all other properties. Three settings are reset as part of the transition and converting back does not restore them: the per-warehouse minimum and maximum stock levels written through PATCH /v2/items/{itemId}/warehouse-constraints are cleared, allowNegativeStock is switched off, and includeSupplierStock is switched off on every supplier of the item. Use POST /v2/items/{itemId}/stock-items/convert for the opposite direction.",
        "operationId": "Itemdetails_ConvertStockItemToStandardItem",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "Unique ID of the stock item that is converted back into a standard item.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ConvertStockItemToStandardItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.ConvertStockItemToStandardItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The stock item was successfully converted back into a standard item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ConvertStockItemToStandardItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No item with the specified ID was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The item exists but the conversion does not fit its current state. Either the item is already a standard item (error code ItemIsAlreadyAStandardItem), or one of these conditions blocks the transition: it still has stock and writeOffExistingStock is false; it still has Amazon FBA stock; it is on an active pick list; batch, serial number or shelf life expiration date management is still enabled; it uses subset management; it is a bill-of-materials item and at least one of its components is stock-managed - a bill-of-materials item whose components are all unmanaged is not stock-managed itself and is answered with error code ItemIsAlreadyAStandardItem instead; it has a variation combination child with stock management; it is a packaging item; it is used in a fulfilment network; or an installed plug-in refuses the transition. The response names the condition that blocked it, under the error code StockManagementCannotBeDisabled.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/stock-items/convert": {
      "post": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Convert Standard Item To Stock Item",
        "description": "Converts an existing standard item into a stock item, so that its stock is managed in warehouses from then on. The full stock management configuration is mandatory, because the item has no such configuration to fall back on yet. Use POST /v2/items/{itemId}/standard-items/convert for the opposite direction.",
        "operationId": "Itemdetails_ConvertStandardItemToStockItem",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "Unique ID of the item that is converted into a stock item.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ConvertStandardItemToStockItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.ConvertStandardItemToStockItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The item was successfully converted into a stock item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ConvertStandardItemToStockItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The requested combination is not valid. Serial number tracking cannot be combined with batch management, shelf life expiration dates or divisible stock (error code IncompatibleStockManagementCombination), and divisibilityType Subset cannot be set through this endpoint (error code SubsetDivisibilityNotWritable).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No item with the specified ID was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The item exists but the conversion does not fit its current state. Either the item is already a stock item (error code ItemIsAlreadyAStockItem) - use PATCH /v2/items/{itemId}/stock-management to change its configuration - or one of these conditions blocks the transition: it is a bill-of-materials item and none of its components is stock-managed; it is a variation combination parent; it is on an active pick list; it has stock in a fulfilment warehouse; or an installed plug-in refuses the transition (error code StockManagementCannotBeEnabled). The response names the condition that blocked it. Applying the mandatory configuration can additionally fail with the same error codes as PATCH /v2/items/{itemId}/stock-management.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/stock-management": {
      "patch": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Change Stock Item",
        "description": "Updates the stock management configuration of an existing stock item. Every field is optional - omitted fields keep their current value, and a request that supplies no setting at all succeeds with 200 without changing anything. The item must already be a stock item; use POST /v2/items/{itemId}/stock-items/convert to turn a standard item into one first.",
        "operationId": "Itemdetails_ChangeStockItem",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "Unique ID of the stock item whose stock management configuration is updated.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ChangeStockItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.ChangeStockItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The stock management configuration was successfully updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ChangeStockItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The requested combination is not valid. Serial number tracking cannot be combined with batch management, shelf life expiration dates or divisible stock (error code IncompatibleStockManagementCombination), and divisibilityType Subset cannot be set through this endpoint (error code SubsetDivisibilityNotWritable).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No item with the specified ID was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The item exists but the change does not fit its current state. Either the item is not a stock item (error code ItemIsNotAStockItem) - use POST /v2/items/{itemId}/stock-items/convert first - or one of these conditions blocks the requested setting: switching serialNumberTrackingType away from 'None' requires the item to have no stock and no goods receipts; divisibilityType 'Divisible', hasBatch and hasShelfLifeExpirationDate are each refused while serial numbers are in use; hasBatch and hasShelfLifeExpirationDate additionally require no stock and no goods receipts; or the item type does not permit the setting at all, for example a bill-of-materials item, a variation combination parent, a packaging item or an item used in a fulfilment network. The response names the condition that blocked it, and its error code identifies which setting was refused: SerialNumberTrackingNotAllowed, SerialNumberTrackingCannotBeDisabled, BatchManagementNotAllowed, BatchManagementCannotBeDisabled, ShelfLifeExpirationDateNotAllowed, ShelfLifeExpirationDateCannotBeDisabled, DivisibilityNotAllowed, DivisibilityCannotBeDisabled or NegativeStockNotAllowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/stocks": {
      "get": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Determines the stock of an item across all warehouses.",
        "description": "Determines the stock of an item across all warehouses.",
        "operationId": "Stock_GetStockByItemId",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The ID of the item for which stock is to be determined across all warehouses.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Stock.ItemStock"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/suppliers": {
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Queries suppliers for a specific item.",
        "description": "Queries suppliers for a specific item.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "ItemSupplierOverview_QueryItemSuppliersById",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The ID of the item.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "stockLevelLastModifiedAfter",
            "in": "query",
            "description": "Only include items whose StockLevelLastModified is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "stockLevelLastModifiedBefore",
            "in": "query",
            "description": "Only include items whose StockLevelLastModified is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemSupplierOverview.ItemSupplierListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Add Item Supplier",
        "description": "Adds supplier information to an existing regular item. This command allows the association of suppliers with the item, including details such as purchase prices, delivery times, and order intervals.",
        "operationId": "Itemdetails_AddItemSupplier",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemSupplierCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Supplier was successfully added to the item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemSupplierCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/variation/{variationId}": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Adds a new value to an existing item variation.",
        "description": "Adds a new value to an existing item variation.",
        "operationId": "Itemdetails_AddItemVariationValue",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "variationId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationValueCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "VariationValue was successfully added to the item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationValueCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/variations": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Adds a new variation (e.g., color, size) to an existing item. Variations allow customers to select different product options.",
        "description": "Adds a new variation (e.g., color, size) to an existing item. Variations allow customers to select different product options.",
        "operationId": "Itemdetails_AddItemVariation",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Variation was successfully added to the item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/variations/{variationId}": {
      "delete": {
        "tags": [
          "Item"
        ],
        "summary": "Removes an existing variation from an item. All associated variation values and combinations will also be removed.",
        "description": "Removes an existing variation from an item. All associated variation values and combinations will also be removed.",
        "operationId": "Itemdetails_DeleteItemVariation",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 1
          },
          {
            "name": "variationId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Variation was successfully removed from the item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DeleteItemVariationCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/variationvalues/{variationValueId}": {
      "delete": {
        "tags": [
          "Item"
        ],
        "summary": "Removes a specific value from an item variation.",
        "description": "Removes a specific value from an item variation.",
        "operationId": "Itemdetails_DeleteItemVariationValue",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 1
          },
          {
            "name": "variationValueId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "VariationValue was successfully removed from the item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DeleteItemVariationValueCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/{itemId}/workflow-events": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Trigger Item Workflow Event",
        "description": "Trigger a specific workflow event for a given item",
        "operationId": "Item_TriggerItemWorkflowEventAsync",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The id of the item for that the manual workflow event should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "workflowEvent",
          "description": "The workflow event.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateWorkflowEvent"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/items/{itemId}/workflow/{workflowEventId}": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Trigger Item Workflow",
        "description": "Trigger a specific workflow event for a given item",
        "operationId": "Item_TriggerItemWorkflowAsync",
        "parameters": [
          {
            "name": "workflowEventId",
            "in": "path",
            "required": true,
            "description": "The id of the event for that the manual workflow event should be started.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Item.ItemWorkflowEvent"
            },
            "x-position": 1
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The id of the item for that the manual workflow event should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/items/custom-fields": {
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Delivers a queryable list of all custom fields metadata for a specific entity type",
        "description": "Delivers a queryable list of all custom fields metadata for a specific entity type\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "CustomFields_QueryCustomFields",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/image-data/{imageId}": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Query Item Image Data",
        "description": "Query the data for a specific item image",
        "operationId": "Item_QueryItemImageDataAsync",
        "parameters": [
          {
            "name": "imageId",
            "in": "path",
            "required": true,
            "description": "The id of the image.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested item data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No image could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "all.read",
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "all.read",
              "items.read"
            ]
          }
        ],
        "x-sort": 610,
        "x-stability-level": "stable"
      }
    },
    "/v2/items/sales-channels/batch": {
      "patch": {
        "tags": [
          "Item"
        ],
        "summary": "Updates the active sales channels for a set of items.",
        "description": "Updates the active sales channels for a set of items.",
        "operationId": "SalesChannels_UpdateItemSalesChannels",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.SalesChannels.UpdateItemSalesChannelsCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Item sales channels were successfully updated.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "An error occurred while updating item sales channels.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/stock-items": {
      "post": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Create Stock Item",
        "description": "Creates a new item that is a stock item from the start, so that its stock is managed in warehouses. Takes the same properties as POST /v2/items, except for three: the optional storageConstraints block is replaced by a mandatory stockManagement block, images are not part of this request - assign them with PATCH /v2/items/{itemId} once the item exists - and salesChannels is not either, activate channels with POST /v2/items/{itemId}/sales-channels/{salesChannelId}/activate. Use POST /v2/items/{itemId}/stock-items/convert to turn an item that already exists into a stock item.",
        "operationId": "Itemdetails_CreateStockItem",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreateStockItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.CreateStockItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Stock item was successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateStockItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The requested combination is not valid. Serial number tracking cannot be combined with batch management, shelf life expiration dates or divisible stock (error code IncompatibleStockManagementCombination), and divisibilityType Subset cannot be set through this endpoint (error code SubsetDivisibilityNotWritable).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/types": {
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Queries all item type informations.",
        "description": "Queries all item type informations.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "ItemTypes_QueryItemTypes",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemTypes.ItemTypeListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/items/workflow-events": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Query Item Workflow Events",
        "description": "Query all workflow events for items",
        "operationId": "Item_QueryItemWorkflowEventsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All manual workflow events for items that could be used to trigger workflow events via REST-API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.WorkflowEvent"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "all.read",
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "all.read",
              "items.read"
            ]
          }
        ],
        "x-sort": 5000,
        "x-stability-level": "stable"
      }
    },
    "/v2/languages/{cultureOrIso}/activate": {
      "post": {
        "tags": [
          "Master Data"
        ],
        "summary": "Activates a language for this ERP instance.",
        "description": "Activates a language for this ERP instance.",
        "operationId": "Languages_ActivateLanguage",
        "parameters": [
          {
            "name": "cultureOrIso",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The language has been activated successfully.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.write",
              "masterdata.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.write",
              "masterdata.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/languages/{cultureOrIso}/deactivate": {
      "post": {
        "tags": [
          "Master Data"
        ],
        "summary": "Deactivates a language for this ERP instance.",
        "description": "Deactivates a language for this ERP instance.",
        "operationId": "Languages_DeactivateLanguage",
        "parameters": [
          {
            "name": "cultureOrIso",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The language has been deactivated successfully.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.write",
              "masterdata.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.write",
              "masterdata.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/languages/activated": {
      "get": {
        "tags": [
          "Master Data"
        ],
        "summary": "Retrieves all languages activated for this ERP instance.",
        "description": "Retrieves all languages activated for this ERP instance.",
        "operationId": "Languages_ListActivatedLanguages",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.PublicApi.DataTransferObjects.V2.Languages.LanguageItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/lot-sizes/{id}": {
      "get": {
        "tags": [
          "Production"
        ],
        "summary": "Retrieves a lot size by its ID.",
        "description": "Retrieves a lot size by its ID.",
        "operationId": "LotSizes_GetLotSizeById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.LotSizeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.LotSizes.LotSize"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/manufacturers": {
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Queries all manufacturers.",
        "description": "Queries all manufacturers.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Manufacturer_QueryManufacturers",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Manufacturer.ManufacturerListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/channels": {
      "get": {
        "tags": [
          "wawi",
          "Channel"
        ],
        "summary": "Lists all marketplace channels.",
        "description": "Lists all marketplace channels.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Channel_QueryMarketplaceChannel",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Channel.MarketplaceChannelListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "channels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "channels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/marketplace/invoicing/exclude-invoice-correction-from-upload": {
      "post": {
        "tags": [
          "Marketplace Invoicing"
        ],
        "summary": "Exclude marketplace invoice corrections from upload.",
        "description": "Exclude marketplace invoice corrections from upload.",
        "operationId": "Invoicing_ExcludeMarketplaceInvoiceCorrectionFromUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ExcludeMarketplaceInvoiceCorrectionFromUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully excluded invoice corrections from upload.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/invoicing/exclude-invoice-correction-pdf-from-upload": {
      "post": {
        "tags": [
          "Marketplace Invoicing"
        ],
        "summary": "Exclude marketplace invoice correction PDFs from upload.",
        "description": "Exclude marketplace invoice correction PDFs from upload.",
        "operationId": "Invoicing_ExcludeMarketplaceInvoiceCorrectionPdfFromUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ExcludeMarketplaceInvoiceCorrectionPdfFromUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully excluded invoice correction PDFs from upload.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/invoicing/exclude-invoice-pdf-from-upload": {
      "post": {
        "tags": [
          "Marketplace Invoicing"
        ],
        "summary": "Exclude marketplace invoice PDFs from upload.",
        "description": "Exclude marketplace invoice PDFs from upload.",
        "operationId": "Invoicing_ExcludeMarketplaceInvoicePdfFromUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ExcludeMarketplaceInvoicePdfFromUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully excluded invoice PDFs from upload.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/invoicing/invoice-correction-pdf-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Invoicing"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceInvoiceCorrectionPdfUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplaceInvoiceCorrectionPdfUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Invoicing_QueryMarketplaceInvoiceCorrectionPdfUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "invoiceCorrectionCreatedAtAfter",
            "in": "query",
            "description": "Only include items whose InvoiceCorrectionCreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "invoiceCorrectionCreatedAtBefore",
            "in": "query",
            "description": "Only include items whose InvoiceCorrectionCreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printStartedAtAfter",
            "in": "query",
            "description": "Only include items whose PrintStartedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printStartedAtBefore",
            "in": "query",
            "description": "Only include items whose PrintStartedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printCompletedAtAfter",
            "in": "query",
            "description": "Only include items whose PrintCompletedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printCompletedAtBefore",
            "in": "query",
            "description": "Only include items whose PrintCompletedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "uploadCompletedAtAfter",
            "in": "query",
            "description": "Only include items whose UploadCompletedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "uploadCompletedAtBefore",
            "in": "query",
            "description": "Only include items whose UploadCompletedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionPdfUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/marketplace/invoicing/invoice-correction-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Invoicing"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceInvoiceCorrectionUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplaceInvoiceCorrectionUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Invoicing_QueryMarketplaceInvoiceCorrectionUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "refundUploadFailedAtAfter",
            "in": "query",
            "description": "Only include items whose RefundUploadFailedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "refundUploadFailedAtBefore",
            "in": "query",
            "description": "Only include items whose RefundUploadFailedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/marketplace/invoicing/invoice-correction-uploads/{orderId}/line-items": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Invoicing"
        ],
        "summary": "Delivers a queryable list of invoice correction upload line items for the given order.",
        "description": "Delivers a queryable list of invoice correction upload line items for the given order.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Invoicing_QueryMarketplaceInvoiceCorrectionUploadLineItem",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "description": "ID of the marketplace order.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadLineItemListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/marketplace/invoicing/invoice-pdf-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Invoicing"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceInvoicePdfUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplaceInvoicePdfUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Invoicing_QueryMarketplaceInvoicePdfUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "invoiceCreatedAtAfter",
            "in": "query",
            "description": "Only include items whose InvoiceCreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "invoiceCreatedAtBefore",
            "in": "query",
            "description": "Only include items whose InvoiceCreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printStartedAtAfter",
            "in": "query",
            "description": "Only include items whose PrintStartedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printStartedAtBefore",
            "in": "query",
            "description": "Only include items whose PrintStartedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printCompletedAtAfter",
            "in": "query",
            "description": "Only include items whose PrintCompletedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printCompletedAtBefore",
            "in": "query",
            "description": "Only include items whose PrintCompletedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "uploadCompletedAtAfter",
            "in": "query",
            "description": "Only include items whose UploadCompletedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "uploadCompletedAtBefore",
            "in": "query",
            "description": "Only include items whose UploadCompletedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/marketplace/invoicing/reset-invoice-correction-pdf-upload-counter": {
      "post": {
        "tags": [
          "Marketplace Invoicing"
        ],
        "summary": "Reset the upload counter for marketplace invoice correction PDFs.",
        "description": "Reset the upload counter for marketplace invoice correction PDFs.",
        "operationId": "Invoicing_ResetMarketplaceInvoiceCorrectionPdfUploadCounter",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ResetMarketplaceInvoiceCorrectionPdfUploadCounterCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset the upload counter for marketplace invoice correction PDFs.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/invoicing/reset-invoice-correction-upload-counter": {
      "post": {
        "tags": [
          "Marketplace Invoicing"
        ],
        "summary": "Reset the upload counter for marketplace invoice corrections.",
        "description": "Reset the upload counter for marketplace invoice corrections.",
        "operationId": "Invoicing_ResetMarketplaceInvoiceCorrectionUploadCounter",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ResetMarketplaceInvoiceCorrectionUploadCounterCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset the upload counter for marketplace invoice corrections.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/invoicing/reset-invoice-pdf-printing": {
      "post": {
        "tags": [
          "Marketplace Invoicing"
        ],
        "summary": "Resets PDF generation for marketplace invoices/invoice corrections so they can be reprinted and uploaded again.",
        "description": "Resets PDF generation for marketplace invoices/invoice corrections so they can be reprinted and uploaded again.",
        "operationId": "Invoicing_ResetMarketplaceInvoicePdfPrinting",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ResetMarketplaceInvoicePdfPrintingCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset PDF generation for invoices/invoice corrections so they can be reprinted and uploaded again.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/notifications": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Notification"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceNotificationListItem",
        "description": "Delivers a queryable overview list of all MarketplaceNotificationListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Notifications_QueryMarketplaceNotification",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "creationDateAfter",
            "in": "query",
            "description": "Only include items whose CreationDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "creationDateBefore",
            "in": "query",
            "description": "Only include items whose CreationDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "notifications.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "notifications.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/notifications/{notificationId}/details": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Notification"
        ],
        "summary": "Delivers a queryable list of notification details for the given notification.",
        "description": "Delivers a queryable list of notification details for the given notification.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Notifications_QueryMarketplaceNotificationDetail",
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "required": true,
            "description": "ID of the marketplace notification.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationDetailListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "notifications.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "notifications.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Offer"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceOfferListItem",
        "description": "Delivers a queryable overview list of all MarketplaceOfferListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Offers_QueryMarketplaceOffer",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "expirationDateAfter",
            "in": "query",
            "description": "Only include items whose ExpirationDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "expirationDateBefore",
            "in": "query",
            "description": "Only include items whose ExpirationDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "activeSinceAfter",
            "in": "query",
            "description": "Only include items whose ActiveSince is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "activeSinceBefore",
            "in": "query",
            "description": "Only include items whose ActiveSince is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "inboundAvailableAtAfter",
            "in": "query",
            "description": "Only include items whose InboundAvailableAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "inboundAvailableAtBefore",
            "in": "query",
            "description": "Only include items whose InboundAvailableAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastUploadAfter",
            "in": "query",
            "description": "Only include items whose LastUpload is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastUploadBefore",
            "in": "query",
            "description": "Only include items whose LastUpload is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "quantityUpdatedAtAfter",
            "in": "query",
            "description": "Only include items whose QuantityUpdatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "quantityUpdatedAtBefore",
            "in": "query",
            "description": "Only include items whose QuantityUpdatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "priceUpdatedAtAfter",
            "in": "query",
            "description": "Only include items whose PriceUpdatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "priceUpdatedAtBefore",
            "in": "query",
            "description": "Only include items whose PriceUpdatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "statusReceivedAtAfter",
            "in": "query",
            "description": "Only include items whose StatusReceivedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "statusReceivedAtBefore",
            "in": "query",
            "description": "Only include items whose StatusReceivedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/{offerId}/failures": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Offer"
        ],
        "summary": "Delivers a queryable list of offer failures for the given offer.",
        "description": "Delivers a queryable list of offer failures for the given offer.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Offers_QueryMarketplaceOfferFailure",
        "parameters": [
          {
            "name": "offerId",
            "in": "path",
            "required": true,
            "description": "ID of the marketplace offer.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferFailureListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/marketplace/offers/assign-item": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Assigns the specified item to the specified marketplace offer.",
        "description": "Assigns the specified item to the specified marketplace offer.",
        "operationId": "Offers_AssignItemToMarketplaceOffer",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.AssignItemToMarketplaceOfferCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully assigned the item to the marketplace offer.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No offer with the specified OfferKey was found (error code OfferNotFound).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "The specified article is already assigned to another offer for the same shop (error code ArticleAlreadyAssignedToOffer).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/delete": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Deletes the specified marketplace offers.",
        "description": "Deletes the specified marketplace offers.",
        "operationId": "Offers_DeleteMarketplaceOffer",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.DeleteMarketplaceOfferCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully deleted the specified marketplace offers.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/end": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Ends the specified marketplace offers for a shop.",
        "description": "Ends the specified marketplace offers for a shop.",
        "operationId": "Offers_EndMarketplaceOffer",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.EndMarketplaceOfferCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully ended the specified marketplace offers.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/remove-item": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Removes the item assignment from the specified marketplace offers.",
        "description": "Removes the item assignment from the specified marketplace offers.",
        "operationId": "Offers_RemoveItemFromMarketplaceOffer",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.RemoveItemFromMarketplaceOfferCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully removed item assignments from the specified marketplace offers.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/set-max-quantity": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Sets the maximum stock quantity for the specified marketplace offers.",
        "description": "Sets the maximum stock quantity for the specified marketplace offers.",
        "operationId": "Offers_SetMarketplaceOfferMaxQuantity",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.SetMarketplaceOfferMaxQuantityCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully updated maximum stock quantity for the specified marketplace offers.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/set-min-quantity": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Sets the minimum stock quantity for the specified marketplace offers.",
        "description": "Sets the minimum stock quantity for the specified marketplace offers.",
        "operationId": "Offers_SetMarketplaceOfferMinQuantity",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.SetMarketplaceOfferMinQuantityCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully updated minimum stock quantity for the specified marketplace offers.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/trigger-offer-synchronisation": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Triggers offer synchronisation for the specified marketplace offers.",
        "description": "Triggers offer synchronisation for the specified marketplace offers.",
        "operationId": "Offers_TriggerMarketplaceOfferSynchronisation",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.TriggerMarketplaceOfferSynchronisationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully triggered offer synchronisation for the specified marketplace offers.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/offers/trigger-stock-synchronisation": {
      "post": {
        "tags": [
          "Marketplace Offer"
        ],
        "summary": "Triggers stock synchronisation for the specified marketplace offers.",
        "description": "Triggers stock synchronisation for the specified marketplace offers.",
        "operationId": "Offers_TriggerMarketplaceStockSynchronisation",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.TriggerMarketplaceStockSynchronisationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully triggered stock synchronisation for the specified marketplace offers.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "marketplaceoffers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "marketplaceoffers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/cancel-order-cancellation-request-upload": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Cancel marketplace order cancellation request uploads.",
        "description": "Cancel marketplace order cancellation request uploads.",
        "operationId": "Orders_CancelMarketplaceOrderCancellationRequestUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.CancelMarketplaceOrderCancellationRequestUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully cancelled marketplace order cancellation request uploads.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/exclude-order-cancellation-from-upload": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Exclude marketplace order cancellation uploads from upload.",
        "description": "Exclude marketplace order cancellation uploads from upload.",
        "operationId": "Orders_ExcludeMarketplaceOrderCancellationUploadFromUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplaceOrderCancellationUploadFromUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully excluded marketplace order cancellation uploads from upload.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/exclude-payment-from-upload": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Exclude marketplace payment uploads from upload.",
        "description": "Exclude marketplace payment uploads from upload.",
        "operationId": "Orders_ExcludeMarketplacePaymentUploadFromUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplacePaymentUploadFromUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully excluded marketplace payment uploads from upload.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/exclude-return-from-upload": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Exclude marketplace return uploads from upload.",
        "description": "Exclude marketplace return uploads from upload.",
        "operationId": "Orders_ExcludeMarketplaceReturnUploadFromUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplaceReturnUploadFromUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully excluded marketplace return uploads from upload.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/exclude-shipping-information-from-upload": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Exclude marketplace shipping information uploads from upload.",
        "description": "Exclude marketplace shipping information uploads from upload.",
        "operationId": "Orders_ExcludeMarketplaceShippingInformationUploadFromUpload",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplaceShippingInformationUploadFromUploadCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully excluded marketplace shipping information uploads from upload.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/external-documents": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Order"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceExternalDocumentListItem",
        "description": "Delivers a queryable overview list of all MarketplaceExternalDocumentListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Orders_QueryMarketplaceExternalDocument",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "invoiceDateAfter",
            "in": "query",
            "description": "Only include items whose InvoiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "invoiceDateBefore",
            "in": "query",
            "description": "Only include items whose InvoiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/order-cancellation-request-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Order"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceOrderCancellationRequestUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplaceOrderCancellationRequestUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Orders_QueryMarketplaceOrderCancellationRequestUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationRequestUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/order-cancellation-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Order"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceOrderCancellationUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplaceOrderCancellationUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Orders_QueryMarketplaceOrderCancellationUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancellationUploadFailedAtAfter",
            "in": "query",
            "description": "Only include items whose CancellationUploadFailedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancellationUploadFailedAtBefore",
            "in": "query",
            "description": "Only include items whose CancellationUploadFailedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/payment-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Order"
        ],
        "summary": "Delivers a queryable overview list of all MarketplacePaymentUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplacePaymentUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Orders_QueryMarketplacePaymentUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentUploadFailedAtAfter",
            "in": "query",
            "description": "Only include items whose PaymentUploadFailedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentUploadFailedAtBefore",
            "in": "query",
            "description": "Only include items whose PaymentUploadFailedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplacePaymentUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/print-external-document": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Physically print the stored PDF files of marketplace external documents using the configured PDF print template set.",
        "description": "Physically print the stored PDF files of marketplace external documents using the configured PDF print template set.",
        "operationId": "Orders_PrintMarketplaceExternalDocument",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.PrintMarketplaceExternalDocumentCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully sent the external document PDF files to the printer.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad request. The file list was empty, contained an invalid file key, or no PDF print template set is configured.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.print"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.print"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/reset-order-cancellation-request-upload-counter": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Reset the upload counter for marketplace order cancellation request uploads.",
        "description": "Reset the upload counter for marketplace order cancellation request uploads.",
        "operationId": "Orders_ResetMarketplaceOrderCancellationRequestUploadCounter",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceOrderCancellationRequestUploadCounterCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset the upload counter for marketplace order cancellation request uploads.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/reset-order-cancellation-upload-counter": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Reset the upload counter for marketplace order cancellation uploads.",
        "description": "Reset the upload counter for marketplace order cancellation uploads.",
        "operationId": "Orders_ResetMarketplaceOrderCancellationUploadCounter",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceOrderCancellationUploadCounterCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset the upload counter for marketplace order cancellation uploads.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/reset-payment-upload-counter": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Reset the upload counter for marketplace payment uploads.",
        "description": "Reset the upload counter for marketplace payment uploads.",
        "operationId": "Orders_ResetMarketplacePaymentUploadCounter",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplacePaymentUploadCounterCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset the upload counter for marketplace payment uploads.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/reset-return-upload-counter": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Reset the upload counter for marketplace return uploads.",
        "description": "Reset the upload counter for marketplace return uploads.",
        "operationId": "Orders_ResetMarketplaceReturnUploadCounter",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceReturnUploadCounterCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset the upload counter for marketplace return uploads.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/reset-shipping-information-upload-counter": {
      "post": {
        "tags": [
          "Marketplace Order"
        ],
        "summary": "Reset the upload counter for marketplace shipping information uploads.",
        "description": "Reset the upload counter for marketplace shipping information uploads.",
        "operationId": "Orders_ResetMarketplaceShippingInformationUploadCounter",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceShippingInformationUploadCounterCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully reset the upload counter for marketplace shipping information uploads.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/return-upload/{orderId}/line-items": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Order"
        ],
        "summary": "Delivers a queryable list of return upload line items for the given order.",
        "description": "Delivers a queryable list of return upload line items for the given order.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Orders_QueryMarketplaceReturnUploadLineItem",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "description": "ID of the marketplace order.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadLineItemListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/return-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Order"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceReturnUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplaceReturnUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Orders_QueryMarketplaceReturnUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "returnUploadFailedAtAfter",
            "in": "query",
            "description": "Only include items whose ReturnUploadFailedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "returnUploadFailedAtBefore",
            "in": "query",
            "description": "Only include items whose ReturnUploadFailedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/marketplace/orders/shipping-information-uploads": {
      "get": {
        "tags": [
          "wawi",
          "Marketplace Order"
        ],
        "summary": "Delivers a queryable overview list of all MarketplaceShippingInformationUploadListItem",
        "description": "Delivers a queryable overview list of all MarketplaceShippingInformationUploadListItem\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Orders_QueryMarketplaceShippingInformationUpload",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "uploadFailedAtAfter",
            "in": "query",
            "description": "Only include items whose UploadFailedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "uploadFailedAtBefore",
            "in": "query",
            "description": "Only include items whose UploadFailedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceShippingInformationUploadListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/number-ranges": {
      "get": {
        "tags": [
          "Master Data"
        ],
        "summary": "Get Number Ranges",
        "description": "Returns all available number ranges.",
        "operationId": "NumberRanges_GetNumberRangesAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All available number ranges.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeItem"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/number-ranges/{numberRangeId}": {
      "get": {
        "tags": [
          "Master Data"
        ],
        "summary": "Get Number Range",
        "description": "Returns the requested number range.",
        "operationId": "NumberRanges_GetNumberRangeAsync",
        "parameters": [
          {
            "name": "numberRangeId",
            "in": "path",
            "required": true,
            "description": "The uuid of the number range.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested number range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeItem"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No number range with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      },
      "post": {
        "tags": [
          "Master Data"
        ],
        "summary": "Create Number Range",
        "description": "Create a new number range based on the given number range.",
        "operationId": "NumberRanges_CreateNumberRangeAsync",
        "parameters": [
          {
            "name": "numberRangeId",
            "in": "path",
            "required": true,
            "description": "The ID of the number range on which this number range is based.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "item",
          "description": "The relevant information of the number range.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.CreateNumberRangeItem"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created number range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeItem"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No number range with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      },
      "put": {
        "tags": [
          "Master Data"
        ],
        "summary": "Update Number Range",
        "description": "Updates an existing number range.",
        "operationId": "NumberRanges_UpdateNumberRangeAsync",
        "parameters": [
          {
            "name": "numberRangeId",
            "in": "path",
            "required": true,
            "description": "The ID of the number range.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "item",
          "description": "The relevant information of the number range.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.PutNumberRangeItem"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The changed number range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeItem"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No number range with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      },
      "delete": {
        "tags": [
          "Master Data"
        ],
        "summary": "Delete Number Range",
        "description": "Delete a number range, but only deletable number ranges.",
        "operationId": "NumberRanges_DeleteNumberRangeAsync",
        "parameters": [
          {
            "name": "numberRangeId",
            "in": "path",
            "required": true,
            "description": "The ID of the number range.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "The number range has been deleted.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No number range with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/number-ranges/{numberRangeId}/increment": {
      "post": {
        "tags": [
          "Master Data"
        ],
        "summary": "Number Range Increment",
        "description": "Increment and returns the next number for the given number range.",
        "operationId": "NumberRanges_NumberRangeIncrementAsync",
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "description": "Gets the unique identifier for the firm.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            },
            "x-position": 1
          },
          {
            "name": "numberRangeId",
            "in": "path",
            "required": true,
            "description": "The ID of the number range.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The resulting next number for the given number range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeCurrentNumberItem"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No number range with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.write"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/number-ranges/{numberRangeId}/preview": {
      "get": {
        "tags": [
          "Master Data"
        ],
        "summary": "Number Range Preview",
        "description": "Returns a preview of the next number for the given number range.",
        "operationId": "NumberRanges_NumberRangePreviewAsync",
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "description": "Gets the unique identifier for the firm.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            },
            "x-position": 1
          },
          {
            "name": "numberRangeId",
            "in": "path",
            "required": true,
            "description": "The ID of the number range.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The resulting next number for the given number range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeCurrentNumberItem"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No number range with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read",
              "items.read",
              "system.config.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read",
              "items.read",
              "system.config.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/on-hold-reasons": {
      "get": {
        "tags": [
          "Master Data"
        ],
        "summary": "Query On Hold Reasons",
        "description": "Queries all on hold reasons for sales orders.",
        "operationId": "OnHoldReason_QueryOnHoldReasonsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All on hold reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.OnHoldReason.OnHoldReason"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "orders.read",
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "orders.read",
              "invoices.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/packages/{packageId}": {
      "get": {
        "tags": [
          "wawi",
          "Shipment"
        ],
        "summary": "Returns a single package by its ID.",
        "description": "Returns a single package by its ID.",
        "operationId": "Delivery_GetPackageById",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "description": "The ID of the package to be retrieved.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.Package"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/packages/{packageId}/order-data": {
      "get": {
        "tags": [
          "Shipment"
        ],
        "summary": "Delivers order data for a specific package",
        "description": "Delivers order data for a specific package",
        "operationId": "ShipmentPackages_GetOrderData",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.OrderDataItem"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/packages/{packageId}/ship": {
      "post": {
        "tags": [
          "wawi",
          "Shipment"
        ],
        "summary": "Ships a package by setting the shipping date.",
        "description": "Ships a package by setting the shipping date.",
        "operationId": "Delivery_ShipPackage",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "description": "The ID of the package to be shipped.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ShipPackageRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.Endpoints.V2.Delivery.ShipPackageRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The package has successfully been shipped.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.ShipPackageCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No package with the specified ID was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The package has already been shipped and its shipping information is not to be overwritten.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/packages/{packageId}/weight": {
      "patch": {
        "tags": [
          "Shipment"
        ],
        "summary": "Modifies an existing Package Weight",
        "description": "Modifies an existing Package Weight",
        "operationId": "ShipmentPackages_ChangePackageWeight",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.ChangePackageWeightCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Package Weight was successfully modified.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/packages/deliver": {
      "post": {
        "tags": [
          "Shipment"
        ],
        "summary": "Delivers an existing Package",
        "description": "Delivers an existing Package",
        "operationId": "ShipmentPackages_CreateDeliverPackage",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.CreateDeliverPackageCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Package was successfully Delivered.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/payment-methods": {
      "get": {
        "tags": [
          "wawi",
          "Master Data"
        ],
        "summary": "Queries all payment methods.",
        "description": "Queries all payment methods.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "PaymentMethodDomain_QueryPaymentMethods",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentMethodDomain.PaymentMethod"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "paymentmethods.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "paymentmethods.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/payments/{id}": {
      "delete": {
        "tags": [
          "Payment"
        ],
        "summary": "Deletes an existing payment.",
        "description": "Deletes an existing payment.",
        "operationId": "PaymentDomain_DeletePayment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Payment was successfully deleted.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "payments.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "payments.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/picklists": {
      "get": {
        "tags": [
          "wawi",
          "Warehouses"
        ],
        "summary": "Retrieves pick lists with positions for a warehouse",
        "description": "Retrieves pick lists with positions for a warehouse\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Picklists_QueryPicklists",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Picklists.PickList"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/printers": {
      "get": {
        "tags": [
          "Printer"
        ],
        "summary": "Installed Printers",
        "description": "Retrieves all installed printers.",
        "operationId": "Printers_InstalledPrintersAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All installed printers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "beta"
      }
    },
    "/v2/procurements/restock-suggestions": {
      "get": {
        "tags": [
          "wawi",
          "Procurement"
        ],
        "summary": "Query Restock Suggestions",
        "description": "Generates restock suggestions for a given supplier and time frame. The calculation is performed synchronously and returns the same data the on-prem Wawi shows under Beschaffung - Bestellvorschlaege.",
        "operationId": "RestockSuggestionDomain_QueryRestockSuggestions",
        "parameters": [
          {
            "name": "supplierId",
            "in": "query",
            "required": true,
            "description": "The ID of the supplier to generate suggestions for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
            }
          },
          {
            "name": "timeFrameFrom",
            "in": "query",
            "description": "Start of the consumption history window used for the demand forecast, inclusive (alternative to TimeFrameDays).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "timeFrameTo",
            "in": "query",
            "description": "End of the consumption history window used for the demand forecast, inclusive (alternative to TimeFrameDays).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "timeFrameDays",
            "in": "query",
            "description": "Days of consumption history used for the demand forecast, counted back from today (alternative to TimeFrameFrom/TimeFrameTo). The measured consumption is projected onto the next 30 days and added to the open demand, so sales orders still open inside the window count towards both.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "warehouseId",
            "in": "query",
            "description": "Optional warehouse to scope the calculation to. When set, demand is calculated for exactly this warehouse instead of the default target area. When omitted, the default target area is used.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Bestellvorschlaege.PublicApi.DataTransferObjects.V2.RestockSuggestionDomain.RestockSuggestionLineItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "procurements.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "procurements.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/product-groups": {
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Queries all product groups.",
        "description": "Queries all product groups.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "ProductGroups_QueryProductGroups",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.ProductGroupsListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/product-groups/batch": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Creates new product groups.",
        "description": "Creates new product groups.",
        "operationId": "ProductGroups_CreateProductGroups",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.CreateProductGroupsCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The product groups were successfully created.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "An error occurred while creating product groups.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "Item"
        ],
        "summary": "Update the properties of product groups.",
        "description": "Update the properties of product groups.",
        "operationId": "ProductGroups_UpdateProductGroups",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.UpdateProductGroupsCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The product groups were successfully updated.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The product group was not found.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/product-groups/batch/delete": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Deletes existing product groups.",
        "description": "Deletes existing product groups.",
        "operationId": "ProductGroups_DeleteProductGroups",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.DeleteProductGroupsCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The product groups were successfully deleted.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The product group was not found.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/production-items": {
      "get": {
        "tags": [
          "wawi",
          "Production"
        ],
        "summary": "Retrieves all production items.",
        "description": "Retrieves all production items.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "ProductionItems_QueryProductionItems",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createDateAfter",
            "in": "query",
            "description": "Only include items whose CreateDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createDateBefore",
            "in": "query",
            "description": "Only include items whose CreateDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updateDateAfter",
            "in": "query",
            "description": "Only include items whose UpdateDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updateDateBefore",
            "in": "query",
            "description": "Only include items whose UpdateDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Production"
        ],
        "summary": "Creates a new production item, including its bills of materials with their components.",
        "description": "Creates a new production item, including its bills of materials with their components.",
        "operationId": "Create_CreateProductionItem",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateProductionItemCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a production item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateProductionItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-items/{id}": {
      "get": {
        "tags": [
          "Production"
        ],
        "summary": "Retrieves a production item by its ID.",
        "description": "Retrieves a production item by its ID.",
        "operationId": "ProductionItems_GetProductionItemById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionItem"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-items/{productionItemId}/bills-of-materials": {
      "get": {
        "tags": [
          "wawi",
          "Production"
        ],
        "summary": "Retrieves all bills of materials for a given production item.",
        "description": "Retrieves all bills of materials for a given production item.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "BillsOfMaterials_QueryBillsOfMaterialsByProductionItemId",
        "parameters": [
          {
            "name": "productionItemId",
            "in": "path",
            "required": true,
            "description": "The ID of a production item.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createDateAfter",
            "in": "query",
            "description": "Only include items whose CreateDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createDateBefore",
            "in": "query",
            "description": "Only include items whose CreateDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updateDateAfter",
            "in": "query",
            "description": "Only include items whose UpdateDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updateDateBefore",
            "in": "query",
            "description": "Only include items whose UpdateDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "activationDateAfter",
            "in": "query",
            "description": "Only include items whose ActivationDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "activationDateBefore",
            "in": "query",
            "description": "Only include items whose ActivationDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "producibleStockCalculationDateAfter",
            "in": "query",
            "description": "Only include items whose ProducibleStockCalculationDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "producibleStockCalculationDateBefore",
            "in": "query",
            "description": "Only include items whose ProducibleStockCalculationDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.BillOfMaterials"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Production"
        ],
        "summary": "Creates a new bill of materials for a production item, including its components.",
        "description": "Creates a new bill of materials for a production item, including its components.",
        "operationId": "Create_CreateBillOfMaterials",
        "parameters": [
          {
            "name": "productionItemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a bill of materials.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-items/{productionItemId}/lot-sizes": {
      "get": {
        "tags": [
          "wawi",
          "Production"
        ],
        "summary": "Retrieves all lot sizes for a given production item.",
        "description": "Retrieves all lot sizes for a given production item.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "LotSizes_QueryLotSizesByProductionItemId",
        "parameters": [
          {
            "name": "productionItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the production item.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.LotSizes.LotSize"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Production"
        ],
        "summary": "Creates a new lot size for a production item.",
        "description": "Creates a new lot size for a production item.",
        "operationId": "Create_CreateLotSize",
        "parameters": [
          {
            "name": "productionItemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateLotSizeCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a lot size.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateLotSizeCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-items/by-item-id/{itemId}": {
      "get": {
        "tags": [
          "Production"
        ],
        "summary": "Retrieves a production item by the ID of the underlying item.",
        "description": "Retrieves a production item by the ID of the underlying item.",
        "operationId": "ProductionItems_GetProductionItemByItemId",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionItem"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-orders": {
      "get": {
        "tags": [
          "wawi",
          "Production"
        ],
        "summary": "Retrieves all production orders.",
        "description": "Retrieves all production orders.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "ProductionOrders_QueryProductionOrders",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "targetStartTimestampAfter",
            "in": "query",
            "description": "Only include items whose TargetStartTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "targetStartTimestampBefore",
            "in": "query",
            "description": "Only include items whose TargetStartTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "targetCompletionTimestampAfter",
            "in": "query",
            "description": "Only include items whose TargetCompletionTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "targetCompletionTimestampBefore",
            "in": "query",
            "description": "Only include items whose TargetCompletionTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "actualStartTimestampAfter",
            "in": "query",
            "description": "Only include items whose ActualStartTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "actualStartTimestampBefore",
            "in": "query",
            "description": "Only include items whose ActualStartTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "actualCompletionTimestampAfter",
            "in": "query",
            "description": "Only include items whose ActualCompletionTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "actualCompletionTimestampBefore",
            "in": "query",
            "description": "Only include items whose ActualCompletionTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "issueDateAfter",
            "in": "query",
            "description": "Only include items whose IssueDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "issueDateBefore",
            "in": "query",
            "description": "Only include items whose IssueDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "releaseTimestampAfter",
            "in": "query",
            "description": "Only include items whose ReleaseTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "releaseTimestampBefore",
            "in": "query",
            "description": "Only include items whose ReleaseTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "deliveryTimestampAfter",
            "in": "query",
            "description": "Only include items whose DeliveryTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "deliveryTimestampBefore",
            "in": "query",
            "description": "Only include items whose DeliveryTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastModificationTimestampAfter",
            "in": "query",
            "description": "Only include items whose LastModificationTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastModificationTimestampBefore",
            "in": "query",
            "description": "Only include items whose LastModificationTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ProductionOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Production"
        ],
        "summary": "Creates a new production order.",
        "description": "Creates a new production order.",
        "operationId": "ProductionOrders_CreateProductionOrder",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.CreateProductionOrderCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a production order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.CreateProductionOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-orders/{id}": {
      "get": {
        "tags": [
          "Production"
        ],
        "summary": "Retrieves a production order by its ID.",
        "description": "Retrieves a production order by its ID.",
        "operationId": "ProductionOrders_GetProductionOrderById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProductionOrderKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ProductionOrder"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-orders/{productionOrderId}/release": {
      "post": {
        "tags": [
          "Production"
        ],
        "summary": "Releases an existing production order.",
        "description": "Releases an existing production order.",
        "operationId": "ProductionOrders_ReleaseProductionOrder",
        "parameters": [
          {
            "name": "productionOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProductionOrderKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully released the production order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ReleaseProductionOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/production-orders/{productionOrderId}/update": {
      "patch": {
        "tags": [
          "Production"
        ],
        "summary": "Updates a production order.",
        "description": "Updates a production order.",
        "operationId": "ProductionOrders_UpdateProductionOrder",
        "parameters": [
          {
            "name": "productionOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProductionOrderKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.UpdateProductionOrderCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Production order was successfully modified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.UpdateProductionOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "pps.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "pps.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/properties": {
      "get": {
        "tags": [
          "Property"
        ],
        "summary": "Query Properties",
        "description": "Queries all properties of items.",
        "operationId": "Property_QueryPropertiesAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All properties of items.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Property.Property"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-sort": 100,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Property"
        ],
        "summary": "Create Property",
        "description": "Creates a new property.",
        "operationId": "Property_CreatePropertyAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "property",
          "description": "The property to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.CreateProperty"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created property.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.Property"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 110,
        "x-stability-level": "stable"
      }
    },
    "/v2/properties/{propertyId}/values": {
      "get": {
        "tags": [
          "Property"
        ],
        "summary": "Query Property Values",
        "description": "Queries all values for a specific property.",
        "operationId": "Property_QueryPropertyValuesAsync",
        "parameters": [
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property that the property values belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested property values of the property.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyValue"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-sort": 300,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Property"
        ],
        "summary": "Create Property Value",
        "description": "Creates a new value for a specific property.",
        "operationId": "Property_CreatePropertyValueAsync",
        "parameters": [
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property that the property values belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "propertyValue",
          "description": "The value of the property.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.CreatePropertyValue"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created property value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyValue"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 310,
        "x-stability-level": "stable"
      }
    },
    "/v2/properties/{propertyId}/values/{propertyValueId}": {
      "patch": {
        "tags": [
          "Property"
        ],
        "summary": "Update Property Value",
        "description": "Updates the value of a specific property.",
        "operationId": "Property_UpdatePropertyValueAsync",
        "parameters": [
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property that the property values belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 2
          },
          {
            "name": "propertyValueId",
            "in": "path",
            "required": true,
            "description": "The ID of the property value.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "propertyValue",
          "description": "The value of the property.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.UpdatePropertyValue"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No property value or property with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 320,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Property"
        ],
        "summary": "Delete Property Value",
        "description": "Deletes a specific value for a given property.",
        "operationId": "Property_DeletePropertyValueAsync",
        "parameters": [
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property that the property values belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 1
          },
          {
            "name": "propertyValueId",
            "in": "path",
            "required": true,
            "description": "The ID of the property value.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No property value or property with the given ID exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 330,
        "x-stability-level": "stable"
      }
    },
    "/v2/properties/{propertyId}/values/{propertyValueId}/descriptions": {
      "get": {
        "tags": [
          "Property"
        ],
        "summary": "Query Property Value Descriptions",
        "description": "Queries all descriptions for a specific property value.",
        "operationId": "Property_QueryPropertyValueDescriptionsAsync",
        "parameters": [
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 1
          },
          {
            "name": "propertyValueId",
            "in": "path",
            "required": true,
            "description": "The ID of the property value.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested property value descriptions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyValueDescription"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Property"
        ],
        "summary": "Create Property Value Description",
        "description": "Creates a new description for a specific property value.",
        "operationId": "Property_CreatePropertyValueDescriptionAsync",
        "parameters": [
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 2
          },
          {
            "name": "propertyValueId",
            "in": "path",
            "required": true,
            "description": "The ID of the property value.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "propertyValueDescription",
          "description": "The description to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.CreatePropertyValueDescription"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created property value description.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyValueDescription"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 410,
        "x-stability-level": "stable"
      }
    },
    "/v2/properties/{propertyId}/values/{propertyValueId}/descriptions/{languageIso}": {
      "patch": {
        "tags": [
          "Property"
        ],
        "summary": "Update Property Value Description",
        "description": "Updates the description for a specific property value and language.",
        "operationId": "Property_UpdatePropertyValueDescriptionAsync",
        "parameters": [
          {
            "name": "languageIso",
            "in": "path",
            "required": true,
            "description": "The ISO code of the language that the descriptions belong to.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 3
          },
          {
            "name": "propertyValueId",
            "in": "path",
            "required": true,
            "description": "The ID of the property value.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
            },
            "x-position": 4
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "propertyValueDescription",
          "description": "The property value description to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.UpdatePropertyValueDescription"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data with the given IDs exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 420,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Property"
        ],
        "summary": "Delete Property Value Description",
        "description": "Deletes the description for a specific property value and language.",
        "operationId": "Property_DeletePropertyValueDescriptionAsync",
        "parameters": [
          {
            "name": "languageIso",
            "in": "path",
            "required": true,
            "description": "The ISO code of the language that the descriptions belong to.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "description": "The ID of the property.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
            },
            "x-position": 2
          },
          {
            "name": "propertyValueId",
            "in": "path",
            "required": true,
            "description": "The ID of the property value.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data with the given IDs exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 430,
        "x-stability-level": "stable"
      }
    },
    "/v2/properties/groups": {
      "get": {
        "tags": [
          "Property"
        ],
        "summary": "Query Property Groups",
        "description": "Queries all groups for properties.",
        "operationId": "Property_QueryPropertyGroupsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All property groups.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyGroup"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Property"
        ],
        "summary": "Create Property Group",
        "description": "Creates a new property group.",
        "operationId": "Property_CreatePropertyGroupAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "propertyGroup",
          "description": "The property group to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.CreatePropertyGroup"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created property group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyGroup"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-sort": 210,
        "x-stability-level": "stable"
      }
    },
    "/v2/purchase-orders": {
      "post": {
        "tags": [
          "wawi",
          "Purchase Order"
        ],
        "summary": "Creates a new purchase order with item positions.",
        "description": "Creates a new purchase order with item positions.",
        "operationId": "PurchaseOrderDomain_CreatePurchaseOrder",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreatePurchaseOrderRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.CreatePurchaseOrderRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The purchase order has been created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreatePurchaseOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "purchaseorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "purchaseorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "wawi",
          "Purchase Order"
        ],
        "summary": "Queries the list of purchase orders.",
        "description": "Queries the list of purchase orders.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "PurchaseOrderDomain_QueryPurchaseOrders",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "requestedDeliveryDateAfter",
            "in": "query",
            "description": "Only include items whose RequestedDeliveryDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "requestedDeliveryDateBefore",
            "in": "query",
            "description": "Only include items whose RequestedDeliveryDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "purchaseorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "purchaseorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/purchase-orders/{purchaseOrderId}": {
      "get": {
        "tags": [
          "wawi",
          "Purchase Order"
        ],
        "summary": "Retrieves the full detail of a purchase order by its ID.",
        "description": "Retrieves the full detail of a purchase order by its ID.",
        "operationId": "PurchaseOrderDomain_GetPurchaseOrderById",
        "parameters": [
          {
            "name": "purchaseOrderId",
            "in": "path",
            "required": true,
            "description": "The purchase order's ID.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "purchaseorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "purchaseorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "wawi",
          "Purchase Order"
        ],
        "summary": "Update Purchase Order",
        "description": "Patches an existing purchase order's header: editable fields and a status transition, in any combination. Every field is optional — an omitted field leaves its column unchanged. Field editability depends on the order's status (structural fields only while Open or Released, confirmation fields in every status except Completed, annotations always) and is evaluated against the status BEFORE any transition requested in the same call. LINE ITEMS ARE NOT PART OF THIS ENDPOINT: they are addressed individually through purchase-orders/{purchaseOrderId}/line-items, one operation per position. Returns the full re-queried order, so the caller sees the side effects the write triggers.",
        "operationId": "PurchaseOrderDomain_UpdatePurchaseOrder",
        "parameters": [
          {
            "name": "purchaseOrderId",
            "in": "path",
            "required": true,
            "description": "ID of the purchase order to patch.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
            }
          },
          {
            "name": "disableAutomaticWorkflows",
            "in": "query",
            "required": true,
            "description": "Indicates whether automatic workflows should be suppressed for this update. Defaults to false when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "UpdatePurchaseOrderRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.UpdatePurchaseOrderRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The purchase order was updated successfully. The body is the full re-queried order, including its line items, so the caller can observe the side effects of the write (the in-progress timestamp, recalculated open quantities, and any stock consequence).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrder"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. The body is an RFC 7807 ValidationProblemDetails whose \"Errors\" map keys the offending property (for example \"Status\") to its message — note that the shared exception handler emits only those messages and does NOT put the internal error code on the wire, so the codes below name the semantics, not a field to branch on. Rejection reasons: the status transition is not permitted; a field may not be edited in the order's current status; a value exceeds its column length; or the purchase order id is not a positive number, which addresses nothing and is a malformed request rather than a missing order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The purchase order was not found. One answer for every case in which the id addresses no order this API exposes: it does not exist, it is soft-deleted, it is a warehouse transfer, a price inquiry, a dropshipping order or placed on a non-procurement supplier, or it disappears between validation and the write. The cases stay indistinguishable to the caller by design — a finer answer would reveal the existence of a document this API otherwise denies (WAWI-92251).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "purchaseorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "purchaseorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/purchase-orders/{purchaseOrderId}/line-items": {
      "post": {
        "tags": [
          "wawi",
          "Purchase Order"
        ],
        "summary": "Create Purchase Order Line Item",
        "description": "Adds one article position to an existing purchase order. The order must be Open or Released — from InProgress onwards the position would already be part of a goods receipt. The article must already be assigned to the order's supplier; this endpoint never creates that assignment. Fields the caller omits are resolved from the supplier's master data, so the smallest useful request carries the article, the quantity, the net price and the VAT rate.",
        "operationId": "PurchaseOrderDomain_CreatePurchaseOrderLineItem",
        "parameters": [
          {
            "name": "purchaseOrderId",
            "in": "path",
            "required": true,
            "description": "ID of the purchase order the position is added to.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
            }
          },
          {
            "name": "disableAutomaticWorkflows",
            "in": "query",
            "required": true,
            "description": "Indicates whether automatic workflows should be suppressed for this write. Defaults to false when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreatePurchaseOrderLineItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.CreatePurchaseOrderLineItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The position was added. The body carries its new ID, which is all the caller needs to address it afterwards — the order-level consequences of the write (recalculated totals, open quantities) are visible through a subsequent read of the order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreatePurchaseOrderLineItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. The body is an RFC 7807 ValidationProblemDetails whose \"Errors\" map keys the offending property to its message; the shared exception handler emits only those messages and does NOT put the internal error code on the wire. Rejection reasons: the order is neither Open nor Released; the article is not assigned to the order's supplier, or is a kit article, inactive, or a variation parent; the quantity is not greater than zero; the net purchase price is negative; the VAT rate is outside 0 to 100; a numeric value exceeds the range of the column that stores it; the note exceeds its length; or the purchase order id is not a positive number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The purchase order was not found — it does not exist, this API does not expose it (soft-deleted, warehouse transfer, price inquiry, dropshipping, non-procurement supplier), or it disappeared between validation and the write. The cases are indistinguishable by design (WAWI-92251).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "purchaseorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "purchaseorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/purchase-orders/{purchaseOrderId}/line-items/{lineItemId}": {
      "delete": {
        "tags": [
          "wawi",
          "Purchase Order"
        ],
        "summary": "Delete Purchase Order Line Item",
        "description": "Removes one position from an existing purchase order. A hard delete, not a flag. The order must be Open or Released, and the position must not have been delivered — the underlying procedure enforces neither, so both are guarded here. Deleting the last remaining position is rejected: an order without positions is not a valid document. Returns the full re-queried order, so the caller sees the recalculated result.",
        "operationId": "PurchaseOrderDomain_DeletePurchaseOrderLineItem",
        "parameters": [
          {
            "name": "purchaseOrderId",
            "in": "path",
            "required": true,
            "description": "ID of the purchase order the position belongs to.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
            }
          },
          {
            "name": "lineItemId",
            "in": "path",
            "required": true,
            "description": "ID of the position to remove. It must belong to the order named in the route; a position of another order is rejected exactly like an unknown one.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungPosKey"
            }
          },
          {
            "name": "disableAutomaticWorkflows",
            "in": "query",
            "required": true,
            "description": "Indicates whether automatic workflows should be suppressed for this write. Defaults to false when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The position was removed. The body is the full re-queried order, so the caller can observe the recalculated state rather than having to infer what the deletion changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrder"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. The body is an RFC 7807 ValidationProblemDetails whose \"Errors\" map keys the offending property to its message; the shared exception handler emits only those messages and does NOT put the internal error code on the wire. Rejection reasons: the order is neither Open nor Released; the position carries a delivered quantity; it is the order's last remaining position; or an id is not a positive number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Nothing is addressed by the ids given. One answer for every such case: the position is unknown, it belongs to a DIFFERENT purchase order, the order itself is unknown or not exposed by this API (soft-deleted, warehouse transfer, price inquiry, dropshipping, non-procurement supplier), or either of them disappears between validation and the write. The cases stay indistinguishable to the caller by design (WAWI-92251).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "purchaseorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "purchaseorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "wawi",
          "Purchase Order"
        ],
        "summary": "Update Purchase Order Line Item",
        "description": "Patches one position of an existing purchase order. Every field is optional — an omitted field leaves its column unchanged. Field editability depends on the ORDER's status and is graded: quantity, price and delivery date only while the order is Open or Released; the four supplier-confirmation fields in every status except Completed; the note always. Quantity and delivery date additionally apply only to positions of type FreePosition or Item — a charge or discount position has neither. Returns the full re-queried order, so the caller sees what the write did beyond the position itself (recalculated open quantities, and any stock consequence).",
        "operationId": "PurchaseOrderDomain_UpdatePurchaseOrderLineItem",
        "parameters": [
          {
            "name": "purchaseOrderId",
            "in": "path",
            "required": true,
            "description": "ID of the purchase order the position belongs to.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
            }
          },
          {
            "name": "lineItemId",
            "in": "path",
            "required": true,
            "description": "ID of the position to patch. It must belong to the order named in the route; a position of another order is rejected exactly like an unknown one, so the API never confirms the existence of a document it otherwise denies.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungPosKey"
            }
          },
          {
            "name": "disableAutomaticWorkflows",
            "in": "query",
            "required": true,
            "description": "Indicates whether automatic workflows should be suppressed for this write. Defaults to false when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "UpdatePurchaseOrderLineItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.UpdatePurchaseOrderLineItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The position was patched successfully. The body is the full re-queried order, including all its line items, so the caller can observe the side effects of the write rather than having to infer them.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrder"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. The body is an RFC 7807 ValidationProblemDetails whose \"Errors\" map keys the offending property to its message; the shared exception handler emits only those messages and does NOT put the internal error code on the wire. Rejection reasons: a field may not be edited in the order's current status; a field does not apply to the position's type (quantity or delivery date on a charge or discount position); the quantity is not greater than zero; the net purchase price is negative; a numeric value exceeds the range of the column that stores it; the note exceeds its length; or an id is not a positive number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Nothing is addressed by the ids given. One answer for every such case: the position is unknown, it belongs to a DIFFERENT purchase order, the order itself is unknown or not exposed by this API (soft-deleted, warehouse transfer, price inquiry, dropshipping, non-procurement supplier), or either of them disappears between validation and the write. The cases stay indistinguishable to the caller by design — telling them apart would disclose that a position exists under an order the caller may not see (WAWI-92251).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "purchaseorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "purchaseorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/refunds/cancellation-reasons": {
      "get": {
        "tags": [
          "Refund"
        ],
        "summary": "Query Refund Cancellation Reasons",
        "description": "Queries all cancellation reasons for refunds.",
        "operationId": "Refund_QueryRefundCancellationReasonsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All cancellation reasons for refunds.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Refund.RefundCancellationReason"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/resources/categories": {
      "get": {
        "tags": [
          "wawi",
          "Resources"
        ],
        "summary": "Retrieves all resource categories.",
        "description": "Retrieves all resource categories.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "ResourceCategories_QueryResourceCategories",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.ResourceCategories.ResourceCategory"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "resources.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "resources.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/resources/workbenches": {
      "get": {
        "tags": [
          "wawi",
          "Resources"
        ],
        "summary": "Retrieves all workbench resources.",
        "description": "Retrieves all workbench resources.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WorkbenchResources_QueryWorkbenchResources",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.WorkbenchResource"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "resources.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "resources.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Resources"
        ],
        "summary": "Creates a new workbench resource.",
        "description": "Creates a new workbench resource.",
        "operationId": "WorkbenchResources_CreateWorkbenchResource",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.CreateWorkbenchResourceCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a workbench resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.CreateWorkbenchResourceCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "resources.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "resources.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/resources/workbenches/{id}": {
      "get": {
        "tags": [
          "Resources"
        ],
        "summary": "Retrieves a single workbench resource by its ID",
        "description": "Retrieves a single workbench resource by its ID",
        "operationId": "WorkbenchResources_GetWorkbenchResourceById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.WorkbenchResourceKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.WorkbenchResource"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "resources.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "resources.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/resources/workbenches/types": {
      "get": {
        "tags": [
          "wawi",
          "Resources"
        ],
        "summary": "Retrieves all workbench resource types.",
        "description": "Retrieves all workbench resource types.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WorkbenchResourceTypes_QueryWorkbenchResourceTypes",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.WorkbenchResourceType"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "resources.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "resources.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "post": {
        "tags": [
          "Resources"
        ],
        "summary": "Creates a new workbench resource type.",
        "description": "Creates a new workbench resource type.",
        "operationId": "WorkbenchResourceTypes_CreateWorkbenchResourceType",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.CreateWorkbenchResourceTypeCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully created a workbench resource type.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.CreateWorkbenchResourceTypeCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "resources.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "resources.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/resources/workbenches/types/{id}": {
      "get": {
        "tags": [
          "Resources"
        ],
        "summary": "Retrieves a single workbench resource type by its ID.",
        "description": "Retrieves a single workbench resource type by its ID.",
        "operationId": "WorkbenchResourceTypes_GetWorkbenchResourceTypeById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ResourceTypeKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.WorkbenchResourceType"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "resources.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "resources.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/responsible-persons": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Query Responsible Persons",
        "description": "Queries all responsible persons.",
        "operationId": "ResponsiblePerson_QueryResponsiblePersonsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All responsible persons.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.ResponsiblePerson.ResponsiblePerson"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No responsible persons could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "beta"
      }
    },
    "/v2/return-reasons": {
      "get": {
        "tags": [
          "Return"
        ],
        "summary": "Query Return Reasons",
        "description": "Queries all return reasons.",
        "operationId": "ReturnReason_QueryReturnReasonsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All return reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.ReturnReason.ReturnReason"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/return-states": {
      "get": {
        "tags": [
          "Return"
        ],
        "summary": "Query Return States",
        "description": "Queries all return states.",
        "operationId": "ReturnState_QueryReturnStatesAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All return states.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.ReturnState.ReturnState"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/returns": {
      "post": {
        "tags": [
          "Return"
        ],
        "summary": "Create Return",
        "description": "Create a new return with associated items and packages.",
        "operationId": "Return_CreateReturnAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "createReturn",
          "description": "The details of the return to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.CreateReturn"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created return.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.Return"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "An error occurred while processing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.write"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "Return"
        ],
        "summary": "Query Returns",
        "description": "Queries all returns.",
        "operationId": "Return_QueryReturnsAsync",
        "parameters": [
          {
            "name": "returnNumber",
            "in": "query",
            "description": "Search for a specific return number.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "customerId",
            "in": "query",
            "description": "Gets the unique identifier for the customer.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "IsExisting",
            "in": "query",
            "description": "Gets a value indicating whether the customer key represents an existing customer.",
            "schema": {
              "type": "boolean"
            },
            "x-position": 3
          },
          {
            "name": "salesOrderId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 4
          },
          {
            "name": "returnStateId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
            },
            "x-position": 5
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 6
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 7
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all non-pending returns.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Return.Return"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.read"
            ]
          }
        ],
        "x-sort": 100,
        "x-stability-level": "draft"
      }
    },
    "/v2/returns/{returnId}": {
      "get": {
        "tags": [
          "Return"
        ],
        "summary": "Get Return",
        "description": "Gets a specific return.",
        "operationId": "Return_GetReturnAsync",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "description": "The ID of the return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the return for the given ID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.Return"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No return with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.read"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "draft"
      },
      "patch": {
        "tags": [
          "Return"
        ],
        "summary": "Update Return",
        "description": "Updates the header data of an existing return - external and internal comment, contact, company, warehouse and sales channel transmission. Line items are updated via the line item endpoint. The state of the return is inferred from its line items and cannot be set directly.",
        "operationId": "ReturnDomain_UpdateReturn",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.UpdateReturnCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The updated return.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.Return"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid (for example an unknown company or warehouse).",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No return with the given ID exists.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/returns/{returnId}/line-items": {
      "post": {
        "tags": [
          "wawi",
          "Return"
        ],
        "summary": "Adds a new line item to an existing return.",
        "description": "Adds a new line item to an existing return.",
        "operationId": "ReturnDomain_AddReturnLineItem",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "description": "The ID of the return the line item is added to.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "AddReturnLineItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.Endpoints.V2.ReturnDomain.AddReturnLineItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Successfully added a line item to the return.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.AddReturnLineItemCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid (invalid state, quantity, condition, or return reason).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No return with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.write"
            ]
          }
        ],
        "x-stability-level": "draft"
      },
      "get": {
        "tags": [
          "Return"
        ],
        "summary": "Query Return Line Items",
        "description": "Queries all line items for a specific return.",
        "operationId": "Return_QueryReturnLineItemsAsync",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "description": "The ID of the return that the line items belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested line items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.ReturnLineItem"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No line items could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.read"
            ]
          }
        ],
        "x-sort": 300,
        "x-stability-level": "draft"
      }
    },
    "/v2/returns/{returnId}/line-items/{lineItemId}": {
      "delete": {
        "tags": [
          "wawi",
          "Return"
        ],
        "summary": "Deletes an existing return line item.",
        "description": "Deletes an existing return line item.",
        "operationId": "ReturnDomain_DeleteReturnLineItem",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "description": "The ID of the return that the line item belongs to.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            }
          },
          {
            "name": "lineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the line item to delete.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "The return line item was successfully deleted. Returns 204 No Content — a successful delete has no response payload.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The line item cannot be removed (its return has already progressed past the point where line items may be removed, or it is the last remaining line item of the return).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No return with the given ID exists, or the line item does not belong to this return.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "Return"
        ],
        "summary": "Update Return Line Item",
        "description": "Updates a specific line item of an existing return - state, quantity, return reason and its comment, condition and its comment, and the credit flag. The state of the return is inferred from the states of its line items.",
        "operationId": "ReturnDomain_UpdateReturnLineItem",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            },
            "x-position": 2
          },
          {
            "name": "lineItemId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.UpdateReturnLineItemCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The updated line item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.ReturnLineItem"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid (invalid state transition, quantity exceeding the underlying order, or unknown condition or return reason).",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No return with the given ID exists, or the line item does not belong to this return.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/returns/{returnId}/line-items/{lineItemId}/split": {
      "post": {
        "tags": [
          "wawi",
          "Return"
        ],
        "summary": "Split Return Line Item",
        "description": "Splits an existing return line item into two positions by reducing the original quantity and creating a new position with the split-off quantity.",
        "operationId": "ReturnDomain_SplitReturnLineItem",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "description": "The ID of the return that the line item belongs to.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            }
          },
          {
            "name": "lineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the line item to split.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SplitReturnLineItemRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.Endpoints.V2.ReturnDomain.SplitReturnLineItemRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The split result containing both position IDs and quantities.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.SplitReturnLineItem"
                }
              }
            }
          },
          "400": {
            "description": "Quantity is not greater than 0 or not lower than the line item's current quantity, or a fractional quantity was given for an item that is not divisible.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No return with the given ID exists, or the line item does not belong to this return.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/returns/{returnId}/packages": {
      "get": {
        "tags": [
          "Return"
        ],
        "summary": "Query Return Packages",
        "description": "Queries all packages for a specific return.",
        "operationId": "Return_QueryReturnPackagesAsync",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "description": "The ID of the return that the packages belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested packages.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.ReturnPackage"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No packages could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.read"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "draft"
      }
    },
    "/v2/returns/{returnId}/sales-invoice-corrections": {
      "post": {
        "tags": [
          "wawi",
          "Return"
        ],
        "summary": "Creates one sales invoice correction per invoice that a return's creditable line items resolve to.",
        "description": "Creates one sales invoice correction per invoice that a return's creditable line items resolve to.",
        "operationId": "SalesInvoiceCorrectionDomain_CreateSalesInvoiceCorrectionsFromReturn",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "required": true,
            "description": "The ID of the return to create sales invoice corrections for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreateSalesInvoiceCorrectionsFromReturnRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionsFromReturnRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Per-invoice results of the fan-out. Individual invoices may have failed while others succeeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionsFromReturnCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The return has no line items marked as creditable, or none of its creditable line items could be resolved to any invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No return with the specified ID was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "returns.read",
              "salesinvoicecorrections.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "returns.read",
              "salesinvoicecorrections.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-channels": {
      "get": {
        "tags": [
          "Sales Channel"
        ],
        "summary": "Delivers all sales channels with the available endpoints.",
        "description": "Delivers all sales channels with the available endpoints.",
        "operationId": "SalesChannel_ListDiscoverableSalesChannels",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.SalesChannel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-channels/{salesChannelId}": {
      "get": {
        "tags": [
          "Sales Channel"
        ],
        "summary": "Delivers a single sales channel with the available endpoints by its id.",
        "description": "Delivers a single sales channel with the available endpoints by its id.",
        "operationId": "SalesChannel_GetDiscoverableSalesChannelById",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.SalesChannel"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector": {
      "patch": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Update Connector",
        "description": "Partially updates an existing JTL-Connector account. Every field is optional: a field present in the request body is changed, a field left out keeps its persisted value (May<T> PATCH semantics). The writable field set is the writable half of CreateConnector, property for property, and the response is the same full Connector object - create an account, then patch any subset of the same fields. Only locally editable data is writable here: tShop base data, the connection credentials and tShopKonfiguration. The connector-driven sections (Languages, Currencies, Features, TaxRates, ServerInfo) are response-only and are never accepted as request input, for the same reason as in CreateConnector. Changing Url or ApiToken is not a local write: the persisted metadata mirror describes one specific endpoint, so a connection change is verified against the connection the account would end up with, before anything is written, and the request fails without persisting when that handshake does not succeed. The mirror itself is not refreshed here - the shared refresh service is WAWI-91762 and has no code yet, so until it lands the mirror is brought up to date by RefreshConnector or the next Abgleich. A request that changes neither - or submits the values the account already has - performs a purely local persist with no live call. There is deliberately no ?simulate switch: testing a connection before an account exists is CreateConnector's ?simulate=true, and testing an existing account's credentials is AuthenticateConnector (WAWI-90496). This monolithic PATCH deliberately overlaps the section-based save family (WAWI-90485 configuration, WAWI-90494 credentials); the team decided on 2026-08-26 to build both and remove one later.",
        "operationId": "Connector_UpdateConnector",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account to update.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "UpdateConnectorRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.UpdateConnectorRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The connector account was updated. The body is the same full Connector object CreateConnector returns, read back after the write, so the caller sees the actual post-conditions - normalised values, the fields it did not send, and the connector-driven sections. The metadata sections are the persisted ones; a connection change verifies the new connection but does not re-mirror the metadata yet (WAWI-91762).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.Connector"
                }
              }
            }
          },
          "400": {
            "description": "Request validation failed - a field that was present carries an invalid value (for example a malformed ShippingCountryIso, a blank ApiToken or Name, a negative count). Fields left out of the request are never validated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed or invalid sales channel id, or no Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Only reachable when the request changed the connection data. The Connector endpoint could not be reached, rejected the request, or returned an invalid response; machine-readable error code in the problem details, same three values as CreateConnector: connector-authentication-failed (API token rejected, wire error 790), connector-unreachable, connector-invalid-response. Nothing is persisted - neither the local fields nor the metadata mirror.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Only reachable when the request changed the connection data: the connector endpoint did not respond within the request timeout. Nothing is persisted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/accounts": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers a single connector account by its sales channel id.",
        "description": "Delivers a single connector account by its sales channel id.",
        "operationId": "Connector_GetConnectorAccountById",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account to retrieve (composite id, ADR-69), tenant-local, not a UUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorAccount"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/configuration": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers the persisted synchronisation configuration of a connector account.",
        "description": "Delivers the persisted synchronisation configuration of a connector account.",
        "operationId": "Connector_QueryConnectorConfiguration",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account whose configuration is retrieved.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorConfiguration"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Save Connector Configuration",
        "description": "Replaces the persisted synchronisation configuration (dbo.tShopKonfiguration) of a connector account. Section-scoped: no other part of the connector account - base data, credentials, customer groups, languages, currencies, shipping methods - is read or written. Full replacement, not a patch: the request describes the complete desired state of the configuration section, and every writable field must be sent. Omitting an optional field sets it to null (its documented 'unrestricted / not set' meaning), so a GET-modify-PUT round trip is the intended usage; use UpdateConnector for field-wise partial updates. A connector account that has no configuration row yet gets one created by this call, which is why a partial write is not offered here - 'leave unchanged' has no meaning against a row that does not exist. Persists only: it does not contact the Connector endpoint at any point. Two groups of ConnectorConfiguration fields are deliberately not writable and are not part of this request. Live-only fields reported by the connected endpoint's handshake (PlatformName, PlatformVersion, ProtocolVersion, EndpointVersion, IsOldConnector, ServerInfo) are not persisted at all and can never be written. DummyCategoryId is system-managed - the import pipeline assigns the fallback category itself when an imported product has no category - so it is read-only here and its stored value is preserved unchanged by this call. Submitting any of those names is not an error on REST, where unknown body properties are ignored; on GraphQL the schema rejects them as unknown input fields.",
        "operationId": "Connector_SaveConnectorConfiguration",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account whose configuration is replaced.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SaveConnectorConfigurationRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.SaveConnectorConfigurationRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The configuration was replaced. Returns the configuration as persisted, re-read after the write - not an echo of the request - so normalised values (uppercased ShippingCountryIso, omitted optionals resolved to null) and the preserved read-only DummyCategoryId are visible to the caller.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorConfiguration"
                }
              }
            }
          },
          "400": {
            "description": "A submitted value is outside its allowed range or does not match its required format - for example ShippingCountryIso is not a two-letter ISO 3166-1 alpha-2 code, or a count is negative. Nothing is written.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed or invalid sales channel id, or no Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/credentials": {
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Save Connector Credentials",
        "description": "Replaces the API token a connector account authenticates to its endpoint with. Section-scoped: only the credential is written, no other part of the connector account is read or written. The token is write-only - it is never returned by this endpoint, and no response model anywhere in this API exposes it, so a stored token cannot be read back through the API at all. This call persists only: it does not contact the Connector endpoint and does not verify that the token works. Use AuthenticateConnector to check a token against the live endpoint. Any Connector session cached for this account is discarded as part of the call, so the next call to the endpoint authenticates with the new token rather than continuing on a session obtained with the old one. Only the connector's own access token is in scope. The neighbouring cAPIKey (a JtlShop licence key) and cBenutzerWeb (the dbeS sync user) columns belong to other subsystems and are not writable here or anywhere in this API.",
        "operationId": "Connector_SaveConnectorCredentials",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account whose credentials are replaced.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SaveConnectorCredentialsRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.SaveConnectorCredentialsRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The credentials were stored. No content is returned - the token is never echoed back.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "ApiToken is missing, empty or blank, or longer than 111 bytes in UTF-8. The error message names the offending field only; it never repeats the submitted value or its length.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed or invalid sales channel id, or no Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/currencies": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Connector Currencies",
        "description": "Delivers the ISO 4217 currencies known to the Wawi, annotated with the assignment/default state for a single connector account. Currencies without an ISO 4217 code are not part of the result. The result is not paged and supports no filtering or sorting.",
        "operationId": "Connector_QueryConnectorCurrencies",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account whose currency assignments are retrieved.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCurrency"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/customer-groups": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers the customer groups assigned to a connector account.",
        "description": "Delivers the customer groups assigned to a connector account.",
        "operationId": "Connector_QueryConnectorCustomerGroups",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Connector whose customer groups are listed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCustomerGroupListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "The Connector endpoint could not be reached, rejected the request, or returned an invalid response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "The Connector endpoint did not respond within the request timeout.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Save Connector Customer Groups",
        "description": "Declaratively replaces the complete set of customer-group mappings of a connector account and pushes the resulting mapping live to the Connector endpoint. The request describes the full desired state - provided assignments are upserted and every mapping not contained in the request is cleared. An EndpointId that is neither already mapped nor currently reported by the Connector endpoint (stale data) is silently ignored, exactly as if it had not been submitted. Persistence of the resulting write always succeeds independently of the later live push outcome; a failed or timed-out live push is reported via LiveSyncStatus/LiveSyncError but does not roll back the persisted assignments or change the response code. This command has no IsDefault input - a customer group's default flag, like its display name, is reported by the Connector endpoint itself; it is never accepted from or echoed back with authority by this write path, so a GET-modify-PUT round trip cannot change or need to preserve it. For an EndpointId not already mapped, EndpointName/IsDefault are instead resolved with one live read from the Connector endpoint before anything is persisted - unlike the later live push, a failure of this live read does fail the whole request (502/504) and persists nothing, because it is needed to build a valid response.",
        "operationId": "Connector_SaveConnectorCustomerGroups",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Connector whose customer groups are replaced.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SaveConnectorCustomerGroupsRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.SaveConnectorCustomerGroupsRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully replaced the customer-group mappings. Returns the persisted mappings together with the outcome of the live push to the Connector endpoint.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.SaveConnectorCustomerGroupsCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "A provided CustomerGroupId does not exist; an EndpointId is empty or whitespace-only; the same CustomerGroupId is named more than once; or the same EndpointId (compared case-insensitively) is used by more than one assignment. No mapping is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed or invalid sales channel id, or no Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "At least one submitted EndpointId is not already mapped, and the Connector endpoint could not be reached, rejected the request, or returned an invalid response while resolving it. No mapping is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "At least one submitted EndpointId is not already mapped, and the Connector endpoint did not respond within the request timeout while resolving it. No mapping is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/delete-link": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delete Connector Link",
        "description": "Removes all Wawi↔Connector links (address mappings, customer mappings, queue entries, order references) for the given Connector-based sales channel. Destructive and non-reversible — the shop record itself remains, only its links are cleared. Semantically idempotent: a repeated call for the same salesChannelId is a no-op.",
        "operationId": "Connector_DeleteConnectorLink",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Connector whose links are removed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "DeleteConnectorLinkRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.DeleteConnectorLinkRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The Connector links were removed.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Invalid sales channel id, or Confirm was not set to true.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Shop orders still reference this Connector. Remove or reassign them before unlinking.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/features": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Connector Features",
        "description": "Delivers the feature configuration of a connector account: every known connector feature, each marked whether it is enabled. Reports the persisted configuration state only - the connector endpoint is not called. The result is not paged and supports no filtering or sorting.",
        "operationId": "Connector_QueryConnectorFeatures",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Connector whose features are listed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorFeatureListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/languages": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Connector Languages",
        "description": "Delivers all languages available in the Wawi for a single connector account, each marked whether it is currently assigned and whether it is the default language.",
        "operationId": "Connector_QueryConnectorLanguages",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account (composite id, ADR-69), tenant-local, not a UUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorLanguage"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/refresh": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Refresh Connector",
        "description": "Re-mirrors all connector-driven metadata of an existing JTL-Connector account on demand: performs a live handshake against the endpoint (core.connector.init, connector.identify, core.connector.features, global_data.pull), maps the reported metadata onto Wawi data, persists the connector's mirror tables in one transaction, runs the four global-data sync services (shipping methods, cross-selling groups, units, measurement units) and finally pushes the acknowledgements. The modern equivalent of the legacy global-data import performed today by both the Abgleich and the WPF editor save; without that persisted mirror the Abgleich lacks data (tShopSprache, tShopWaehrung) and fails. Returns the same full object as CreateConnector. Two things are deliberately NOT modified: the customer-group assignment - which Wawi customer group an endpoint-side group maps to - which stays the separate user decision owned by PUT sales-channels/{salesChannelId}/connector/customer-groups, and the locally editable configuration (tShop/tShopKonfiguration). The endpoint side of those mappings IS refreshed: the endpoint-reported name of an existing mapping is updated, a mapping whose endpoint group the endpoint no longer reports is removed, and a live group with no existing mapping is never auto-assigned - choosing its Wawi counterpart stays the user decision owned by the customer-groups endpoint, which lists it as an unassigned candidate. Distinct from ResyncConnector, which clears the Wawi-to-Connector shop mappings so the next sync re-imports everything - this command imports nothing item-level and only refreshes the metadata mirror. Concurrency with a running Abgleich is uncritical: both paths upsert the same semantics from the same live source, so the outcome is last-writer-wins. Caveat inherited from the live pull: each global-data collection is fetched with the connector protocol's default page limit of 50 items, and the mirror write is a full-state replacement, so a connector reporting more than 50 entries in a collection has the excess assignments removed.",
        "operationId": "Connector_RefreshConnector",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Connector account whose metadata is re-mirrored.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Declares the response for a completed refresh: the connector-driven metadata has been re-mirrored and the full object is returned. Deliberately the same model as CreateConnector rather than an id or a 204: the point of a refresh is to show the caller what the endpoint now reports, which only the full object carries. The connector-driven sections (Languages, Currencies, Features, TaxRates, ServerInfo) are sourced from the live handshake the call performs and are never accepted as request input. SalesChannelId is always populated here - unlike CreateConnector's simulate path, this command requires an account that already exists. The response reflects what was persisted and the live snapshot behind it; it does not depend on the outcome of the acknowledgement push that follows, which is best-effort by design.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.Connector"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Invalid or malformed sales channel id, or no Connector-managed sales channel exists for the specified id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "The Connector endpoint could not be reached, rejected the request, or returned an invalid response. Machine-readable error code in the problem details, matching CreateConnector: connector-authentication-failed (API token rejected), connector-unreachable (endpoint could not be reached), connector-invalid-response (response could not be parsed). The previously persisted mirror state is left untouched - every live call happens before any write.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "The connector endpoint did not respond within the request timeout. As with 502, nothing was written.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/resync": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Resync Connector",
        "description": "Clears the Wawi↔Connector shop mappings for the given Connector-based sales channel so the next regular sync treats every entity as new, forcing a complete re-import/re-sync of all online-shop data. Destructive and non-reversible — local mapping state is lost immediately. Distinct from DeleteConnectorLink, which removes the Wawi↔Connector links outright instead of resetting mappings for a fresh sync.",
        "operationId": "Connector_ResyncConnector",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Connector whose shop mappings are cleared.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ResyncConnectorRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.ResyncConnectorRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The Connector shop mappings were cleared; a complete re-sync will follow. No content is returned.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Confirm was not set to true.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Invalid or malformed sales channel id, or no Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The Connector has not completed its live handshake yet (no ConnectorInfo). Link the Connector before resyncing.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "The Connector endpoint could not be reached, rejected the request, or returned an invalid response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "The Connector endpoint did not respond within the request timeout.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/synchronisation-settings": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Connector Synchronisation Settings",
        "description": "Delivers the synchronisation settings configured for a single connector account, one entry per synchronizable object type. A pure read of persisted Wawi-side state - the live Connector endpoint is not contacted. The result is not paged and supports no filtering or sorting: it is a bounded child collection of one connector, capped by the number of synchronizable object types.",
        "operationId": "Connector_QueryConnectorSynchronisationSettings",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account whose synchronisation settings are retrieved (composite id, ADR-69), tenant-local, not a UUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorSynchronisationSetting"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The sales channel id is malformed, does not identify an online shop, or no Connector account exists for it. All three are reported as 404 - a malformed id is deliberately not a 400, matching the other Connector routes.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/connector/tax-rates": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Connector Tax Rates",
        "description": "Delivers the tax rates a Connector endpoint currently reports for a single connector account. Read live from the endpoint on every request: connector tax rates are live-only, there is no persisted per-connector tax rate set, so this endpoint carries the endpoint's latency and failure modes unlike the database-backed sibling endpoints. The underlying global-data pull is capped at 50 items - the same fixed limit the JTL-Wawi desktop client has always used, so this endpoint reports exactly the set the desktop connector editor shows. A connector reporting more tax rates than the cap is truncated by the pull, and the response cannot signal it: the call returns no total count, so truncation is not detectable. Treat a result of exactly 50 items as possibly incomplete. The result is not paged and supports no filtering or sorting.",
        "operationId": "Connector_QueryConnectorTaxRates",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the connector account whose tax rates are listed (composite id, ADR-69), tenant-local, not a UUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorTaxRateListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No Connector account exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "The Connector endpoint could not be reached, rejected the request, or returned an invalid response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "The Connector endpoint did not respond within the request timeout.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/scx/sellers": {
      "delete": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Removes the specified SCX seller/account.",
        "description": "Removes the specified SCX seller/account.",
        "operationId": "Scx_DeleteScxSeller",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account to remove.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The seller/account was removed.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Invalid sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers the detail sub-elements of a single SCX seller by its sales channel id.",
        "description": "Delivers the detail sub-elements of a single SCX seller by its sales channel id.",
        "operationId": "Scx_GetScxSellerDetails",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account (composite id, ADR-69).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "patch": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Update Scx Seller Configuration",
        "description": "Partially updates the configuration (sync, defaults, returns, account) of a SCX seller/account. Only provided fields are changed; omitted fields keep their current value.",
        "operationId": "Scx_UpdateScxSellerConfiguration",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account to update.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "UpdateScxSellerConfigurationRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.UpdateScxSellerConfigurationRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The seller configuration was updated.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Invalid sales channel id, or a referenced shipping/payment method or shipping rule does not belong to the seller's shop.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/scx/sellers/authorizations": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Authorize Scx Seller",
        "description": "(Re-)authorizes the specified SCX seller/account connection. Returns the URL the caller must open to complete the authorization at the marketplace.",
        "operationId": "Scx_AuthorizeScxSeller",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account to authorize.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The authorization URL was created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.AuthorizeScxSellerCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "SCX backend did not respond within the authorization timeout.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/scx/sellers/customer-group-mappings": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers the current customer-group mappings of a SCX seller by its sales channel id.",
        "description": "Delivers the current customer-group mappings of a SCX seller by its sales channel id.",
        "operationId": "Scx_GetScxSellerCustomerGroupMappings",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account (composite id, ADR-69).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxCustomerGroupMapping"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Set Scx Seller Customer Group Mappings",
        "description": "Declaratively replaces the complete set of customer-group mappings of a SCX seller/account. The request describes the full desired state - provided mappings are upserted and the customer-group mapping of every channel price type not contained in the request is cleared, not removed (declarative replace, ADR-57).",
        "operationId": "Scx_SetScxSellerCustomerGroupMappings",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account whose customer-group mappings are replaced.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SetScxSellerCustomerGroupMappingsRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerCustomerGroupMappingsRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully replaced the customer-group mappings. Returns the persisted mappings.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerCustomerGroupMappingsCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid sales channel id, or a provided ChannelPriceTypeId or CustomerGroupId does not belong to the seller's shop; no mapping is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id; no mapping is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/scx/sellers/event-imports": {
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Set Scx Seller Event Import",
        "description": "Declaratively replaces the set of event types whose import is enabled for a SCX seller/account, including their optional CreatedAfter lower bound. The request describes the full desired state - every event type contained in the request is enabled and every event type not contained is disabled (declarative replace, ADR-57). Only the event types of the ScxEventType vocabulary are affected; internal queue entries of other types are never modified or removed by this command and are not part of this collection.",
        "operationId": "Scx_SetScxSellerEventImport",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account whose event imports are replaced.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SetScxSellerEventImportRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerEventImportRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully replaced the event imports. Returns the resulting import state of every event type of the vocabulary.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerEventImportCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid sales channel id, the same event type is contained more than once, or OrderInvoice was supplied although the seller's channel does not transfer invoice documents from the channel; no import is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id; no import is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/scx/sellers/inventory-requests": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Request Scx Seller Inventory",
        "description": "Requests the seller inventory data for a SCX seller/account. Queues the report request and returns its report id synchronously.",
        "operationId": "Scx_RequestScxSellerInventory",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account to request the inventory data for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The inventory report request was queued.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.RequestScxSellerInventoryCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "SCX backend did not respond within the request timeout.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/scx/sellers/metadata-imports": {
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Set Scx Seller Meta Data Import",
        "description": "Declaratively replaces the set of metadata types whose import is enabled for a SCX seller/account. The request describes the full desired state - every metadata type contained in the request is enabled and every metadata type not contained is disabled (declarative replace, ADR-57). Only the metadata types of the ScxMetaDataType vocabulary are affected; internal pull entries of other types are never modified or removed by this command and are not part of this collection.",
        "operationId": "Scx_SetScxSellerMetaDataImport",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account whose metadata imports are replaced.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SetScxSellerMetaDataImportRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerMetaDataImportRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully replaced the metadata imports. Returns the resulting import state of every metadata type of the vocabulary.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerMetaDataImportCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid sales channel id, or the same metadata type is contained more than once; no import is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id; no import is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/scx/sellers/shipping-rule-mappings": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers the current shipping-rule mappings of a SCX seller by its sales channel id.",
        "description": "Delivers the current shipping-rule mappings of a SCX seller by its sales channel id.",
        "operationId": "Scx_GetScxSellerShippingRuleMappings",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account (composite id, ADR-69).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxShippingRuleMapping"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Set Scx Seller Shipping Rule Mappings",
        "description": "Declaratively replaces the complete set of shipping-rule mappings of a SCX seller/account. The request describes the full desired state - provided mappings are upserted and every mapping not contained in the request is removed (declarative replace, ADR-57).",
        "operationId": "Scx_SetScxSellerShippingRuleMappings",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the SCX seller/account whose shipping-rule mappings are replaced.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SetScxSellerShippingRuleMappingsRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerShippingRuleMappingsRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully replaced the shipping-rule mappings. Returns the persisted mappings including their carrier id (server-resolved for a real shipping rule, or the stored custom carrier code for an own-carrier mapping).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerShippingRuleMappingsCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid sales channel id, a provided ShippingRuleId does not belong to the seller's shop, a mapping specifies both a real ShippingRuleId and a CustomCarrierId, or a CustomCarrierId is empty/whitespace-only or exceeds 100 characters; no mapping is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No seller/shop exists for the specified sales channel id; no mapping is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/shop/accounts": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Get Shop Account By Id",
        "description": "Delivers the base data of a single Wawi-managed webshop by its sales channel id. Returns the same shape as QueryShopAccounts, scoped to one shop.",
        "operationId": "Shop_GetShopAccountById",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop to retrieve (composite id, ADR-69), tenant-local, not a UUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopAccount"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "patch": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Save Shop Base Data",
        "description": "Partially updates the base data (name, URL, activation/lock flags, company, root category, order-as-offer and shop-order-number flags) of a Wawi-managed webshop. Only provided fields are changed; omitted fields keep their current value.",
        "operationId": "Shop_SaveShopBaseData",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop whose base data is updated (composite id, ADR-69), tenant-local, not a UUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SaveShopBaseDataRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopBaseDataRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The shop's base data was updated.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "A referenced CompanyId or RootCategoryId does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/shop/currencies": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Shop Currencies",
        "description": "Delivers the currencies known to the Wawi, annotated with the assignment and default state for a single shop. The result is the whole currency catalogue, not just the shop's assignments - every entry carries IsAssigned so a caller can offer a complete currency picker and show which entries are already assigned. Codes are returned in their canonical form and are accepted in the same two forms as the save command on this route (ISO 4217 alpha-3, and the ISO 4217 private-use x- namespace for tenant-defined currencies), so every currency that can be assigned is also listed here. A currency in the Wawi master data whose code matches neither form is omitted, because the code is the identifier of the resource (ADR-85) and such a row has none to expose. Where two master-data rows carry the same code - dbo.tWaehrung has no unique constraint on it - the result is folded down to a single entry per code. The result is not paged and supports no filtering, sorting or projection.",
        "operationId": "Shop_QueryShopCurrencies",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the shop whose currency assignments are retrieved. This is a tenant-local, composite identifier and not a UUID (ADR-69) - it is opaque to the caller and must be taken verbatim from a sales channel listing; the internal shop key (kShop) is never accepted here.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencySelection"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed or invalid sales channel id, or no shop exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Save Shop Currencies",
        "description": "Declaratively replaces the complete set of currencies assigned to a shop. The request describes the full desired state - every currency contained in it is assigned and every currency not contained in it is unassigned. The call is therefore idempotent: repeating it with the same body leaves the shop in the same state, and because the currency is addressed by its natural code (ADR-85) rather than by a server-generated surrogate, no clientId or request token is needed to make a retry safe. Exactly one assignment must be marked as the default currency, and the list must not be empty - a shop without any currency cannot price anything, so clearing all assignments is not an accepted target state on this route. Note on the response shape: unlike a command that returns only the minimal necessary data, this one echoes the complete resulting assignment list. That is deliberate - it matches the existing sales channel precedent and the declarative-replace example in ADR-57, and it saves the caller a follow-up read to learn the canonical form and resolved display name of the codes it just submitted. Concurrency: this write is last-writer-wins. It takes no If-Match header and no row version, so two concurrent calls for the same shop overwrite each other without a conflict being reported - the second call simply wins. Callers that need to protect a read-modify-write cycle have to coordinate outside this API. This is a deliberate choice for the first release of the endpoint, not an oversight: the underlying column (bRowversion) is not mapped today, and adding a required precondition later would be a breaking change, so it is called out here rather than left implicit.",
        "operationId": "Shop_SaveShopCurrencies",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the shop whose currencies are replaced. This is a tenant-local, composite identifier and not a UUID (ADR-69) - it is opaque to the caller and must be taken verbatim from a sales channel listing; the internal shop key (kShop) is never accepted here.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SaveShopCurrenciesRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopCurrenciesRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully replaced the shop currencies. Returns the resulting assignments with their canonical codes and resolved display names.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.SaveShopCurrenciesCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The currency list is empty; no assignment or more than one assignment is marked as the default; a submitted CurrencyCode does not match the accepted form; a submitted CurrencyCode does not resolve to a currency in the Wawi currency master data; or the same currency is named more than once (compared case-insensitively). No assignment is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed or invalid sales channel id, or no shop exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/shop/customer-groups": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Shop Customer Groups",
        "description": "Delivers every tenant-wide customer group together with its assignment state for a Wawi-managed webshop. The result is not paged and supports no filtering or sorting.",
        "operationId": "Shop_QueryShopCustomerGroups",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop whose customer groups — and their assignment state — are returned.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCustomerGroupListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Save Shop Customer Groups",
        "description": "Declaratively replaces the complete set of tenant-wide customer groups assigned to a shop. The request describes the full desired state - every customer group contained in it is assigned and every customer group not contained in it is unassigned. Exactly one assignment must be marked as the default customer group, and the list must not be empty. When an assigned customer group is removed and still has customers assigned to it, the request must name a replacement customer group for it via Replacements - all affected groups are reported together in a single batched error rather than one at a time. Note on the response shape: unlike a command that returns only the minimal necessary data, this one echoes the complete resulting assignment list, matching the existing sales channel precedent (see SaveShopCurrencies) and the declarative-replace example in ADR-57. Concurrency: this write is last-writer-wins, like SaveShopCurrencies - it takes no If-Match header and no row version, so two concurrent calls for the same shop overwrite each other without a conflict being reported.",
        "operationId": "Shop_SaveShopCustomerGroups",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop whose customer groups are replaced. This is a tenant-local, composite identifier and not a UUID (ADR-69) - it is opaque to the caller and must be taken verbatim from a sales channel listing; the internal shop key (kShop) is never accepted here.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SaveShopCustomerGroupsRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopCustomerGroupsRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Successfully replaced the shop customer groups. Returns the resulting assignments.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.SaveShopCustomerGroupsCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The customer group list is empty; no assignment or more than one assignment is marked as the default; a submitted CustomerGroupId does not resolve to a customer group in the Wawi customer group master data; or the same customer group is named more than once.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "One or more removed customer groups still have assigned customers and no matching entry in Replacements. All affected customer groups are named together in a single error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/shop/languages": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Shop Languages",
        "description": "Delivers every language available in the Wawi together with its assignment state for a Wawi-managed webshop, each marked whether it is currently assigned to the shop and whether it is the shop's default language. Listing all languages rather than only the assigned ones matches the sibling routes for connector languages and shop customer groups, and gives the save counterpart the selection list it needs without a second read. The result is not paged and supports no filtering, sorting or projection: the language master data is a hard upper bound of a few dozen rows, so paging would add a cursor contract without bounding anything that is not already bounded.",
        "operationId": "Shop_QueryShopLanguages",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop whose languages - and their assignment state - are returned. This is a tenant-local, composite identifier (ADR-69) and not a UUID; the internal shop key (kShop) is never accepted here.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopLanguageListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/shop/modules": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Shop Modules",
        "description": "Delivers the modules licensed for a Wawi-managed webshop. Reports the persisted configuration only, not the live license activation status. The result is not paged and supports no filtering or sorting.",
        "operationId": "Shop_QueryShopModules",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop whose licensed modules are listed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopModuleListItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/shop/modules/{licenseKey}": {
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Activate Shop Module",
        "description": "Activates a single module licensed for a Wawi-managed webshop, activating it against the dbeS license server and then persisting it. Mirrors the module activation already available in the WPF Verkaufskanalverwaltung (VKV).",
        "operationId": "Shop_ActivateShopModule",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop the module is activated for. This is a tenant-local, composite identifier and not a UUID (ADR-69) - it is opaque to the caller and must be taken verbatim from a sales channel listing; the internal shop key (kShop) is never accepted here.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "licenseKey",
            "in": "path",
            "required": true,
            "description": "The license key of the module to activate, as licensed for the shop.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopModuleLicenseKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully activated the module for the shop. Returns the activated module.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ActivatedShopModule"
                }
              }
            }
          },
          "400": {
            "description": "The shop's Wawi version does not support module license operations, the shop's connection credentials are missing or incomplete, or the license key is empty.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The module is already active for this shop.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "The shop could not be reached, or the dbeS license server rejected the activation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "delete": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Deactivate Shop Module",
        "description": "Deactivates a single module licensed for a Wawi-managed webshop, deactivating it against the dbeS license server and then removing it. Mirrors the module deactivation already available in the WPF Verkaufskanalverwaltung (VKV).",
        "operationId": "Shop_DeactivateShopModule",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the Wawi-managed shop the module is deactivated for. This is a tenant-local, composite identifier and not a UUID (ADR-69) - it is opaque to the caller and must be taken verbatim from a sales channel listing; the internal shop key (kShop) is never accepted here.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "licenseKey",
            "in": "path",
            "required": true,
            "description": "The license key of the module to deactivate, as licensed for the shop.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopModuleLicenseKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deactivated the module for the shop.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The shop's Wawi version does not support module license operations, the shop's connection credentials are missing or incomplete, or the license key is empty.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed sales channel id, the sales channel does not name an online-shop channel, or the named shop is not Wawi-managed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "The shop could not be reached, or the dbeS license server rejected the deactivation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/{salesChannelId}/shop/transfer-parameters": {
      "put": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Save Shop Transfer Parameters",
        "description": "Saves the six transfer parameters that control archive/quick-sync/order transfer thresholds toward the JTL-Shop (legacy ParameterValidationService/ParameterDefaults). Note on scope: although this route is addressed by a shop's sales channel id, the six values below are NOT scoped to that shop. They are persisted globally in dbo.tOptions and apply to every JTL-Shop instance the tenant operates, because the legacy JTL-Shop connector itself only ever reads a single, global set of these settings. The salesChannelId in the route exists solely so the request can be rejected with 404 when it does not name an existing Wawi-managed webshop; once that check passes, the write always targets the same global rows regardless of which valid salesChannelId was used to reach this route. A caller that saves these parameters via shop A and then reads them back via shop B sees the exact same values - that is the intended legacy behavior, not a bug of this endpoint.",
        "operationId": "Shop_SaveShopTransferParameters",
        "parameters": [
          {
            "name": "salesChannelId",
            "in": "path",
            "required": true,
            "description": "Sales channel id of the shop, used only to validate that an existing Wawi-managed webshop is addressed. This is a tenant-local, composite identifier and not a UUID (ADR-69) - it is opaque to the caller and must be taken verbatim from a sales channel listing; the internal shop key (kShop) is never accepted here. Does not scope which shop's transfer parameters are written - see the command description.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "SaveShopTransferParametersRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopTransferParametersRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The shop transfer parameters were saved.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "One of the six parameters is out of range: MaxFilesPerArchive, QuickSyncArticleCount, MaxImagesPerArchive, MaxArchiveSizeInKilobytes, or MaxImageArchiveSizeInKilobytes is less than 1, or OrderTransferCount is less than 1 or greater than 50. No value is changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Malformed or invalid sales channel id, or no shop exists for the specified sales channel id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/connector/accounts": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Create Connector",
        "description": "Creates a new JTL-Connector account. The salesChannelId is derived server-side from the persisted tShop row ({nTyp}-{nPlattform}-{kShop}, ADR-69) and cannot be supplied by the client - hence POST with no id in the route. The route matches the sibling collection GET sales-channels/connector/accounts (QueryConnectorAccounts) one-to-one - same collection, POST creates what GET lists. ResyncConnector/DeleteConnectorLink are not a precedent for this route shape: both act on an already-existing connector and therefore correctly carry {salesChannelId} instead. Performs a live handshake against the endpoint (init + features + global-data pull) using the ShopKey-less clients from WAWI-91760, then validates every taxrate the connector reports against the chosen company's tSteuersatz (400 if any is unmapped). If the live call or taxrate validation fails, nothing is persisted. Otherwise tShop + tShopKonfiguration are inserted in one transaction, followed by a separate transaction for the full metadata mirror; if that second step fails, the handler compensates by deleting the shop row pair rather than leaving an orphaned, metadata-less account - not a single atomic transaction end-to-end. Connector-driven sections of the response (Languages, Currencies, Features, TaxRates, ServerInfo) are always sourced live from the handshake and are never accepted as request input - persisting client-supplied connector metadata would re-introduce the user-write semantics rejected in WAWI-90486/WAWI-90484, and would persist potentially stale data.",
        "operationId": "Connector_CreateConnector",
        "parameters": [
          {
            "name": "simulate",
            "in": "query",
            "description": "When true, runs the identical live handshake and taxrate validation but writes nothing to the database - a connection test before the real create. Defaults to false when omitted. Note: the response shape differs when true - nothing is persisted and SalesChannelId is null - see the response description for the transport-specific details of this deviation.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreateConnectorRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.CreateConnectorRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The Connector account was created (or, for ?simulate=true, the identical live handshake and taxrate validation ran with zero database writes) and the response carries the full metadata mirror. The response is always 201, for both a real create and ?simulate=true - distinguish the two by SalesChannelId being null for ?simulate=true, since no account was persisted. No Location header is ever set. Both are permanent limitations of the current generated endpoint, not omissions of this handler: the generated Send.ResponseAsync(dto, 201, ct) call hardcodes a single status literal and never sets response headers, and HandleAsync is not partial, so no handler-level code can vary the status or add a header. A second, ?simulate=true-only success code and a Location header therefore cannot be represented with the current REST generator. Deliberate ADR-4 deviation: ADR-4 (\"Resultset of Commands\") calls for a Create command to return only the new Id, but this command returns the full Connector object instead. This is intentional: ?simulate=true has no Id to return (nothing is persisted) but still needs to deliver the live-handshake preview (languages, currencies, features, taxrates, server info) that only a full object can carry, so an Id-only result is not a viable shape for that path. The non-simulate 201 path returns the same full shape for symmetry with simulate, rather than switching shapes based on the query parameter.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.Connector"
                }
              }
            }
          },
          "400": {
            "description": "Request validation failed, or at least one taxrate reported by the connector does not exist in the chosen company's tSteuersatz. Nothing is persisted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "The Connector endpoint could not be reached, rejected the request, or returned an invalid response. Machine-readable error code in the problem details - do not collapse into a generic exception, a connection test needs the diagnosis: connector-authentication-failed (API token rejected, wire error 790), connector-unreachable (endpoint could not be reached), connector-invalid-response (response could not be parsed).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "The connector endpoint did not respond within the request timeout.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      },
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers all configured connector accounts. The result is not paged and supports no filtering or sorting.",
        "description": "Delivers all configured connector accounts. The result is not paged and supports no filtering or sorting.",
        "operationId": "Connector_QueryConnectorAccounts",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorAccount"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/sales-channels/scx/channels": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers the catalog of available SCX marketplace channels, including capability flags.",
        "description": "Delivers the catalog of available SCX marketplace channels, including capability flags.",
        "operationId": "Scx_QueryScxChannel",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxChannel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/sales-channels/scx/event-types": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Get Scx Event Types",
        "description": "Delivers the vocabulary of event types whose import can be enabled for a SCX seller. Each entry pairs the numeric value to send as Type in SetScxSellerEventImport with the api key the seller read model reports, so a caller can translate between reading and writing without a hard-coded table. The vocabulary is the same for every seller and every channel; whether an individual type is accepted for a specific seller can additionally depend on that seller's channel configuration.",
        "operationId": "Scx_GetScxEventTypes",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxEventTypeInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/sales-channels/scx/metadata-types": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Get Scx Meta Data Types",
        "description": "Delivers the vocabulary of metadata types whose import can be enabled for a SCX seller. Each entry pairs the numeric value to send as Type in SetScxSellerMetaDataImport with the api key the seller read model reports, so a caller can translate between reading and writing without a hard-coded table. The vocabulary is the same for every seller and every channel.",
        "operationId": "Scx_GetScxMetaDataTypes",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxMetaDataTypeInfo"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/sales-channels/scx/sellers": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Delivers all SCX sellers.",
        "description": "Delivers all SCX sellers.",
        "operationId": "Scx_QueryScxSeller",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSeller"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/sales-channels/scx/sellers/import": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Import Scx Sellers",
        "description": "Imports SCX sellers that have newly connected to the company since the last import. Idempotent on retry - returns an empty list if there is nothing new.",
        "operationId": "Scx_ImportScxSellers",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ImportScxSellersRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.ImportScxSellersRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The newly connected sellers, if any.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ImportScxSellersCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid CompanyId.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "SCX backend did not respond within the import timeout (120 s).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/scx/sellers/refresh": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Refresh Scx Sellers",
        "description": "Imports SCX sellers that have newly connected to the company since the last import, then returns the company's complete current list of sellers.",
        "operationId": "Scx_RefreshScxSellers",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "RefreshScxSellersRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.RefreshScxSellersRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The company's complete current list of SCX sellers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.RefreshScxSellersCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid CompanyId.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "SCX backend did not respond within the import timeout (120 s).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/scx/signups": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Create Scx Sign Up",
        "description": "Creates an onboarding sign-up for a new SCX seller on the given channel. Returns a sign-up id that must be passed to FinalizeScxSignUp once the seller has completed onboarding.",
        "operationId": "Scx_CreateScxSignUp",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreateScxSignUpRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.CreateScxSignUpRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "A new sign-up was created for the given channel.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.CreateScxSignUpCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Channel, or invalid CompanyId.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "SCX backend did not respond within the sign-up timeout (30 s).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/scx/signups/{signUpId}/finalize": {
      "post": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Finalize Scx Sign Up",
        "description": "Checks whether a sign-up has completed and, if so, returns the newly connected seller(s). Call this repeatedly until the sign-up completes or expires.",
        "operationId": "Scx_FinalizeScxSignUp",
        "parameters": [
          {
            "name": "signUpId",
            "in": "path",
            "required": true,
            "description": "Id of the sign-up to finalize.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Reports the current outcome of a sign-up. While the sign-up is still pending, IsCompleted is false and Sellers is empty. Once completed, IsCompleted is true and Sellers holds the newly connected seller(s) - more than one if the channel connects several marketplaces at once.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.FinalizeScxSignUpCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "No sign-up exists for the given SignUpId.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "410": {
            "description": "The sign-up has expired without completing.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-channels/shop/accounts": {
      "get": {
        "tags": [
          "wawi",
          "Sales Channel"
        ],
        "summary": "Query Shop Accounts",
        "description": "Delivers all configured Wawi-managed webshops. Connector-managed shops are not returned - those are listed by QueryConnectorAccounts. The result is not paged and supports no filtering or sorting, because the number of shops configured per tenant is structurally small.",
        "operationId": "Shop_QueryShopAccounts",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopAccount"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "saleschannels.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "saleschannels.read"
            ]
          }
        ],
        "x-stability-level": "alpha",
        "parameters": [
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ]
      }
    },
    "/v2/sales-invoice-corrections": {
      "get": {
        "tags": [
          "wawi",
          "Sales Invoice Correction"
        ],
        "summary": "Queries all sales invoice corrections.",
        "description": "Queries all sales invoice corrections.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "SalesInvoiceCorrectionDomain_QuerySalesInvoiceCorrections",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "salesInvoiceCorrectionDateAfter",
            "in": "query",
            "description": "Only include items whose SalesInvoiceCorrectionDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesInvoiceCorrectionDateBefore",
            "in": "query",
            "description": "Only include items whose SalesInvoiceCorrectionDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printDateAfter",
            "in": "query",
            "description": "Only include items whose PrintDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printDateBefore",
            "in": "query",
            "description": "Only include items whose PrintDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateAfter",
            "in": "query",
            "description": "Only include items whose MailDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateBefore",
            "in": "query",
            "description": "Only include items whose MailDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancelledDateAfter",
            "in": "query",
            "description": "Only include items whose CancelledDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancelledDateBefore",
            "in": "query",
            "description": "Only include items whose CancelledDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.SalesInvoiceCorrectionListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoice-corrections/{salesInvoiceCorrectionId}/cancel": {
      "post": {
        "tags": [
          "Sales Invoice Correction"
        ],
        "summary": "Cancels a sales invoice correction.",
        "description": "Cancels a sales invoice correction.",
        "operationId": "SalesInvoiceCorrectionDomain_CancelSalesInvoiceCorrection",
        "parameters": [
          {
            "name": "salesInvoiceCorrectionId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CancelSalesInvoiceCorrectionCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "Sales invoice correction cancelled successfully",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoice-corrections/{salesInvoiceCorrectionId}/output/mail": {
      "post": {
        "tags": [
          "Sales Invoice Correction"
        ],
        "summary": "Mail Sales Invoice Correction",
        "description": "Execute the mailing of a sales invoice correction",
        "operationId": "SalesInvoiceCorrectionOutput_MailSalesInvoiceCorrectionAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesInvoiceCorrectionId",
            "in": "path",
            "required": true,
            "description": "The id of the sales invoice correction for that the mail to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The MailJob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoice-corrections/{salesInvoiceCorrectionId}/output/pdf": {
      "post": {
        "tags": [
          "Sales Invoice Correction"
        ],
        "summary": "Pdf Sales Invoice Correction",
        "description": "Execute the pdf creation of a sales invoice correction",
        "operationId": "SalesInvoiceCorrectionOutput_PdfSalesInvoiceCorrectionAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesInvoiceCorrectionId",
            "in": "path",
            "required": true,
            "description": "The id of the sales invoice correction for that the creation of a pdf to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The Filestream of the Created PDF",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoice-corrections/{salesInvoiceCorrectionId}/output/print": {
      "post": {
        "tags": [
          "Sales Invoice Correction"
        ],
        "summary": "Print Sales Invoice Correction",
        "description": "Execute the printing of a sales invoice correction",
        "operationId": "SalesInvoiceCorrectionOutput_PrintSalesInvoiceCorrectionAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "printer",
            "in": "query",
            "description": "The target printer to print. The printer is Mandatory, if no User with Own Printer Configuration Available.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "salesInvoiceCorrectionId",
            "in": "path",
            "required": true,
            "description": "The id of the sales invoice correction for that the print to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The Printjob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.print"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.print"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoice-corrections/cancellation-reasons": {
      "get": {
        "tags": [
          "Sales Invoice Correction"
        ],
        "summary": "Query Sales Invoice Correction Cancellation Reasons",
        "description": "Queries all cancellation reasons for sales invoice corrections.",
        "operationId": "SalesInvoiceCorrection_QuerySalesInvoiceCorrectionCancellationReasonsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All cancellation reasons for sales invoice corrections.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesInvoiceCorrection.SalesInvoiceCorrectionCancellationReason"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/sales-invoices": {
      "get": {
        "tags": [
          "wawi",
          "Sales Invoice"
        ],
        "summary": "Queries all sales invoices.",
        "description": "Queries all sales invoices.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "SalesInvoiceDomain_QuerySalesInvoices",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "salesInvoiceDateAfter",
            "in": "query",
            "description": "Only include items whose SalesInvoiceDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesInvoiceDateBefore",
            "in": "query",
            "description": "Only include items whose SalesInvoiceDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "valueDateAfter",
            "in": "query",
            "description": "Only include items whose ValueDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "valueDateBefore",
            "in": "query",
            "description": "Only include items whose ValueDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentDateAfter",
            "in": "query",
            "description": "Only include items whose PaymentDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentDateBefore",
            "in": "query",
            "description": "Only include items whose PaymentDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printDateAfter",
            "in": "query",
            "description": "Only include items whose PrintDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printDateBefore",
            "in": "query",
            "description": "Only include items whose PrintDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateAfter",
            "in": "query",
            "description": "Only include items whose MailDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateBefore",
            "in": "query",
            "description": "Only include items whose MailDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentDueDateAfter",
            "in": "query",
            "description": "Only include items whose PaymentDueDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentDueDateBefore",
            "in": "query",
            "description": "Only include items whose PaymentDueDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dunningDateAfter",
            "in": "query",
            "description": "Only include items whose DunningDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dunningDateBefore",
            "in": "query",
            "description": "Only include items whose DunningDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancelledDateAfter",
            "in": "query",
            "description": "Only include items whose CancelledDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancelledDateBefore",
            "in": "query",
            "description": "Only include items whose CancelledDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateFromAfter",
            "in": "query",
            "description": "Only include items whose ServiceDateFrom is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateFromBefore",
            "in": "query",
            "description": "Only include items whose ServiceDateFrom is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateToAfter",
            "in": "query",
            "description": "Only include items whose ServiceDateTo is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "serviceDateToBefore",
            "in": "query",
            "description": "Only include items whose ServiceDateTo is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateAfter",
            "in": "query",
            "description": "Only include items whose LastShippingDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateBefore",
            "in": "query",
            "description": "Only include items whose LastShippingDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoices.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoices/{invoiceId}": {
      "get": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Get Invoice",
        "description": "Gets a specific invoice.",
        "operationId": "Invoice_GetInvoiceAsync",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "description": "The ID of the invoice to return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the invoice for the given ID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.Invoice"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No invoice with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "draft"
      }
    },
    "/v2/sales-invoices/{invoiceId}/line-items": {
      "get": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Query Invoice Line Items",
        "description": "Queries all line items for a specific invoice.",
        "operationId": "Invoice_QueryInvoiceLineItemsAsync",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "description": "The ID of the invoice that the line items belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested line items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceLineItem"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No invoice line items could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-sort": 300,
        "x-stability-level": "draft"
      }
    },
    "/v2/sales-invoices/{invoiceId}/payments": {
      "delete": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Delete Payments By Invoice Id",
        "description": "Deletes all payments directly connected to the given invoice. This is an all-or-nothing operation - either all payments are deleted, or none are. After successfully deleting all payments, the invoice's payment status is updated accordingly.",
        "operationId": "PaymentDomain_DeletePaymentsByInvoiceId",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns whether all payments of the invoice were successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentDomain.DeletePaymentsByInvoiceIdCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid. Returned when validation fails (e.g., InvoiceId is missing or malformed).",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No invoice with the given InvoiceId was found.",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "payments.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "payments.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-invoices/{invoiceId}/workflow-events/{workflowEventId}": {
      "post": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Trigger Invoice Workflow Event",
        "description": "Triggers a specific workflow event for a given invoice.",
        "operationId": "Invoice_TriggerInvoiceWorkflowEventAsync",
        "parameters": [
          {
            "name": "workflowEventId",
            "in": "path",
            "required": true,
            "description": "The ID of the event that should be started.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceWorkflowEvent"
            },
            "x-position": 1
          },
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "description": "The ID of the invoice for which the workflow event should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-invoices/{invoiceId}/workflows": {
      "post": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Trigger Invoice Workflow",
        "description": "Triggers a manual workflow for a given invoice.",
        "operationId": "Invoice_TriggerInvoiceWorkflowAsync",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "description": "The ID of the invoice for which the manual workflow should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "workflow",
          "description": "The manual workflow to trigger.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateWorkflowEvent"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.write"
            ]
          }
        ],
        "x-sort": 2100,
        "x-stability-level": "draft"
      }
    },
    "/v2/sales-invoices/{salesInvoiceId}/cancel": {
      "post": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Cancels a sales invoice.",
        "description": "Cancels a sales invoice.",
        "operationId": "SalesInvoiceDomain_CancelSalesInvoice",
        "parameters": [
          {
            "name": "salesInvoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.CancelSalesInvoiceCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "Sales invoice cancelled successfully",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoices/{salesInvoiceId}/correct": {
      "post": {
        "tags": [
          "wawi",
          "Sales Invoice"
        ],
        "summary": "Creates a new sales invoice correction from an existing invoice.",
        "description": "Creates a new sales invoice correction from an existing invoice.",
        "operationId": "SalesInvoiceCorrectionDomain_CreateSalesInvoiceCorrection",
        "parameters": [
          {
            "name": "salesInvoiceId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales invoice to create the correction for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreateSalesInvoiceCorrectionRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Sales invoice correction created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoicecorrections.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoicecorrections.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoices/{salesInvoiceId}/output/mail": {
      "post": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Mail Sales Invoice",
        "description": "Execute the mailing of a sales invoice",
        "operationId": "SalesInvoiceOutput_MailSalesInvoiceAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesInvoiceId",
            "in": "path",
            "required": true,
            "description": "The id of the sales invoice for that the mail to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The MailJob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoices.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoices/{salesInvoiceId}/output/pdf": {
      "post": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Pdf Sales Invoice",
        "description": "Execute the pdf creation of a sales invoice",
        "operationId": "SalesInvoiceOutput_PdfSalesInvoiceAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesInvoiceId",
            "in": "path",
            "required": true,
            "description": "The id of the sales invoice for that the creation of a pdf to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The Filestream of the Created PDF",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoices.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoices/{salesInvoiceId}/output/print": {
      "post": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Print Sales Invoice",
        "description": "Execute the printing of a sales invoice",
        "operationId": "SalesInvoiceOutput_PrintSalesInvoiceAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "printer",
            "in": "query",
            "description": "The target printer to print. The printer is Mandatory, if no User with Own Printer Configuration Available.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "salesInvoiceId",
            "in": "path",
            "required": true,
            "description": "The id of the sales invoice for that the print to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The Printjob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoices.print"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoices.print"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoices/cancellation-reasons": {
      "get": {
        "tags": [
          "wawi",
          "Sales Invoice"
        ],
        "summary": "Queries all sales invoice cancellation reasons",
        "description": "Queries all sales invoice cancellation reasons\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "SalesInvoiceDomain_QuerySalesInvoiceCancellationReasons",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceCancellationReason"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoices.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-invoices/workflows": {
      "get": {
        "tags": [
          "Sales Invoice"
        ],
        "summary": "Query Invoice Workflows",
        "description": "Queries all manual workflows available for invoices.",
        "operationId": "Invoice_QueryInvoiceWorkflowsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All manual workflows for invoices that could be triggered via REST API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.WorkflowEvent"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No events could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "invoices.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "invoices.read"
            ]
          }
        ],
        "x-sort": 2000,
        "x-stability-level": "draft"
      }
    },
    "/v2/sales-orders": {
      "get": {
        "tags": [
          "wawi",
          "Sales Order"
        ],
        "summary": "Queries all sales orders.",
        "description": "Queries all sales orders.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "SalesOrderDomain_QuerySalesOrders",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "estimatedDeliveryDateAfter",
            "in": "query",
            "description": "Only include items whose EstimatedDeliveryDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "estimatedDeliveryDateBefore",
            "in": "query",
            "description": "Only include items whose EstimatedDeliveryDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateAfter",
            "in": "query",
            "description": "Only include items whose LastShippingDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastShippingDateBefore",
            "in": "query",
            "description": "Only include items whose LastShippingDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesOrderDateAfter",
            "in": "query",
            "description": "Only include items whose SalesOrderDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesOrderDateBefore",
            "in": "query",
            "description": "Only include items whose SalesOrderDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printDateAfter",
            "in": "query",
            "description": "Only include items whose PrintDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printDateBefore",
            "in": "query",
            "description": "Only include items whose PrintDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateAfter",
            "in": "query",
            "description": "Only include items whose MailDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateBefore",
            "in": "query",
            "description": "Only include items whose MailDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentMailDateAfter",
            "in": "query",
            "description": "Only include items whose PaymentMailDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentMailDateBefore",
            "in": "query",
            "description": "Only include items whose PaymentMailDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateOfPaymentAfter",
            "in": "query",
            "description": "Only include items whose DateOfPayment is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateOfPaymentBefore",
            "in": "query",
            "description": "Only include items whose DateOfPayment is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentDateAfter",
            "in": "query",
            "description": "Only include items whose PaymentDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "paymentDateBefore",
            "in": "query",
            "description": "Only include items whose PaymentDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancelledDateAfter",
            "in": "query",
            "description": "Only include items whose CancelledDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cancelledDateBefore",
            "in": "query",
            "description": "Only include items whose CancelledDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Creates a new sales order.",
        "description": "Creates a new sales order.",
        "operationId": "SalesOrderDomain_CreateSalesOrder",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateSalesOrderCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Sales order created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateSalesOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{id}/mark-as-paid": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Marks a given sales order as completely paid by creating a payment with the open amount of the sales order.",
        "description": "Marks a given sales order as completely paid by creating a payment with the open amount of the sales order.",
        "operationId": "SalesOrderDomain_MarkSalesOrderAsPaid",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.MarkSalesOrderAsPaidCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Sales order was successfully marked as paid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.MarkSalesOrderAsPaidCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}": {
      "patch": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Modifies an existing sales order.",
        "description": "Modifies an existing sales order.",
        "operationId": "SalesOrderDomain_UpdateSalesOrder",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "SalesOrder was successfully modified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Retrieves a single sales order by its ID.",
        "description": "Retrieves a single sales order by its ID.",
        "operationId": "SalesOrderDomain_GetSalesOrderById",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrder"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/cancel": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Cancel Sales Order",
        "description": "Cancels a specific sales order.",
        "operationId": "SalesOrder_CancelSalesOrderAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order to cancel.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "cancellationDetails",
          "description": "The details for the cancellation to be performed.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.CreateSalesOrderCancellationDetails"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "406": {
            "description": "The sales order cannot be cancelled.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 1000,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/custom-fields": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Custom Field Values",
        "description": "Queries all custom fields and values for a specific sales order.",
        "operationId": "SalesOrder_QuerySalesOrderCustomFieldValuesAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the custom field belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested custom fields values for a sales order.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomFieldValue"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read",
              "all.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read",
              "all.read"
            ]
          }
        ],
        "x-sort": 710,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/custom-fields/{customfieldId}": {
      "patch": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Update Sales Order Custom Field",
        "description": "Updates the value of a specific sales order custom field.",
        "operationId": "SalesOrder_UpdateSalesOrderCustomFieldAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the custom field belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "customfieldId",
            "in": "path",
            "required": true,
            "description": "The ID of the customfield that should be updated.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "customFieldValue",
          "description": "The custom field value.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateCustomFieldValue"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 720,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Delete Sales Order Custom Field",
        "description": "Deletes the value of a specific custom field of a given sales order.",
        "operationId": "SalesOrder_DeleteSalesOrderCustomFieldAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the custom field belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "customfieldId",
            "in": "path",
            "required": true,
            "description": "The ID of the customfield that should be deleted.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 730,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{SalesOrderId}/deliver": {
      "post": {
        "tags": [
          "Sales Orders"
        ],
        "summary": "Delivers a sales order, creating a delivery document and updating stock levels.",
        "description": "Delivers a sales order, creating a delivery document and updating stock levels.",
        "operationId": "Delivery_DeliverSalesOrder",
        "parameters": [
          {
            "name": "SalesOrderId",
            "x-originalName": "salesOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The sales order has successfully been delivered.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliverSalesOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/sales-orders/{salesOrderId}/delivery-notes": {
      "get": {
        "tags": [
          "wawi",
          "Sales Order"
        ],
        "summary": "Returns the delivery notes of the specified sales order.",
        "description": "Returns the delivery notes of the specified sales order.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Delivery_QueryDeliveryNotesBySalesOrderId",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order whose delivery notes are to be retrieved.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "deliveryNoteDateAfter",
            "in": "query",
            "description": "Only include items whose DeliveryNoteDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "deliveryNoteDateBefore",
            "in": "query",
            "description": "Only include items whose DeliveryNoteDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNote"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/files": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Files",
        "description": "Queries all files for a specific sales order.",
        "operationId": "SalesOrder_QuerySalesOrderFilesAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested files.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderFile"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read",
              "all.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read",
              "all.read"
            ]
          }
        ],
        "x-sort": 500,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Create Sales Order File",
        "description": "Creates a new file for a specific sales order.",
        "operationId": "SalesOrder_CreateSalesOrderFileAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "file",
          "description": "The file to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateFile"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created file.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderFile"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 520,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/files/{salesOrderFileId}": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order File Data",
        "description": "Queries the data for a specific sales order file.",
        "operationId": "SalesOrder_QuerySalesOrderFileDataAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderFileId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the sales order file.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragFileKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested file data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "all.read",
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "all.read",
              "salesorders.read"
            ]
          }
        ],
        "x-sort": 510,
        "x-stability-level": "stable"
      },
      "patch": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Update Sales Order File",
        "description": "Updates a file for a specific sales order.",
        "operationId": "SalesOrder_UpdateSalesOrderFileAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "salesOrderFileId",
            "in": "path",
            "required": true,
            "description": "The ID of a specific sales order file.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragFileKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "file",
          "description": "The file to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateFile"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The updated sales order file.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderFile"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order with the given ID exists.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 525,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Delete Sales Order File",
        "description": "Deletes a specific file for a given sales order.",
        "operationId": "SalesOrder_DeleteSalesOrderFileAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderFileId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order file.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragFileKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 530,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/get-deliverability": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Returns the deliverability information for a specific sales order.",
        "description": "Returns the deliverability information for a specific sales order.",
        "operationId": "Delivery_GetDeliverabilityBySalesOrderId",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.SalesOrderDeliverability"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/invoices": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Creates a new sales invoice for a sales order.",
        "description": "Creates a new sales invoice for a sales order.",
        "operationId": "SalesInvoiceDomain_CreateSalesInvoice",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.CreateSalesInvoiceCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Sales invoice created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.CreateSalesInvoiceCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesinvoices.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesinvoices.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/line-items": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Line Items",
        "description": "Queries all line items for a specific sales order.",
        "operationId": "SalesOrder_QuerySalesOrderLineItemsAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the line items belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested line items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItem"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read",
              "all.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read",
              "all.read"
            ]
          }
        ],
        "x-sort": 300,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Create Sales Order Line Item",
        "description": "Creates a new line item for a specific sales order.",
        "operationId": "SalesOrder_CreateSalesOrderLineItemAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the line items belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "lineItems",
          "description": "The line items to create.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.CreateSalesOrderLineItem"
                }
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created line items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 310,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/line-items/{salesOrderLineItemId}": {
      "patch": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Update Sales Order Line Item",
        "description": "Updates a line item for a specific sales order.",
        "operationId": "SalesOrder_UpdateSalesOrderLineItemAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the line items belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "salesOrderLineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the line item that belongs to the sales order.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "salesOrderLineItem",
          "description": "The line item to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.UpdateSalesOrderLineItem"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No line item with the given ID exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 320,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Delete Sales Order Line Item",
        "description": "Deletes a specific line item for a given sales order.",
        "operationId": "SalesOrder_DeleteSalesOrderLineItemAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the line items belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderLineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the line item that belongs to the sales order.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "Deletion of position not allowed.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 330,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/line-items/{salesOrderLineItemId}/files": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Line Item Files",
        "description": "Queries files for line items of a specific sales order.",
        "operationId": "SalesOrder_QuerySalesOrderLineItemFilesAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for which line item files are being queried.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderLineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order line item for which files are being queried.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The files for the line items of the specified sales order.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItemFile"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No files found for the line items of the specified sales order.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-sort": 540,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Create Sales Order Line Item File",
        "description": "Creates a new file for a specific sales order line item.",
        "operationId": "SalesOrder_CreateSalesOrderLineItemFileAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "salesOrderLineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order line item that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "file",
          "description": "The file to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateFile"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created file.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItemFile"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 520,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/line-items/{salesOrderLineItemId}/files/{salesOrderLineItemFileId}": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Line Item File Data",
        "description": "Queries the data for a specific sales order line item file.",
        "operationId": "SalesOrder_QuerySalesOrderLineItemFileDataAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderLineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order line item that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
            },
            "x-position": 2
          },
          {
            "name": "salesOrderLineItemFileId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the sales order line item file.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionFileKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested file data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "all.read",
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "all.read",
              "salesorders.read"
            ]
          }
        ],
        "x-sort": 510,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Delete Sales Order Line Item File",
        "description": "Deletes all line item files for a given sales order and line item.",
        "operationId": "SalesOrder_DeleteSalesOrderLineItemFileAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderLineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order line item that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
            },
            "x-position": 2
          },
          {
            "name": "salesOrderLineItemFileId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order line item file to delete.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionFileKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order with the given ID exists.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 530,
        "x-stability-level": "stable"
      },
      "patch": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Update Sales Order Line Item File",
        "description": "Updates a file for a specific sales order line item.",
        "operationId": "SalesOrder_UpdateSalesOrderLineItemFileAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "salesOrderLineItemId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order line item that the file belongs to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
            },
            "x-position": 3
          },
          {
            "name": "salesOrderLineItemFileId",
            "in": "path",
            "required": true,
            "description": "The ID for a sales order line item file.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionFileKey"
            },
            "x-position": 4
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "file",
          "description": "The file to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.UpdateSalesOrderLineItemFile"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The updated sales order line item file.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItemFile"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order with the given ID exists.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 540,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/notes": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Notes",
        "description": "Queries all notes for a specific sales order.",
        "operationId": "SalesOrder_QuerySalesOrderNotesAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested notes of the sales order.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Note"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No data could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read",
              "all.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read",
              "all.read"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Create Sales Order Note",
        "description": "Creates a new note for a specific sales order.",
        "operationId": "SalesOrder_CreateSalesOrderNoteAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "note",
          "description": "The note of the sales order to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateNote"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created note of the sales order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Note"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 410,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/notes/{noteId}": {
      "patch": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Update Sales Order Note",
        "description": "Updates a specific note for a given sales order.",
        "operationId": "SalesOrder_UpdateSalesOrderNoteAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "noteId",
            "in": "path",
            "required": true,
            "description": "The ID of the note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.NotizKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "note",
          "description": "The note to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateNote"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No note with the given ID exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 720,
        "x-stability-level": "stable"
      },
      "delete": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Delete Sales Order Note",
        "description": "Deletes a specific note for a given sales order.",
        "operationId": "SalesOrder_DeleteSalesOrderNoteAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order that the notes belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "noteId",
            "in": "path",
            "required": true,
            "description": "The ID of the note.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.NotizKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No sales order note with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 730,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/output/mail": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Mail Sales Order",
        "description": "Executes the mailing of a sales order.",
        "operationId": "SalesOrder_MailSalesOrderAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for that the mail to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The Mailjob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/output/pdf": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Pdf Sales Order",
        "description": "Creates a PDF for a sales order.",
        "operationId": "SalesOrder_PdfSalesOrderAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for that the creation of a PDF to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The filestream of the created PDF.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/output/print": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Print Sales Order",
        "description": "Prints a sales order.",
        "operationId": "SalesOrder_PrintSalesOrderAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "printer",
            "in": "query",
            "description": "The target printer to print. The printer is mandatory, if no user with own printer configuration available.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for that the print to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The Printjob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.print"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.print"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/packages": {
      "get": {
        "tags": [
          "wawi",
          "Sales Order"
        ],
        "summary": "Returns the packages of a specific sales order.",
        "description": "Returns the packages of a specific sales order.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Delivery_QueryPackagesBySalesOrderId",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order whose packages are to be retrieved.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "shippingDateAfter",
            "in": "query",
            "description": "Only include items whose ShippingDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "shippingDateBefore",
            "in": "query",
            "description": "Only include items whose ShippingDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.Package"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "deliverynotes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "deliverynotes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/payments": {
      "get": {
        "tags": [
          "wawi",
          "Sales Order"
        ],
        "summary": "Query Payments By Sales Order Id",
        "description": "Query for sales order payments. Payments that are only linked via a sales invoice associated with the sales order are returned only if IncludeInvoicePayments is true.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "PaymentDomain_QueryPaymentsBySalesOrderId",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The sales order id",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            }
          },
          {
            "name": "includeInvoicePayments",
            "in": "query",
            "description": "Specifies whether payments booked on the invoices associated with the specified sales order should also be returned. Defaults to false when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentDomain.Payment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "payments.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "payments.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "delete": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Delete All Payments By Sales Order Id",
        "description": "Deletes all payments that are directly linked to a sales order. Payments that are only linked via a sales invoice associated with the sales order are deleted only if IncludeInvoicePayments is true. Either all payments are deleted or none of them (all-or-nothing); if not all payments could be deleted, the request fails and none are deleted.",
        "operationId": "PaymentDomain_DeleteAllPaymentsBySalesOrderId",
        "parameters": [
          {
            "name": "includeInvoicePayments",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "All payments covered by the request were successfully deleted. No content is returned.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The sales order does not exist.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "payments.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "payments.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/{salesOrderId}/workflow-events/{workflowEventId}": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Trigger Sales Order Workflow Event",
        "description": "Triggers a specific workflow event for a given sales order.",
        "operationId": "SalesOrder_TriggerSalesOrderWorkflowEventAsync",
        "parameters": [
          {
            "name": "workflowEventId",
            "in": "path",
            "required": true,
            "description": "The ID of the event that should be started.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderWorkflowEvent"
            },
            "x-position": 1
          },
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for which the workflow event should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/{salesOrderId}/workflows": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Trigger Sales Order Workflow",
        "description": "Triggers a manual workflow for a given sales order.",
        "operationId": "SalesOrder_TriggerSalesOrderWorkflowAsync",
        "parameters": [
          {
            "name": "salesOrderId",
            "in": "path",
            "required": true,
            "description": "The ID of the sales order for which the manual workflow should be started.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "workflow",
          "description": "The manual workflow to trigger.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateWorkflowEvent"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-sort": 2100,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/calculate": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Calculate prices, discounts, and taxes for a sales order without persisting it.",
        "description": "Calculate prices, discounts, and taxes for a sales order without persisting it.",
        "operationId": "SalesOrderDomain_CalculateSalesOrder",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Sales order calculated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/calculate-sales-entity": {
      "post": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Recalculate prices, discounts, and taxes for a sales entity from a client-supplied state without persisting it.",
        "description": "Recalculate prices, discounts, and taxes for a sales entity from a client-supplied state without persisting it.",
        "operationId": "SalesOrderDomain_CalculateSalesEntity",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Sales entity calculated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/cancellation-reasons": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Cancellation Reasons",
        "description": "Queries all cancellation reasons for sales orders.",
        "operationId": "SalesOrder_QuerySalesOrderCancellationReasonsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All cancellation reasons for sales orders.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderCancellationReason"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "all.read",
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "all.read",
              "salesorders.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "draft"
      }
    },
    "/v2/sales-orders/custom-fields": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Custom Fields",
        "description": "Queries all custom fields for a sales order.",
        "operationId": "SalesOrder_QuerySalesOrderCustomFieldsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested custom fields for sales orders.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomField"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read",
              "all.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read",
              "all.read"
            ]
          }
        ],
        "x-sort": 700,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-orders/item-price-details": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Returns a list of price details for the requested items.",
        "description": "Returns a list of price details for the requested items.",
        "operationId": "SalesOrderDomain_GetItemPriceDetails",
        "parameters": [
          {
            "name": "itemIds",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
              }
            },
            "x-position": 1
          },
          {
            "name": "customerId",
            "in": "query",
            "description": "Gets the unique identifier for the customer.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
            },
            "x-position": 2
          },
          {
            "name": "IsExisting",
            "in": "query",
            "description": "Gets a value indicating whether the customer key represents an existing customer.",
            "schema": {
              "type": "boolean"
            },
            "x-position": 3
          },
          {
            "name": "currencyFactor",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "decimal"
            },
            "x-position": 4
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.ItemPriceDetails"
                  }
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/new": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Get Empty Sales Order",
        "description": "Returns an empty sales order with default values without persisting it. This is equivalent to opening a new sales order dialog in the UI.",
        "operationId": "SalesOrderDomain_GetEmptySalesOrder",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrder"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-orders/workflows": {
      "get": {
        "tags": [
          "Sales Order"
        ],
        "summary": "Query Sales Order Workflows",
        "description": "Queries all manual workflows available for sales orders.",
        "operationId": "SalesOrder_QuerySalesOrderWorkflowsAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All manual workflows for sales orders that could be triggered via REST-API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.WorkflowEvent"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No fields could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read",
              "all.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read",
              "all.read"
            ]
          }
        ],
        "x-sort": 2000,
        "x-stability-level": "stable"
      }
    },
    "/v2/sales-quotations": {
      "get": {
        "tags": [
          "wawi",
          "Sales Quotation"
        ],
        "summary": "Retrieves all sales quotations.",
        "description": "Retrieves all sales quotations.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "SalesQuotationDomain_QuerySalesQuotations",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "printDateAfter",
            "in": "query",
            "description": "Only include items whose PrintDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "printDateBefore",
            "in": "query",
            "description": "Only include items whose PrintDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateAfter",
            "in": "query",
            "description": "Only include items whose MailDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mailDateBefore",
            "in": "query",
            "description": "Only include items whose MailDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesQuotationDateAfter",
            "in": "query",
            "description": "Only include items whose SalesQuotationDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "salesQuotationDateBefore",
            "in": "query",
            "description": "Only include items whose SalesQuotationDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Creates a new sales quotation.",
        "description": "Creates a new sales quotation.",
        "operationId": "SalesQuotationDomain_CreateSalesQuotation",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateSalesQuotationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Sales quotation created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateSalesQuotationCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-quotations/{id}": {
      "get": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Retrieves a single sales quotation by its ID",
        "description": "Retrieves a single sales quotation by its ID",
        "operationId": "SalesQuotationDomain_GetSalesQuotationById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotation"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-quotations/{salesQuotationId}": {
      "patch": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Modifies an existing sales quotation.",
        "description": "Modifies an existing sales quotation.",
        "operationId": "SalesQuotationDomain_UpdateSalesQuotation",
        "parameters": [
          {
            "name": "salesQuotationId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateSalesQuotationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "SalesQuotation was successfully modified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateSalesQuotationCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-quotations/{salesQuotationId}/cancel": {
      "post": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Cancels a sales quotation.",
        "description": "Cancels a sales quotation.",
        "operationId": "SalesQuotationDomain_CancelSalesQuotation",
        "parameters": [
          {
            "name": "salesQuotationId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CancelSalesQuotationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "Sales quotation cancelled successfully",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-quotations/{salesQuotationId}/output/mail": {
      "post": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Mail Sales Quotation",
        "description": "Execute the mailing of a sales quotation",
        "operationId": "SalesQuotationOutput_MailSalesQuotationAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesQuotationId",
            "in": "path",
            "required": true,
            "description": "The id of the sales quotation for that the mail to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The MailJob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-quotations/{salesQuotationId}/output/pdf": {
      "post": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Pdf Sales Quotation",
        "description": "Execute the pdf creation of a sales quotation",
        "operationId": "SalesQuotationOutput_PdfSalesQuotationAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "salesQuotationId",
            "in": "path",
            "required": true,
            "description": "The id of the sales quotation for that the creation of a pdf to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The Filestream of the Created PDF",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.read"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-quotations/{salesQuotationId}/output/print": {
      "post": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Print Sales Quotation",
        "description": "Execute the printing of a sales quotation",
        "operationId": "SalesQuotationOutput_PrintSalesQuotationAsync",
        "parameters": [
          {
            "name": "formId",
            "in": "query",
            "description": "Gets the unique identifier for the form (Formular) entity.\n            ",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FormularKey"
            },
            "x-position": 1
          },
          {
            "name": "printer",
            "in": "query",
            "description": "The target printer to print. The printer is Mandatory, if no User with Own Printer Configuration Available.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "salesQuotationId",
            "in": "path",
            "required": true,
            "description": "The id of the sales quotation for that the print to start.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "The Printjob is created",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesquotations.print"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesquotations.print"
            ]
          }
        ],
        "x-sort": 5010,
        "x-stability-level": "beta"
      }
    },
    "/v2/sales-quotations/{salesQuotationId}/sales-order": {
      "post": {
        "tags": [
          "Sales Quotation"
        ],
        "summary": "Create a new sales order for a sales quotation",
        "description": "Create a new sales order for a sales quotation",
        "operationId": "SalesQuotationDomain_CreateSalesOrderFromSalesQuotation",
        "parameters": [
          {
            "name": "salesQuotationId",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "201": {
            "description": "Sales order created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateSalesOrderFromSalesQuotationCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/shipping-classes": {
      "get": {
        "tags": [
          "wawi",
          "Item"
        ],
        "summary": "Queries all shipping classes.",
        "description": "Queries all shipping classes.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "ShippingClass_QueryShippingClasses",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.ShippingClassListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Creates a new shipping class.",
        "description": "Creates a new shipping class.",
        "operationId": "ShippingClass_CreateShippingClass",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.CreateShippingClassCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The shipping class was successfully created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.CreateShippingClassCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "items.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "items.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/shipping-methods": {
      "get": {
        "tags": [
          "wawi",
          "Master Data"
        ],
        "summary": "Queries all shipping methods.",
        "description": "Queries all shipping methods.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "ShippingMethods_QueryShippingMethods",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Shipment.PublicApi.DataTransferObjects.V2.ShippingMethods.ShippingMethodLookupItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.config.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.config.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/stocks": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Query Stocks Per Item",
        "description": "Queries stocks for a specific item, warehouse or storage location.",
        "operationId": "Stock_QueryStocksPerItemAsync",
        "parameters": [
          {
            "name": "itemId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 1
          },
          {
            "name": "warehouseId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 2
          },
          {
            "name": "storageLocationId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
            },
            "x-position": 3
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 4
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 5
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested stock information.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Stock.Stock"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No stocks could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventories.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventories.read"
            ]
          }
        ],
        "x-sort": 200,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Stock Adjustment",
        "description": "Adjusts the stock of a specific item. Depending on the item and warehouse, many more details must be given (e.g., storage location, batch, ...).",
        "operationId": "Stock_StockAdjustmentAsync",
        "parameters": [
          {
            "name": "disableAutomaticWorkflows",
            "in": "query",
            "description": "If true, the workflows do not trigger automatically.",
            "schema": {
              "type": "boolean"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "stock",
          "description": "The relevant information for the stock change.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Stock.CreateStock"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The created stock.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Stock.Stock"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No category with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventories.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventories.write"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "stable"
      }
    },
    "/v2/stocks/batches": {
      "get": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Delivers a queryable to lookup batch",
        "description": "Delivers a queryable to lookup batch\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Stocks_QueryBatches",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BatchListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/stocks/best-before-dates": {
      "get": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Delivers a queryable to lookup best before dates (MHDs)",
        "description": "Delivers a queryable to lookup best before dates (MHDs)\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Stocks_QueryBestBeforeDates",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "bestBeforeDateAfter",
            "in": "query",
            "description": "Only include items whose BestBeforeDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "bestBeforeDateBefore",
            "in": "query",
            "description": "Only include items whose BestBeforeDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BestBeforeListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/stocks/changes": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Query Stock Changes",
        "description": "Queries all stock changes for a specific item from a given start date.",
        "operationId": "Stock_QueryStockChangesAsync",
        "parameters": [
          {
            "name": "itemId",
            "in": "query",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 1
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start date from which all stock changes until now are returned.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 3
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 4
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The requested stock changes.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Stock.StockChange"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No stock changes could be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventories.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventories.read"
            ]
          }
        ],
        "x-sort": 300,
        "x-stability-level": "stable"
      }
    },
    "/v2/stocks/items": {
      "get": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Delivers a queryable for stock items",
        "description": "Delivers a queryable for stock items\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Stocks_QueryStockItem",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStockItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/stocks/reservations": {
      "get": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Delivers a queryable to lookup stock reservations",
        "description": "Delivers a queryable to lookup stock reservations\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Stocks_QueryStockReservations",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockReservationListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/stocks/serialnumbers": {
      "get": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Delivers a queryable to lookup serial numbers",
        "description": "Delivers a queryable to lookup serial numbers\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Stocks_QuerySerialNumbers",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.SerialNumberListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/suppliers": {
      "post": {
        "tags": [
          "wawi",
          "Supplier"
        ],
        "summary": "Creates a new supplier.",
        "description": "Creates a new supplier.",
        "operationId": "SupplierDomain_CreateSupplier",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "CreateSupplierRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.Endpoints.V2.SupplierDomain.CreateSupplierRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Supplier created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.CreateSupplierCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "suppliers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "suppliers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "get": {
        "tags": [
          "wawi",
          "Supplier"
        ],
        "summary": "Query Suppliers",
        "description": "Delivers a queryable overview list of active default-type suppliers (nType=0 AND cAktiv='Y'). WAWI-90273: repointed to the canonical Suppliers v2 query — the previous experimental query returned all tlieferant rows unfiltered (see the deliberate scope change documented on the PR/ticket).\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "SupplierDomain_QuerySuppliers",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "createdAtAfter",
            "in": "query",
            "description": "Only include items whose CreatedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdAtBefore",
            "in": "query",
            "description": "Only include items whose CreatedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "changedAtAfter",
            "in": "query",
            "description": "Only include items whose ChangedAt is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "changedAtBefore",
            "in": "query",
            "description": "Only include items whose ChangedAt is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.Supplier"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "suppliers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "suppliers.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/suppliers/{supplierId}": {
      "get": {
        "tags": [
          "wawi",
          "Supplier"
        ],
        "summary": "Delivers the curated detail of a single supplier by its id, regardless of active state.",
        "description": "Delivers the curated detail of a single supplier by its id, regardless of active state.",
        "operationId": "SupplierDomain_GetSupplierById",
        "parameters": [
          {
            "name": "supplierId",
            "in": "path",
            "required": true,
            "description": "The key of the supplier to resolve.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.SupplierDetail"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "suppliers.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "suppliers.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "wawi",
          "Supplier"
        ],
        "summary": "Updates an existing Default-type supplier with PATCH semantics (omitted fields keep their existing value).",
        "description": "Updates an existing Default-type supplier with PATCH semantics (omitted fields keep their existing value).",
        "operationId": "SupplierDomain_UpdateSupplier",
        "parameters": [
          {
            "name": "supplierId",
            "in": "path",
            "required": true,
            "description": "The key of the supplier to update.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "UpdateSupplierRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.Endpoints.V2.SupplierDomain.UpdateSupplierRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Supplier changed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.UpdateSupplierCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "suppliers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "suppliers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/suppliers/{supplierId}/deactivate": {
      "post": {
        "tags": [
          "wawi",
          "Supplier"
        ],
        "summary": "Deactivate Supplier",
        "description": "Deactivates a supplier (sets it inactive). This is the sole removal mechanism (there is no delete) and it is one-way. Blocked by the same guards that protected against deletion: open purchase orders and standard supplier of an article.",
        "operationId": "SupplierDomain_DeactivateSupplier",
        "parameters": [
          {
            "name": "supplierId",
            "in": "path",
            "required": true,
            "description": "The key of the supplier to deactivate.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Supplier deactivated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.DeactivateSupplierCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "suppliers.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "suppliers.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/tax-classes": {
      "get": {
        "tags": [
          "wawi",
          "Tax"
        ],
        "summary": "Queries all tax classes.",
        "description": "Queries all tax classes.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "TaxDomain_QueryTaxClasses",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxClass"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Tax"
        ],
        "summary": "Creates a new tax class.",
        "description": "Creates a new tax class.",
        "operationId": "TaxDomain_CreateTaxClass",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.CreateTaxClassCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The tax class has been successfully created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/tax-classes/{id}": {
      "delete": {
        "tags": [
          "Tax"
        ],
        "summary": "Deletes an existing tax class.",
        "description": "Deletes an existing tax class.",
        "operationId": "TaxDomain_DeleteTaxClass",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The tax class has been successfully deleted.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "Tax"
        ],
        "summary": "Updates an existing tax class.",
        "description": "Updates an existing tax class.",
        "operationId": "TaxDomain_UpdateTaxClass",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.UpdateTaxClassCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The tax class has been successfully updated.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/tax-classes/with-tax-rates": {
      "get": {
        "tags": [
          "Tax"
        ],
        "summary": "Returns a list of all tax classes and their calculated tax rates for the given parameters.",
        "description": "Returns a list of all tax classes and their calculated tax rates for the given parameters.",
        "operationId": "TaxDomain_ListTaxClassesWithTaxRates",
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "description": "Gets the unique identifier for the firm.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            },
            "x-position": 1
          },
          {
            "name": "departureCountryIso",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "taxReference",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxDomainTaxReference"
            },
            "x-position": 3
          },
          {
            "name": "shipmentAddressVatId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 4
          },
          {
            "name": "shipmentAddressCountryIso",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 5
          },
          {
            "name": "shipmentAddressState",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 6
          },
          {
            "name": "billingAddressVatId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 7
          },
          {
            "name": "billingAddressCountryIso",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 8
          },
          {
            "name": "billingAddressState",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 9
          },
          {
            "name": "specialTaxTreatment",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxDomainSpecialTaxTreatment"
            },
            "x-position": 10
          },
          {
            "name": "taxClasses",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
              }
            },
            "x-position": 11
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxClassWithTaxRate"
                  }
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/tax-codes": {
      "get": {
        "tags": [
          "wawi",
          "Tax"
        ],
        "summary": "Queries all tax codes.",
        "description": "Queries all tax codes.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "TaxDomain_QueryTaxCodes",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxCode"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "post": {
        "tags": [
          "Tax"
        ],
        "summary": "Creates a new tax code.",
        "description": "Creates a new tax code.",
        "operationId": "TaxDomain_CreateTaxCode",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.CreateTaxCodeCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The tax code has been successfully created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/tax-codes/{id}": {
      "delete": {
        "tags": [
          "Tax"
        ],
        "summary": "Deletes an existing tax code.",
        "description": "Deletes an existing tax code.",
        "operationId": "TaxDomain_DeleteTaxCode",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The tax code has been successfully deleted.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "patch": {
        "tags": [
          "Tax"
        ],
        "summary": "Updates an existing tax code.",
        "description": "Updates an existing tax code.",
        "operationId": "TaxDomain_UpdateTaxCode",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.UpdateTaxCodeCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The tax code has been successfully updated.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/tax-zones": {
      "get": {
        "tags": [
          "wawi",
          "Tax"
        ],
        "summary": "Query for tax zones with nested country assignments, tax rates, and rate key assignments.",
        "description": "Query for tax zones with nested country assignments, tax rates, and rate key assignments.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "TaxDomain_QueryTaxZones",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZone"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/taxes": {
      "post": {
        "tags": [
          "Tax"
        ],
        "summary": "Save Tax Configuration",
        "description": "Batch saves the entire tax configuration in a single transaction. Zones with an Id are updated, zones without an Id are created, and zones in the database but not in the list are deleted.",
        "operationId": "TaxDomain_SaveTaxConfiguration",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Tax configuration was successfully saved.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/taxes/item/{itemId}/{companyId}/{departureCountryISO}/{shipmentCountryISO}": {
      "get": {
        "tags": [
          "Tax"
        ],
        "summary": "Get Tax For Item",
        "description": "Returns the tax rate for the given item.",
        "operationId": "Tax_GetTaxForItemAsync",
        "parameters": [
          {
            "name": "departureCountryISO",
            "in": "path",
            "required": true,
            "description": "Country ISO code of the source country.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "shipmentCountryISO",
            "in": "path",
            "required": true,
            "description": "Country ISO code of the target country.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "taxNumber",
            "in": "query",
            "description": "The tax number of the customer.",
            "schema": {
              "type": "string"
            },
            "x-position": 3
          },
          {
            "name": "invoiceCountryISO",
            "in": "query",
            "description": "The country ISO code of the invoice.",
            "schema": {
              "type": "string"
            },
            "x-position": 4
          },
          {
            "name": "invoiceCountryStateISO",
            "in": "query",
            "description": "The state in the country of the invoice.",
            "schema": {
              "type": "string"
            },
            "x-position": 5
          },
          {
            "name": "shipmentCountryStateISO",
            "in": "query",
            "description": "The state in the target country.",
            "schema": {
              "type": "string"
            },
            "x-position": 6
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The ID of the item to return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            },
            "x-position": 7
          },
          {
            "name": "companyId",
            "in": "path",
            "required": true,
            "description": "The ID of the company to return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            },
            "x-position": 8
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The tax rate for the given item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Tax.TaxRate"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No item with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/taxes/tax-classes/{taxClassId}/{companyId}/{departureCountryISO}/{shipmentCountryISO}": {
      "get": {
        "tags": [
          "Tax"
        ],
        "summary": "Get Tax For Tax Class",
        "description": "Returns the tax rate for the given tax class.",
        "operationId": "Tax_GetTaxForTaxClassAsync",
        "parameters": [
          {
            "name": "departureCountryISO",
            "in": "path",
            "required": true,
            "description": "Country ISO code of the source country.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "shipmentCountryISO",
            "in": "path",
            "required": true,
            "description": "Country ISO code of the target country.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "taxNumber",
            "in": "query",
            "description": "The tax number of the customer.",
            "schema": {
              "type": "string"
            },
            "x-position": 3
          },
          {
            "name": "invoiceCountryISO",
            "in": "query",
            "description": "The country ISO code of the invoice.",
            "schema": {
              "type": "string"
            },
            "x-position": 4
          },
          {
            "name": "invoiceCountryStateISO",
            "in": "query",
            "description": "The state in the country of the invoice.",
            "schema": {
              "type": "string"
            },
            "x-position": 5
          },
          {
            "name": "shipmentCountryStateISO",
            "in": "query",
            "description": "The state in the target country.",
            "schema": {
              "type": "string"
            },
            "x-position": 6
          },
          {
            "name": "taxClassId",
            "in": "path",
            "required": true,
            "description": "The ID of the tax class to return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
            },
            "x-position": 7
          },
          {
            "name": "companyId",
            "in": "path",
            "required": true,
            "description": "The ID of the company to return.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
            },
            "x-position": 8
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The tax rate for the given tax class.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Tax.TaxRate"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No tax class with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "taxes.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "taxes.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/transaction-statuses": {
      "get": {
        "tags": [
          "Transaction Status"
        ],
        "summary": "Query Transaction Status",
        "description": "Queries all transaction statuses for a sales order.",
        "operationId": "TransactionStatus_QueryTransactionStatusAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All transaction statuses.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.TransactionStatus.TransactionStatus"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "salesorders.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "salesorders.read"
            ]
          }
        ],
        "x-sort": 0,
        "x-stability-level": "stable"
      }
    },
    "/v2/warehouse-assistant/activity-types": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns all valid employee tracking activity types excluding inventory types.",
        "description": "Returns all valid employee tracking activity types excluding inventory types.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WarehouseAssistant_QueryActivityTypes",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ActivityType"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/bin-location-pick-heatmaps": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns pick activity per bin location, filterable by time period.",
        "description": "Returns pick activity per bin location, filterable by time period.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WarehouseAssistant_QueryBinLocationPickHeatmap",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Optional start day of the selected period. The time component is ignored. If omitted, StartDate defaults to EndDate.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Optional end day of the selected period. The time component is ignored, and the full day is included. If omitted, EndDate defaults to today.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.BinLocationPickHeatmapItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/bin-locations": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns bin locations for a given warehouse with paging, sorting, and filtering support.",
        "description": "Returns bin locations for a given warehouse with paging, sorting, and filtering support.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "BinLocationManagement_QueryBinLocations",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to scope the bin locations query.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "nameFilter",
            "in": "query",
            "description": "Optional filter by bin location name (contains).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusFilter",
            "in": "query",
            "description": "Optional filter by status.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "typeFilter",
            "in": "query",
            "description": "Optional filter by type.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/bin-locations/occupancy": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns occupancy fill factors for all bin locations in a warehouse.",
        "description": "Returns occupancy fill factors for all bin locations in a warehouse.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "BinLocationManagement_QueryBinLocationOccupancy",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to calculate occupancy for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "lastInventoryDateAfter",
            "in": "query",
            "description": "Only include items whose LastInventoryDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastInventoryDateBefore",
            "in": "query",
            "description": "Only include items whose LastInventoryDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationOccupancyItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/employee-locations": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns employee tracking rows for a warehouse, optionally filtered by activity type IDs.",
        "description": "Returns employee tracking rows for a warehouse, optionally filtered by activity type IDs.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "WarehouseAssistant_QueryEmployeeLocations",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to scope the query.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "activityTypeIds",
            "in": "query",
            "style": "form",
            "explode": true,
            "required": true,
            "description": "Optional activity type IDs filter.",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "example": [
              0
            ]
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "lastActivityTimestampAfter",
            "in": "query",
            "description": "Only include items whose LastActivityTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastActivityTimestampBefore",
            "in": "query",
            "description": "Only include items whose LastActivityTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.EmployeeLocationItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/employee-locations/by-user": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns tracking data for a specific employee in a warehouse.",
        "description": "Returns tracking data for a specific employee in a warehouse.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "WarehouseAssistant_QueryEmployeeLocation",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to scope the query.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "required": true,
            "description": "Employee user ID (kBenutzer).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lastActivityTimestampAfter",
            "in": "query",
            "description": "Only include items whose LastActivityTimestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "lastActivityTimestampBefore",
            "in": "query",
            "description": "Only include items whose LastActivityTimestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.EmployeeLocationItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/shipping-box-types": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns the list of available shipping box types.",
        "description": "Returns the list of available shipping box types.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WarehouseAssistant_QueryShippingBoxTypes",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxType"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/shipping-boxes": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns shipping boxes for a given warehouse with paging, sorting, and filtering support.",
        "description": "Returns shipping boxes for a given warehouse with paging, sorting, and filtering support.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WarehouseAssistant_QueryShippingBoxes",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to scope the shipping boxes query.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/stock-movement-histories": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns stock movement history for a warehouse with optional time, article, and bin location filters.",
        "description": "Returns stock movement history for a warehouse with optional time, article, and bin location filters.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "StockMovement_QueryStockMovementHistory",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to scope movement history query.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "startTime",
            "in": "query",
            "description": "Optional start timestamp filter (inclusive).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endTime",
            "in": "query",
            "description": "Optional end timestamp filter (inclusive).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "article",
            "in": "query",
            "description": "Optional article text filter (number, name, barcode).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceBinLocation",
            "in": "query",
            "description": "Optional source bin location partial-name filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetBinLocation",
            "in": "query",
            "description": "Optional target bin location partial-name filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "bestBeforeDateAfter",
            "in": "query",
            "description": "Only include items whose BestBeforeDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "bestBeforeDateBefore",
            "in": "query",
            "description": "Only include items whose BestBeforeDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "timestampAfter",
            "in": "query",
            "description": "Only include items whose Timestamp is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "timestampBefore",
            "in": "query",
            "description": "Only include items whose Timestamp is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.StockMovement.StockMovementHistoryItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/stocks": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns stock entries for a warehouse filtered by bin location/article with optional batch, serial, and MHD filters.",
        "description": "Returns stock entries for a warehouse filtered by bin location/article with optional batch, serial, and MHD filters.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false). Date filtering per date field via {Field}After (greater than) and {Field}Before (less than).",
        "operationId": "Stocks_QueryStock",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to scope the stock query.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "binLocationId",
            "in": "query",
            "description": "Optional bin location filter.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
            }
          },
          {
            "name": "articleId",
            "in": "query",
            "description": "Optional article filter.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "batchNumber",
            "in": "query",
            "description": "Optional batch/charge filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serialNumber",
            "in": "query",
            "description": "Optional serial number filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bestBeforeDateFrom",
            "in": "query",
            "description": "Optional best-before date range start (inclusive).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "bestBeforeDateTo",
            "in": "query",
            "description": "Optional best-before date range end (inclusive).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "bestBeforeDateAfter",
            "in": "query",
            "description": "Only include items whose BestBeforeDate is after (greater than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "bestBeforeDateBefore",
            "in": "query",
            "description": "Only include items whose BestBeforeDate is before (less than) this value.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStock"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/warehouse-zones": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns warehouse zones for a given warehouse with paging, sorting, and filtering support.",
        "description": "Returns warehouse zones for a given warehouse with paging, sorting, and filtering support.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WarehouseZone_QueryWarehouseZones",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "query",
            "required": true,
            "description": "Warehouse to scope the zones query.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.WarehouseZoneListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/zone-bin-locations": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns bin locations assigned to a specific warehouse zone.",
        "description": "Returns bin locations assigned to a specific warehouse zone.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WarehouseZone_QueryZoneBinLocations",
        "parameters": [
          {
            "name": "zoneId",
            "in": "query",
            "required": true,
            "description": "Zone to list bin locations for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerBereichKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneBinLocationItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouse-assistant/zone-types": {
      "get": {
        "tags": [
          "wawi",
          "Warehouse Assistant"
        ],
        "summary": "Returns the static list of available warehouse zone types.",
        "description": "Returns the static list of available warehouse zone types.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "WarehouseZone_QueryZoneTypes",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneType"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouses": {
      "get": {
        "tags": [
          "wawi",
          "Warehouses"
        ],
        "summary": "Delivers a queryable to lookup warehouses",
        "description": "Delivers a queryable to lookup warehouses\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Warehouses_QueryWarehouses",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.WarehouseListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouses/{warehouseId}/items/{itemId}/stock-postings/inbound": {
      "post": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Execute Inbound Stock Posting",
        "description": "Executes an inbound stock posting (Wareneingang) for an item in a specific warehouse. This is a relative stock change, not a target value - the provided Quantity is added to the item's current stock in the given warehouse. Quantity must be greater than 0.",
        "operationId": "Stocks_ExecuteInboundStockPosting",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the warehouse the stock posting is executed in.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the item the stock posting is executed for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ExecuteInboundStockPostingRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.ExecuteInboundStockPostingRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The inbound stock posting was executed successfully. Returns the item's resulting total stock in the warehouse.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockPostingResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid: a malformed key, or the posting is not allowed for this item and warehouse - Quantity is not greater than 0, a decimal Quantity was provided for a non-divisible item, the item is a subset item, is not managed in inventory, or holds no physical stock of its own (a bill-of-materials item, a variation parent, or an item whose stock is kept per variation), the warehouse is not a standard warehouse or is not active, or the supplied inventory management information does not match the item configuration (batch number, shelf life expiration date or serial numbers required, not allowed, not matching the Quantity, or not unique). The response body names the offending property and the reason.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The specified item or warehouse was not found. errorCode is one of: ITEM_NOT_FOUND, WAREHOUSE_NOT_FOUND.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventories.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventories.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouses/{warehouseId}/items/{itemId}/stock-postings/outbound": {
      "post": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Execute Outbound Stock Posting",
        "description": "Executes an outbound stock posting (Warenausgang) for an item in a specific warehouse. This is a relative stock change, not a target value - the provided Quantity is removed from the item's current stock in the given warehouse. Quantity must be greater than 0 and must not exceed the available stock.",
        "operationId": "Stocks_ExecuteOutboundStockPosting",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the warehouse the stock posting is executed in.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "Unique identifier of the item the stock posting is executed for.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "ExecuteOutboundStockPostingRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.ExecuteOutboundStockPostingRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The outbound stock posting was executed successfully. Returns the item's resulting total stock in the warehouse.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockPostingResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is invalid: a malformed key, or the posting is not allowed for this item and warehouse - Quantity is not greater than 0, a decimal Quantity was provided for a non-divisible item, the item is a subset item, is not managed in inventory, or holds no physical stock of its own (a bill-of-materials item, a variation parent, or an item whose stock is kept per variation), the warehouse is not a standard warehouse or is not active, or the supplied inventory management information does not match the item configuration (batch number, shelf life expiration date or serial numbers required, not allowed, not matching the Quantity, or not unique). The response body names the offending property and the reason.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The specified item or warehouse was not found. errorCode is one of: ITEM_NOT_FOUND, WAREHOUSE_NOT_FOUND.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "There is insufficient available stock to post the requested quantity out. errorCode is INSUFFICIENT_STOCK.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventories.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventories.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouses/{warehouseId}/items/{itemId}/stocks": {
      "get": {
        "tags": [
          "wawi",
          "Inventory"
        ],
        "summary": "Get Warehouse Stock By Item Id",
        "description": "Determines the stock of an item within a warehouse. An item that exists but holds no stock in that warehouse reports zero quantities rather than an error; an unknown warehouse or item is reported as not found.",
        "operationId": "Stocks_GetWarehouseStockByItemId",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The ID of the warehouse in which the stock of the specified item is to be determined.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "description": "The ID of the item for which stock is to be determined within the specified warehouse.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.WarehouseItemStock"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "The specified item or warehouse was not found. errorCode is one of: ITEM_NOT_FOUND, WAREHOUSE_NOT_FOUND.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouses/{warehouseId}/storage-locations": {
      "get": {
        "tags": [
          "Warehouses"
        ],
        "summary": "Query Storage Locations",
        "description": "Queries all storage locations for a given warehouse.",
        "operationId": "Warehouse_QueryStorageLocationsAsync",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The ID of the warehouse that the storage locations belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All storage locations of the warehouse.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Warehouse.StorageLocation"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No warehouse with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "warehouse.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "warehouse.read"
            ]
          }
        ],
        "x-sort": 110,
        "x-stability-level": "stable"
      }
    },
    "/v2/warehouses/storage-location-types": {
      "get": {
        "tags": [
          "Warehouses"
        ],
        "summary": "Query Storage Location Type",
        "description": "Queries all storage location types.",
        "operationId": "Warehouse_QueryStorageLocationTypeAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All storage location types.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Warehouse.StorageLocationType"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "warehouse.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "warehouse.read"
            ]
          }
        ],
        "x-sort": 110,
        "x-stability-level": "stable"
      }
    },
    "/v2/warehouses/storage-locations": {
      "get": {
        "tags": [
          "wawi",
          "Warehouses"
        ],
        "summary": "Delivers a queryable to lookup storage locations",
        "description": "Delivers a queryable to lookup storage locations\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Warehouses_QueryStorageLocations",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.StorageLocationListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/warehouses/types": {
      "get": {
        "tags": [
          "Warehouses"
        ],
        "summary": "Query Warehouse Types",
        "description": "Queries all warehouse types.",
        "operationId": "Warehouse_QueryWarehouseTypesAsync",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "All warehouse types.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Warehouse.WarehouseType"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "warehouse.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "warehouse.read"
            ]
          }
        ],
        "x-sort": 110,
        "x-stability-level": "stable"
      }
    },
    "/v2/wms/{warehouseId}/picklists": {
      "get": {
        "tags": [
          "WMS"
        ],
        "summary": "Query Pick List",
        "description": "Query all pick lists for a specific wms warehouse that are not completed.",
        "operationId": "WMS_QueryPickListAsync",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The id of the wms warehouse that the pick list belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all pick lists for a given wms warehouse that are not completed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.WMS.PickList"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No wms warehouse with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "picklists.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "picklists.read"
            ]
          }
        ],
        "x-sort": 300,
        "x-stability-level": "stable"
      },
      "post": {
        "tags": [
          "WMS"
        ],
        "summary": "Create Pick List",
        "description": "Create a new pick list for a specific wms warehouse",
        "operationId": "WMS_CreatePickListAsync",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The id of the wms warehouse where the pick list should be created.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "pickList",
          "description": "The relevant information to create a picking list.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.CreatePickList"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "Returns the created pick list.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickList"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No wms warehouse or pick list template with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "picklists.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "picklists.write"
            ]
          }
        ],
        "x-sort": 320,
        "x-stability-level": "stable"
      }
    },
    "/v2/wms/{warehouseId}/picklists/{picklistId}": {
      "get": {
        "tags": [
          "WMS"
        ],
        "summary": "Query Pick List Position",
        "description": "Query all positions for a given pick list",
        "operationId": "WMS_QueryPickListPositionAsync",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The id of the wms warehouse that the pick list belong to.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 1
          },
          {
            "name": "picklistId",
            "in": "path",
            "required": true,
            "description": "The id of the pick list.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all pick lists positions for an given pick list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WMS.PickListPosition"
                  }
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No wms warehouse or pick list with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "picklists.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "picklists.read"
            ]
          }
        ],
        "x-sort": 310,
        "x-stability-level": "stable"
      }
    },
    "/v2/wms/{warehouseId}/picklists/{picklistId}/positions/{picklistPositionId}": {
      "delete": {
        "tags": [
          "WMS"
        ],
        "summary": "Delete Pick List Position",
        "description": "Delete a pick list position",
        "operationId": "WMS_DeletePickListPositionAsync",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The id of the wms warehouse.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 1
          },
          {
            "name": "picklistId",
            "in": "path",
            "required": true,
            "description": "The id of the pick list.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
            },
            "x-position": 2
          },
          {
            "name": "picklistPositionId",
            "in": "path",
            "required": true,
            "description": "The id of the pick list position.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
            },
            "x-position": 3
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No wms warehouse, pick list or position with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "picklists.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "picklists.write"
            ]
          }
        ],
        "x-sort": 401,
        "x-stability-level": "beta"
      }
    },
    "/v2/wms/{warehouseId}/picklists/{picklistId}/positions/{picklistPositionId}/pick": {
      "patch": {
        "tags": [
          "WMS"
        ],
        "summary": "Pick Position",
        "description": "Pick a pick list position",
        "operationId": "WMS_PickPositionAsync",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The id of the wms warehouse.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 2
          },
          {
            "name": "picklistId",
            "in": "path",
            "required": true,
            "description": "The id of the pick list.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
            },
            "x-position": 3
          },
          {
            "name": "picklistPositionId",
            "in": "path",
            "required": true,
            "description": "The id of the pick list position.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
            },
            "x-position": 4
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "pickPosition",
          "description": "The relevant information to pick a pick list position.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.UpdatePickPosition"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Returns the updated pick list position.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WMS.PickListPosition"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No wms warehouse, pick list or position with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "picklists.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "picklists.write"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "beta"
      }
    },
    "/v2/wms/{warehouseId}/picklists/{picklistId}/positions/{picklistPositionId}/reservations/change": {
      "patch": {
        "tags": [
          "WMS"
        ],
        "summary": "Change Reservation",
        "description": "Change reservation from a pick list position",
        "operationId": "WMS_ChangeReservationAsync",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "description": "The id of the wms warehouse where the pick list should be created.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
            },
            "x-position": 2
          },
          {
            "name": "picklistId",
            "in": "path",
            "required": true,
            "description": "The id of the pick list.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
            },
            "x-position": 3
          },
          {
            "name": "picklistPositionId",
            "in": "path",
            "required": true,
            "description": "The id of the pick list position.",
            "schema": {
              "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
            },
            "x-position": 4
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "changeReservation",
          "description": "The relevant information to change a pick list position.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.UpdateChangeReservation"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Returns the updated pick list positions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.ChangeReservation"
                }
              }
            }
          },
          "400": {
            "description": "The sent data is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "No wms warehouse, pick list or position with the given ID exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "picklists.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "picklists.write"
            ]
          }
        ],
        "x-sort": 400,
        "x-stability-level": "beta"
      }
    },
    "/v2/wms/packaging-materials": {
      "get": {
        "tags": [
          "wawi",
          "WMS"
        ],
        "summary": "Delivers a queryable of all packaging materials of the system.",
        "description": "Delivers a queryable of all packaging materials of the system.\n\nPaged query. Query parameters: pageNumber (default 1), pageSize (default 100). Sorting via sortBy (comma-separated fields, applied as OrderBy then ThenBy) and sortDescending (default false).",
        "operationId": "Shipment_QueryPackagingMaterials",
        "parameters": [
          {
            "name": "shippingMethodId",
            "in": "query",
            "description": "Optional shipping method (kVersandArt) — restricts the result to packaging materials assigned to it.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch. Defaults to 1 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page specified by PageNumber. Defaults to 100 when omitted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Property to sort by. Multiple comma-separated fields are applied in order (OrderBy, then ThenBy).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order. Defaults to ascending when omitted.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Paged result.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagingMaterial"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpoints.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.read"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/wms/picklists/templates": {
      "get": {
        "tags": [
          "WMS"
        ],
        "summary": "Query Pick List Template",
        "description": "Query all pick list templates. A pick list template is used for creating a new pick list.",
        "operationId": "WMS_QueryPickListTemplateAsync",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Number of the page of items to fetch.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the page that is specified by `pageNumber`.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all pick lists templates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListTemplate"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "picklists.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "picklists.read"
            ]
          }
        ],
        "x-sort": 350,
        "x-stability-level": "stable"
      }
    },
    "/v2/wms/shipments/ship-order": {
      "post": {
        "tags": [
          "WMS"
        ],
        "summary": "Ship Order",
        "description": "Ships an order after batch picking — packs it into packages and persists it to the database. A package is marked shipped only when its DeliveryDate is supplied (and, for shipping methods that require a tracking id, only when its TrackingId is supplied); jtl-Shipping packages complete themselves. Each package carries its positions, shipping method, weight, dimensions, optional packaging materials, SSCC, tracking id and delivery date. Returns the created delivery note and packages. A per-package PackageId (for shipping-label retrieval) is only assigned when the shipping-preparation feature and licence are active.",
        "operationId": "Shipment_ShipOrder",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShipOrderCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The order was shipped successfully (persisted to the database). Returns the created delivery note and its packages. PackageId is only assigned when the shipping-preparation feature and licence are active — without it no shipping label can be retrieved via GET v2/wms/shipping-line/packages/{packageId}/label.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShipOrderResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "inventory.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "inventory.write"
            ]
          }
        ],
        "x-stability-level": "alpha"
      }
    },
    "/v2/wms/shipping-line/packages/{packageId}/label": {
      "get": {
        "tags": [
          "WMS"
        ],
        "summary": "Shipping Label",
        "description": "Downloads a PDF shipping label from the database by ID.",
        "operationId": "Shipment_ShippingLabelAsync",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "description": "The package ID of the package to retrieve the PDF document.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "The PDF file stream as binary content.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The given package ID does not exist.\nor\nThe shipment label for the given package ID does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            },
            "x-expectedSchemas": [
              {
                "description": "The given package ID does not exist.",
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                    }
                  ]
                }
              },
              {
                "description": "The shipment label for the given package ID does not exist.",
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                    }
                  ]
                }
              }
            ]
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 100,
        "x-stability-level": "stable"
      }
    },
    "/v2/wms/shipping-line/packages/{packageId}/weight": {
      "post": {
        "tags": [
          "WMS"
        ],
        "summary": "Package Weight",
        "description": "Sets the weight of a package by ID.",
        "operationId": "Shipment_PackageWeightAsync",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "required": true,
            "description": "The package ID of the package to set the weight for.",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "packageWeight",
          "description": "The package weight to set.",
          "content": {
            "application/json": {
              "schema": {
                "type": "number",
                "format": "decimal"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "The package weight that was set.",
            "content": {
              "application/json": {}
            }
          },
          "402": {
            "description": "No licence available or the app has not been authorised by JTL.",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "The given package ID does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": []
          },
          {
            "oauth2-client-credentials": []
          }
        ],
        "x-sort": 200,
        "x-stability-level": "stable"
      }
    },
    "/v2/workers": {
      "get": {
        "tags": [
          "Worker"
        ],
        "summary": "Returns the available syncs of the worker.",
        "description": "Returns the available syncs of the worker.",
        "operationId": "Worker_ListWorkerSyncs",
        "parameters": [
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.worker.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.worker.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/workers/{syncId}": {
      "post": {
        "tags": [
          "Worker"
        ],
        "summary": "Configures a worker sync (interval and configuration values).",
        "description": "Configures a worker sync (interval and configuration values).",
        "operationId": "Worker_ConfigureWorkerSync",
        "parameters": [
          {
            "name": "syncId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WorkerSyncKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.",
            "schema": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.ConfigureWorkerSyncCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "The changed worker configuration.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncItem"
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.worker.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.worker.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      },
      "put": {
        "tags": [
          "Worker"
        ],
        "summary": "Controls a worker sync (start, stop or restart).",
        "description": "Controls a worker sync (start, stop or restart).",
        "operationId": "Worker_ControlWorkerSync",
        "parameters": [
          {
            "name": "syncId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WorkerSyncKey"
            },
            "x-position": 2
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Request parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.ControlWorkerSyncCommandRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "204": {
            "description": "The action was invoked.",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.worker.write"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.worker.write"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    },
    "/v2/workers/status": {
      "get": {
        "tags": [
          "Worker"
        ],
        "summary": "Returns the status of one or more worker syncs.",
        "description": "Returns the status of one or more worker syncs.",
        "operationId": "Worker_ListWorkerStatus",
        "parameters": [
          {
            "name": "syncId",
            "in": "query",
            "description": "Gets the unique identifier for the configuration key.",
            "schema": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WorkerSyncKey"
            },
            "x-position": 1
          },
          {
            "name": "x-companyid",
            "in": "header",
            "description": "The Company-Id (int or uuid) of the company on whose behalf the request is executed.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-tenant-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The tenant ID for the target ERP instance."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncStatus"
                  }
                }
              }
            }
          },
          "400": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "403": {
            "description": "",
            "content": {
              "application/json": {}
            }
          },
          "500": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "oauth2-authorization-code": [
              "system.worker.read"
            ]
          },
          {
            "oauth2-client-credentials": [
              "system.worker.read"
            ]
          }
        ],
        "x-stability-level": "beta"
      }
    }
  },
  "components": {
    "schemas": {
      "FastEndpoints.ProblemDetails": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string",
            "default": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1"
          },
          "title": {
            "type": "string",
            "default": "One or more validation errors occurred."
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "default": 400
          },
          "instance": {
            "type": "string",
            "default": "/api/route"
          },
          "traceId": {
            "type": "string",
            "default": "0HMPNHL0JHL76:00000001"
          },
          "detail": {
            "type": "string"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FastEndpoints.ProblemDetails_Error"
            }
          }
        }
      },
      "FastEndpoints.ProblemDetails_Error": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "default": "Error or field name"
          },
          "reason": {
            "type": "string",
            "default": "Error reason"
          },
          "code": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          }
        }
      },
      "JTL.Data.Contracts.Keys.AdresseKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.AmazonUserKey": {
        "type": "string",
        "description": "Represents a unique key for identifying an Amazon user within the system.\n            ",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.AnsprechpartnerKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.Artikel.CrossSellingGruppeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.Artikel.PreisKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ArtikelKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.AttributKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.AuftragStornogrundKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.BildKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.BuchungsArtKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ConfigKey": {
        "type": "string",
        "description": "Represents a configuration key that serves as a unique identifier for configuration entities.",
        "format": "uuid",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.EbayUserKey": {
        "type": "string",
        "description": "Represents a unique key for identifying an eBay user within the system.\n            ",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.EigenesFeldKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.EinheitKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ExternerBelegKey": {
        "type": "string",
        "description": "ExternerBeleg Key",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ExternerBelegPositionKey": {
        "type": "string",
        "description": "ExternerBeleg Key",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ExternerBelegTransaktionKey": {
        "type": "string",
        "description": "ExternerBeleg Key",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.FarbeKey": {
        "type": "string",
        "description": "Represents a key for identifying a color entity in the system.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.FileKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.FirmaKey": {
        "type": "string",
        "description": "Represents a key for identifying a firm within the application.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.FirmaUStIdKey": {
        "type": "string",
        "description": "Represents a key for identifying a firm vat id within the application.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.FormularKey": {
        "type": "string",
        "description": "Represents a unique key for identifying a form (Formular) entity within the system.\n            ",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.GebindeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.GutschriftKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.GutschriftPosKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.GutschriftStornogrundKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.HerstellerKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.KategorieKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.KonfiggruppeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.KontoDatenKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.KundeKey": {
        "type": "string",
        "description": "Represents a unique key for identifying a customer in the JTL system.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.KundenGruppeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.KundenKategorieKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LabelKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LhmKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LhmTypeKey": {
        "type": "string",
        "description": "Represents a unique key for identifying a lhm type in the JTL system.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LieferantenArtikelKey": {
        "type": "string",
        "description": "LieferArtikel Schlüssel",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LieferantenBestellungKey": {
        "type": "string",
        "description": "Der LieferantenBestellung Schlüssel.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LieferantenBestellungPosKey": {
        "type": "string",
        "description": "Der LieferantenBestellungPos Schlüssel.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LieferantKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LieferscheinKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LieferscheinPosKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.LieferstatusKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.MassEinheitKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.MerkmalGruppeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.MerkmalKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.MerkmalWertKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.NotizKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.PicklisteKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.PicklistePosKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.PicklisteVorlageKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.PlattformKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RechnungKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RechnungPositionKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RechnungStornogrundKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RetoureEtikettKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RetoureKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RetourePosKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RetoureStatusKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RueckgabegrundKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.RueckhaltegrundKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ShippingRuleKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ShopKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ShopModuleLicenseKey": {
        "type": "string",
        "description": "Represents the license key of a shop module, identified by the cLizenzkey string\ncolumn of dbo.tWebshopModule.",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ShopSubshopKey": {
        "type": "string",
        "description": "Represents a key for identifying a shop subshop in the system.\n            ",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.SpracheKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.SteuerklasseKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.SteuersatzKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.SteuerschluesselKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.SteuerzoneKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VariationKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VariationWertKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VerkaufAuftragFileKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VerkaufAuftragKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VerkaufAuftragPositionFileKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VerkaufsEinheitKey": {
        "type": "string",
        "format": "uuid",
        "deprecated": true,
        "x-deprecatedMessage": "Do not use this key in public APIs; it duplicates EinheitKey.",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VersandartKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VersandKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VersandklasseKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VorgangsstatusKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.VorlagenSetKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.WaehrungKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.WarengruppeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.WarenLagerBereichKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.WarenLagerEingangKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.WarenlagerKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.WarenLagerPlatzKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.WorkerSyncKey": {
        "type": "string",
        "description": "Represents a configuration key that serves as a unique identifier for configuration entities.",
        "format": "uuid",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ZahlungKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ZahlungsartKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Data.Contracts.Keys.ZustandKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Entities.dbo.Table.AttributEntity": {
        "type": "object",
        "description": "Attribute dienen zur flexibleren Verteilung von Eigenschaften zu bestimmten Objekten ",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "Primärschlüssel der Tabelle",
            "format": "int32"
          },
          "istMehrsprachig": {
            "type": "integer",
            "description": "Gibt an ob dieses Attribut ein mehrsprachiges Attribut ist",
            "format": "int32"
          },
          "istFreifeld": {
            "type": "integer",
            "description": "Gibt an ob es sich bei dem Attribut um ein Benutzerdefiniertes Attribut handelt",
            "format": "int32"
          },
          "sortierung": {
            "type": "integer",
            "description": "Gibt die Sortierreihenfolge dieses Attributs an",
            "format": "int32"
          },
          "beschreibung": {
            "type": "string",
            "description": "Enthält einen Beschreibungstext zum Attribut",
            "maxLength": 1000
          },
          "bezugstyp": {
            "type": "integer",
            "description": "Der Bezugstyp gibt an zu welchen anderen Objekten dieses Attribut einen Bezug hat",
            "format": "int32"
          },
          "ausgabeweg": {
            "type": "integer",
            "description": "Bestimmt wo dieses Attribut für Benutzer dargestellt werden soll. Wenn > 0, dann ist es z.B. ein Freifeld.",
            "format": "int32"
          },
          "istStandard": {
            "type": "integer",
            "description": "Gibt an, ob das Attribut von uns vorgegeben ist und nicht gelöscht werden darf",
            "format": "int32"
          },
          "feldTypId": {
            "type": "integer",
            "description": "Verweis auf den Primärschlüssel der Tabelle dbo.tFeldTyp.",
            "format": "int32"
          },
          "regEx": {
            "type": "string",
            "description": "Gibt einen regulären Ausdruck an der verwendet wird um die Wertmenge einzuschränken oder zu formatieren"
          },
          "gruppeName": {
            "type": "string",
            "description": "Name der Gruppe zu dem das Attribut gehört.",
            "maxLength": 150
          },
          "readOnly": {
            "type": "integer",
            "description": "Gibt an, ob das Attribut Read Only ist.",
            "format": "int32"
          },
          "aktivFuerArtikelOhneWarengruppe": {
            "type": "boolean"
          },
          "istPflichtfeld": {
            "type": "boolean"
          },
          "attributId": {
            "type": "string",
            "maxLength": 255
          },
          "istUnsichtbar": {
            "type": "boolean",
            "description": "Bestimmt ob das Attribut/Eigenes Feld in der UI unsichtbar bleiben soll."
          },
          "skipHooks": {
            "type": "boolean"
          },
          "feldTyp": {
            "$ref": "#/components/schemas/JTL.Entities.dbo.Table.FeldTypEntity"
          },
          "bezeichnungen": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Entities.dbo.Table.AttributSpracheEntity"
            }
          }
        }
      },
      "JTL.Entities.dbo.Table.AttributSpracheEntity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "attributId": {
            "type": "integer",
            "description": "Enthält den Referenzschlüssel auf das Attribut.",
            "format": "int32"
          },
          "spracheId": {
            "type": "integer",
            "description": "Enthält den Referenzschlüssel auf die Sprache.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name des Attributs in der jeweiligen Sprache",
            "maxLength": 255
          },
          "wertListe": {
            "type": "string",
            "description": "Wertliste mit separierten stringvalues die als Optionen bereitgestellt werden"
          },
          "skipHooks": {
            "type": "boolean"
          }
        }
      },
      "JTL.Entities.dbo.Table.FeldTypEntity": {
        "type": "object",
        "description": "Typ eines definierten semantischen Feldes welches mit einem primitiven Datentyp verknüpft ist",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "Primärschlüssel der Tabelle",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name des semantischen Feldes",
            "maxLength": 300
          },
          "datenTyp": {
            "type": "integer",
            "description": "Gibt den primitiven Datentypen an der verwendet wird um dieses Feld zu speichern",
            "format": "int32"
          },
          "regEx": {
            "type": "string",
            "description": "Gibt einen regulären Ausdruck an der verwendet wird um die Wertmenge einzuschränken oder zu formatieren"
          },
          "skipHooks": {
            "type": "boolean"
          },
          "typ": {
            "$ref": "#/components/schemas/JTL.Entities.dbo.Table.FeldTypEntity_FeldDatenTyp"
          }
        }
      },
      "JTL.Entities.dbo.Table.FeldTypEntity_FeldDatenTyp": {
        "type": "integer",
        "description": "0 = Integer, 1 = Decimal, 2 = String, 3 = DateTime",
        "format": "int32",
        "x-enumNames": [
          "Integer",
          "Decimal",
          "String",
          "DateTime"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsOperation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsOperation"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.BillOfMaterials": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.BillOfMaterials"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.LotSizes.LotSize": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.LotSizes.LotSize"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ProductionOrder": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ProductionOrder"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.ResourceCategories.ResourceCategory": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.ResourceCategories.ResourceCategory"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.WorkbenchResource": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.WorkbenchResource"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.WorkbenchResourceType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.WorkbenchResourceType"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerCategory": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerCategory"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerGroup": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerGroup"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNote": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNote"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNoteLineItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNoteLineItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.Package": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.Package"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CompanyOverview.CompanyListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CompanyOverview.CompanyListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemOverview.ItemListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemOverview.ItemListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemSupplierOverview.ItemSupplierListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemSupplierOverview.ItemSupplierListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemTypes.ItemTypeListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemTypes.ItemTypeListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Manufacturer.ManufacturerListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Manufacturer.ManufacturerListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.ProductGroupsListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.ProductGroupsListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.ShippingClassListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.ShippingClassListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Channel.MarketplaceChannelListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Channel.MarketplaceChannelListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionPdfUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionPdfUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadLineItemListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadLineItemListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationDetailListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationDetailListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferFailureListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferFailureListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationRequestUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationRequestUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplacePaymentUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplacePaymentUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadLineItemListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadLineItemListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceShippingInformationUploadListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceShippingInformationUploadListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Shipment.PublicApi.DataTransferObjects.V2.ShippingMethods.ShippingMethodLookupItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Shipment.PublicApi.DataTransferObjects.V2.ShippingMethods.ShippingMethodLookupItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.Supplier": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.Supplier"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxClass": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxClass"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxCode": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxCode"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZone": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZone"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.CurrencyDomain.Currency": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.CurrencyDomain.Currency"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentInternal"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentLineItemInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentLineItemInternal"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCancellationInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCancellationInternal"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionInternal"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionLineItemInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionLineItemInternal"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceInternal"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceLineItemInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceLineItemInternal"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentDomain.Payment": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentDomain.Payment"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentMethodDomain.PaymentMethod": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentMethodDomain.PaymentMethod"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.SalesInvoiceCorrectionListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.SalesInvoiceCorrectionListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceCancellationReason": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceCancellationReason"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationOccupancyItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationOccupancyItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Picklists.PickList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Picklists.PickList"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.StockMovement.StockMovementHistoryItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.StockMovement.StockMovementHistoryItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BatchListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BatchListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BestBeforeListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BestBeforeListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStock": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStock"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStockItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStockItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.SerialNumberListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.SerialNumberListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockReservationListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockReservationListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ActivityType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ActivityType"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.BinLocationPickHeatmapItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.BinLocationPickHeatmapItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.EmployeeLocationItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.EmployeeLocationItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxType"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.StorageLocationListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.StorageLocationListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.WarehouseListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.WarehouseListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.WarehouseZoneListItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.WarehouseZoneListItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneBinLocationItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneBinLocationItem"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneType"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Framework.Api.Abstraction.Models.PagedListOfJTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagingMaterial": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagingMaterial"
            }
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "nextPageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "JTL.Identity.Abstractions.BenutzerKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.DispositionKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.LotSizeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.OperationKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.OperationStepKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.ProdItemKey": {
        "type": "string",
        "description": "Der Schlüssel eines Produktionsartikels.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.ProductionOrderKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.ResourceCategoryKey": {
        "type": "string",
        "description": "Ein Schlüssel für eine Ressourcenkategorie.",
        "format": "uuid",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.ResourceTypeKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Pps.Core.Contracts.Keys.WorkbenchResourceKey": {
        "type": "string",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsChildComponentProperties": {
        "type": "object",
        "description": "Represents properties of a bill of materials child component.",
        "additionalProperties": false,
        "required": [
          "parentId"
        ],
        "properties": {
          "parentId": {
            "description": "The ID of this bill of materials component's parent.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsComponentProperties": {
        "type": "object",
        "description": "Represents properties of a bill of materials component regardless of its type.",
        "additionalProperties": false,
        "required": [
          "id",
          "billOfMaterialsId",
          "sort"
        ],
        "properties": {
          "id": {
            "description": "The ID of this bill of materials component.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
          },
          "billOfMaterialsId": {
            "description": "The ID of the bill of materials this bill of materials component belongs to.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
          },
          "sort": {
            "type": "integer",
            "description": "The sort order of this bill of materials component within the bill of materials.",
            "format": "int32"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItem": {
        "type": "object",
        "description": "A bill of materials item.",
        "additionalProperties": false,
        "required": [
          "billOfMaterialsComponentProperties",
          "billOfMaterialsChildComponentProperties",
          "billOfMaterialsItemProperties"
        ],
        "properties": {
          "billOfMaterialsComponentProperties": {
            "description": "This bill of material item's properties common for all bill of materials components.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsComponentProperties"
          },
          "billOfMaterialsChildComponentProperties": {
            "description": "This bill of material item's properties common for all bill of materials child components.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsChildComponentProperties"
          },
          "billOfMaterialsItemProperties": {
            "description": "This bill of material item's properties.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItemProperties"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsItemProperties": {
        "type": "object",
        "description": "Represents properties of a bill of materials item.",
        "additionalProperties": false,
        "required": [
          "itemId",
          "quantity",
          "componentPostingsShelfLifeEndDateRequirements",
          "componentPostingsBatchNumberRequirements"
        ],
        "properties": {
          "itemId": {
            "description": "The ID of the item underlying this bill of materials item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The required quantity of this item for the production of the production item.",
            "format": "decimal"
          },
          "measurementUnitId": {
            "description": "The ID of the measurement unit in which the quantity is managed, or NULL if the quantity is managed in the sales unit of the underlying item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "operationStepId": {
            "description": "The ID of the operation step to which the item is assigned, or NULL if the item is not assigned to any operation step.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.OperationStepKey"
          },
          "componentPostingsShelfLifeEndDateRequirements": {
            "description": "Specifies requirements for the production input of this bill of materials component regarding the shelf life end dates of the stock accounts to be debited.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.ComponentPostingsInventoryAccountingDataRequirements"
          },
          "componentPostingsBatchNumberRequirements": {
            "description": "Specifies requirements for the production input of this bill of materials component regarding the batch numbers of the stock accounts to be debited.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.ComponentPostingsInventoryAccountingDataRequirements"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsOperation": {
        "type": "object",
        "description": "A bill of materials operation.",
        "additionalProperties": false,
        "required": [
          "billOfMaterialsComponentProperties",
          "billOfMaterialsOperationProperties"
        ],
        "properties": {
          "billOfMaterialsComponentProperties": {
            "description": "This bill of material operation's properties common for all bill of materials components.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsComponentProperties"
          },
          "billOfMaterialsOperationProperties": {
            "description": "This bill of material operation's properties.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsOperationProperties"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.BillOfMaterialsOperationProperties": {
        "type": "object",
        "description": "Represents properties of a bill of materials operation.",
        "additionalProperties": false,
        "required": [
          "operationId"
        ],
        "properties": {
          "operationId": {
            "description": "The ID of the operation underlying this bill of materials operation.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.OperationKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillOfMaterialsComponents.ComponentPostingsInventoryAccountingDataRequirements": {
        "type": "integer",
        "description": "0 = Inherited, 1 = None, 2 = Identical",
        "format": "int32",
        "x-enumNames": [
          "Inherited",
          "None",
          "Identical"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.BillOfMaterials": {
        "type": "object",
        "description": "A bill of materials for a production item. It defines which operations must be performed and which components are required to produce the production item.",
        "additionalProperties": false,
        "required": [
          "id",
          "productionItemId",
          "version",
          "name",
          "state",
          "createDate",
          "producibleStock",
          "componentPostingsShelfLifeEndDateRequirements",
          "componentPostingsBatchNumberRequirements"
        ],
        "properties": {
          "id": {
            "description": "The ID of this bill of materials.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
          },
          "productionItemId": {
            "description": "The ID of the production item of this bill of materials.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "version": {
            "type": "integer",
            "description": "The version of this bill of materials.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of this production bill of materials."
          },
          "description": {
            "type": "string",
            "description": "The description of this production bill of materials."
          },
          "state": {
            "description": "The status of this production bill of materials.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.BillOfMaterialsState"
          },
          "createDate": {
            "type": "string",
            "description": "The timestamp when this bill of materials was created.",
            "format": "date-time"
          },
          "updateDate": {
            "type": "string",
            "description": "The timestamp when this bill of materials was last modified, or NULL if this bill of materials has not been modified yet.",
            "format": "date-time"
          },
          "updateUserId": {
            "description": "The ID of the user who last modified this bill of materials, or NULL if this bill of materials has not been modified yet.",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "activationDate": {
            "type": "string",
            "description": "The timestamp when this bill of materials was activated, or NULL if this bill of materials has not been activated yet.",
            "format": "date-time"
          },
          "producibleStock": {
            "type": "number",
            "description": "The last calculated producible stock.",
            "format": "decimal"
          },
          "producibleStockCalculationDate": {
            "type": "string",
            "description": "The timestamp when the producible stock was last calculated, or NULL if it has not been calculated yet.",
            "format": "date-time"
          },
          "componentPostingsShelfLifeEndDateRequirements": {
            "description": "Specifies requirements for the production input of all components of this bill of materials regarding the shelf life end dates of the stock accounts to be debited. This specification can be overridden for individual components of this bill of materials.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.OverallComponentPostingsInventoryAccountingDataRequirements"
          },
          "componentPostingsBatchNumberRequirements": {
            "description": "Specifies requirements for the production input of all components of this bill of materials regarding the batch numbers of the stock accounts to be debited. This specification can be overridden for individual components of this bill of materials.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.OverallComponentPostingsInventoryAccountingDataRequirements"
          },
          "shelfLifeEndDateGenerationMode": {
            "description": "Indicates how the shelf life end date of a product is calculated after completing a lot.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.ShelfLifeEndDateGenerationMode"
          },
          "additionalShelfLifeEndDateTime": {
            "type": "string",
            "description": "A time span that is added when calculating the shelf life end date of a product after completing a lot.",
            "format": "duration"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.BillOfMaterialsState": {
        "type": "integer",
        "description": "0 = Draft, 1 = Default, 2 = Archived, 3 = Alternative, 4 = ProductionOrderCustomization, 99 = Deleted",
        "format": "int32",
        "x-enumNames": [
          "Draft",
          "Default",
          "Archived",
          "Alternative",
          "ProductionOrderCustomization",
          "Deleted"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          99
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.OverallComponentPostingsInventoryAccountingDataRequirements": {
        "type": "integer",
        "description": "0 = None, 1 = Identical",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Identical"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.BillsOfMaterials.ShelfLifeEndDateGenerationMode": {
        "type": "integer",
        "description": "0 = Earliest, 1 = Latest, 2 = ProductionDate",
        "format": "int32",
        "x-enumNames": [
          "Earliest",
          "Latest",
          "ProductionDate"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsCommandRequest": {
        "type": "object",
        "description": "Creates a new bill of materials for a production item, including its components. - Request",
        "additionalProperties": false,
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "description": "The input for creating a bill of materials as part of a production item.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsInput"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsCommandResponse": {
        "type": "object",
        "description": "Creates a new bill of materials for a production item, including its components. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the newly created bill of materials.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsInput": {
        "type": "object",
        "description": "Represents the input for creating a bill of materials as part of a production item.",
        "additionalProperties": false,
        "required": [
          "name",
          "operations"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the bill of materials."
          },
          "description": {
            "type": "string",
            "description": "An optional description of the bill of materials."
          },
          "componentPostingsShelfLifeEndDateRequirements": {
            "description": "Requirements for the production input of all components of this bill of materials regarding the shelf life end dates of the stock accounts to be debited. This requirement can be overridden for individual components. Optional; defaults to None. Must not be set to a value other than None if no component's underlying item has a shelf life end date configured.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateOverallComponentPostingsInventoryAccountingDataRequirements"
          },
          "componentPostingsBatchNumberRequirements": {
            "description": "Requirements for the production input of all components of this bill of materials regarding the batch numbers of the stock accounts to be debited. This requirement can be overridden for individual components. Optional; defaults to None. Must not be set to a value other than None if no component's underlying item has a batch number configured.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateOverallComponentPostingsInventoryAccountingDataRequirements"
          },
          "shelfLifeEndDateGenerationMode": {
            "description": "Indicates how the shelf life end date of the produced item is calculated after completing a lot.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateShelfLifeEndDateGenerationMode"
          },
          "additionalShelfLifeEndDateTime": {
            "type": "string",
            "description": "A time span that is added when calculating the shelf life end date of the produced item after completing a lot. Required when ShelfLifeEndDateGenerationMode is ProductionDate; optional when ShelfLifeEndDateGenerationMode is Earliest or Latest; is ignored when ShelfLifeEndDateGenerationMode is not specified.",
            "format": "duration"
          },
          "operations": {
            "type": "array",
            "description": "The operations of this bill of materials. At least one operation is required, and across all operations at least one item must be present.",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsOperationInput"
            }
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsItemCommandRequest": {
        "type": "object",
        "description": "Creates a new bill of materials item for a bill of materials operation. - Request",
        "additionalProperties": false,
        "required": [
          "productionItemId",
          "billOfMaterialsId",
          "input"
        ],
        "properties": {
          "productionItemId": {
            "description": "The ID of the production item.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "billOfMaterialsId": {
            "description": "The ID of the bill of materials.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
          },
          "input": {
            "description": "The input for creating a bill of materials item.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsItemInput"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsItemCommandResponse": {
        "type": "object",
        "description": "Creates a new bill of materials item for a bill of materials operation. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the newly created bill of materials item.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsItemInput": {
        "type": "object",
        "description": "Represents the input for creating a bill of materials item as part of a bill of materials operation.",
        "additionalProperties": false,
        "required": [
          "itemId",
          "quantity"
        ],
        "properties": {
          "itemId": {
            "description": "The ID of the item to be used as a bill of materials item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The required quantity of this component for the production of the production item. Must be greater than zero.",
            "format": "decimal"
          },
          "measurementUnitId": {
            "description": "The ID of the measurement unit in which the quantity is managed, or NULL to use the sales unit of the underlying item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "componentPostingsShelfLifeEndDateRequirements": {
            "description": "Requirements for the production input of this component regarding the shelf life end dates of the stock accounts to be debited. Overrides the corresponding setting on the bill of materials level for this component. Optional; defaults to Inherited, which applies the requirement specified at the bill of materials level. Must not be set to a value other than Inherited if the underlying item does not have a shelf life end date configured.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateComponentPostingsInventoryAccountingDataRequirements"
          },
          "componentPostingsBatchNumberRequirements": {
            "description": "Requirements for the production input of this component regarding the batch numbers of the stock accounts to be debited. Overrides the corresponding setting on the bill of materials level for this component. Optional; defaults to Inherited, which applies the requirement specified at the bill of materials level. Must not be set to a value other than Inherited if the underlying item does not have a batch number configured.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateComponentPostingsInventoryAccountingDataRequirements"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsOperationCommandRequest": {
        "type": "object",
        "description": "Creates a new bill of materials operation for a bill of materials, including its items. - Request",
        "additionalProperties": false,
        "required": [
          "productionItemId",
          "input"
        ],
        "properties": {
          "productionItemId": {
            "description": "The ID of the production item.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "input": {
            "description": "The input for creating a bill of materials operation.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsOperationInput"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsOperationCommandResponse": {
        "type": "object",
        "description": "Creates a new bill of materials operation for a bill of materials, including its items. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the newly created bill of materials operation.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialComponentKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsOperationInput": {
        "type": "object",
        "description": "Represents the input for creating a bill of materials operation as part of a new bill of materials.",
        "additionalProperties": false,
        "required": [
          "operationId"
        ],
        "properties": {
          "operationId": {
            "description": "The ID of the operation to be assigned to this bill of materials operation. The operation must exist.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.OperationKey"
          },
          "items": {
            "type": "array",
            "description": "The bill of materials items assigned to this operation. Optional per individual operation, but at least one component must be present across all operations within the bill of materials.",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsItemInput"
            }
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateComponentPostingsInventoryAccountingDataRequirements": {
        "type": "integer",
        "description": "0 = Inherited, 1 = None, 2 = Identical",
        "format": "int32",
        "x-enumNames": [
          "Inherited",
          "None",
          "Identical"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateLotSizeCommandRequest": {
        "type": "object",
        "description": "Creates a new lot size for a production item. - Request",
        "additionalProperties": false,
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "description": "The input for creating a lot size as part of a production item.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateLotSizeInput"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateLotSizeCommandResponse": {
        "type": "object",
        "description": "Creates a new lot size for a production item. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the newly created lot size.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.LotSizeKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateLotSizeInput": {
        "type": "object",
        "description": "Represents the input for creating a lot size as part of a production item.",
        "additionalProperties": false,
        "required": [
          "lotSize"
        ],
        "properties": {
          "lotSize": {
            "type": "integer",
            "description": "The lot size value. Must be greater than zero.",
            "format": "int32"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateOverallComponentPostingsInventoryAccountingDataRequirements": {
        "type": "integer",
        "description": "0 = None, 1 = Identical",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Identical"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateProductionItemCommandRequest": {
        "type": "object",
        "description": "Creates a new production item, including its bills of materials with their components. - Request",
        "additionalProperties": false,
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "description": "The input for creating the production item, including the details of the production item itself and the bills of materials and lot sizes to be created for the production item.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateProductionItemInput"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateProductionItemCommandResponse": {
        "type": "object",
        "description": "Creates a new production item, including its bills of materials with their components. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the newly created production item.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateProductionItemInput": {
        "type": "object",
        "description": "Represents the input for creating a new production item, including the details of the production item itself and the bills of materials and lot sizes to be created for the production item.",
        "additionalProperties": false,
        "required": [
          "itemId",
          "billsOfMaterials"
        ],
        "properties": {
          "itemId": {
            "description": "The ID of the item for which the production item is to be created.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "isCustomized": {
            "type": "boolean",
            "description": "Indicates whether this production item is a customized production item (true) or a regular production item (false)."
          },
          "lotLabelTemplateId": {
            "description": "The ID of a template to be used for printing an item label when a lot is completed, or NULL if no item label should be printed on completion.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorlagenSetKey"
          },
          "singleItemLabelTemplateId": {
            "description": "The ID of a template to be used for printing an item label for each produced unit when a lot is completed, or NULL if no per-unit item label should be printed on completion. Optional.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorlagenSetKey"
          },
          "billsOfMaterials": {
            "type": "array",
            "description": "The bills of materials to create for this production item. At least one bill of materials is required. Each bill of materials must contain at least one operation, and across all operations, at least one component must be present.",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateBillOfMaterialsInput"
            }
          },
          "lotSizes": {
            "type": "array",
            "description": "The optional lot sizes to create for this production item.",
            "items": {
              "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateLotSizeInput"
            }
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.Create.CreateShelfLifeEndDateGenerationMode": {
        "type": "integer",
        "description": "0 = Earliest, 1 = Latest, 2 = ProductionDate",
        "format": "int32",
        "x-enumNames": [
          "Earliest",
          "Latest",
          "ProductionDate"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.LotSizes.LotSize": {
        "type": "object",
        "description": "A lot size for a production item. It defines the quantity of a production item that is produced in one lot.",
        "additionalProperties": false,
        "required": [
          "id",
          "productionItemId",
          "quantity"
        ],
        "properties": {
          "id": {
            "description": "The ID of this lot size.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.LotSizeKey"
          },
          "productionItemId": {
            "description": "The ID of the production item of this lot size.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "quantity": {
            "type": "integer",
            "description": "The quantity of the production item that is produced in one lot.",
            "format": "int32"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.LotType": {
        "type": "integer",
        "description": "0 = Own, 3 = None",
        "format": "int32",
        "x-enumNames": [
          "Own",
          "None"
        ],
        "enum": [
          0,
          3
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionItem": {
        "type": "object",
        "description": "A production item.",
        "additionalProperties": false,
        "required": [
          "id",
          "itemId",
          "lotType",
          "productionType",
          "createDate",
          "updateDate"
        ],
        "properties": {
          "id": {
            "description": "The ID of this production item.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "itemId": {
            "description": "The ID of the item underlying this production item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "lotType": {
            "description": "Defines the type of lot size configuration for this production item.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.LotType"
          },
          "productionType": {
            "description": "Defines the type of manufacturing of this production item.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionType"
          },
          "lotLabelTemplateKey": {
            "description": "The ID of a template to be used for printing an item label when a lot is completed, or NULL if no item label should be printed on completion.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorlagenSetKey"
          },
          "singleItemLabelTemplateKey": {
            "description": "The ID of a template to be used for printing an item label for each produced unit when a lot is completed, or NULL if no item label for each produced unit should be printed on completion.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorlagenSetKey"
          },
          "createDate": {
            "type": "string",
            "description": "The timestamp when this production item was created.",
            "format": "date-time"
          },
          "updateDate": {
            "type": "string",
            "description": "The timestamp when this production item was last modified.",
            "format": "date-time"
          },
          "updateUserId": {
            "description": "The ID of the user who last modified this production item, or NULL if this production item has not been modified yet.",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          }
        }
      },
      "JTL.PPS.ProductionItems.PublicApi.DataTransferObjects.V2.ProductionItems.ProductionType": {
        "type": "integer",
        "description": "0 = Regular, 1 = Customized",
        "format": "int32",
        "x-enumNames": [
          "Regular",
          "Customized"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.PPS.ProductionItems.PublicApi.Endpoints.V2.BillOfMaterialsComponents.QueryBillOfMaterialsItemsByBillOfMaterialsIdRequest": {
        "type": "object",
        "description": "Request model for QueryBillOfMaterialsItemsByBillOfMaterialsId query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ProductionItems.PublicApi.Endpoints.V2.BillOfMaterialsComponents.QueryBillOfMaterialsItemsByBillOfMaterialsOperationIdRequest": {
        "type": "object",
        "description": "Request model for QueryBillOfMaterialsItemsByBillOfMaterialsOperationId query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ProductionItems.PublicApi.Endpoints.V2.BillOfMaterialsComponents.QueryBillOfMaterialsOperationsByBillOfMaterialsIdRequest": {
        "type": "object",
        "description": "Request model for QueryBillOfMaterialsOperationsByBillOfMaterialsId query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ProductionItems.PublicApi.Endpoints.V2.BillsOfMaterials.QueryBillsOfMaterialsByProductionItemIdRequest": {
        "type": "object",
        "description": "Request model for QueryBillsOfMaterialsByProductionItemId query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ProductionItems.PublicApi.Endpoints.V2.LotSizes.QueryLotSizesByProductionItemIdRequest": {
        "type": "object",
        "description": "Request model for QueryLotSizesByProductionItemId query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ProductionItems.PublicApi.Endpoints.V2.ProductionItems.QueryProductionItemsRequest": {
        "type": "object",
        "description": "Request model for QueryProductionItems query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.CreateProductionOrderCommandRequest": {
        "type": "object",
        "description": "Creates a new production order. - Request",
        "additionalProperties": false,
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "description": "The input for creating the production order, including the production item, bill of materials, lot configuration, and optional scheduling details.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.CreateProductionOrderInput"
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.CreateProductionOrderCommandResponse": {
        "type": "object",
        "description": "Creates a new production order. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the newly created production order.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProductionOrderKey"
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.CreateProductionOrderInput": {
        "type": "object",
        "description": "Represents the input for creating a new production order, including references to the production item, the bill of materials as well as the lot configuration and scheduling details.",
        "additionalProperties": false,
        "required": [
          "productionItemId",
          "billOfMaterialsId",
          "lotCount",
          "lotSize",
          "targetTotalQuantity"
        ],
        "properties": {
          "productionItemId": {
            "description": "The ID of the production item for which the production order is to be created.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "billOfMaterialsId": {
            "description": "The ID of the bill of materials to be used for production.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
          },
          "lotCount": {
            "type": "integer",
            "description": "The number of lots to be produced.",
            "format": "int32"
          },
          "lotSize": {
            "type": "number",
            "description": "The size of each lot to be produced.",
            "format": "decimal"
          },
          "targetTotalQuantity": {
            "type": "number",
            "description": "The planned total quantity to be produced.",
            "format": "decimal"
          },
          "isTargetTotalQuantityBelowLotSizeAllowed": {
            "type": "boolean",
            "description": "Indicates whether it is allowed for this order to have a target total quantity below the lot size (true) or not (false). Defaults to false."
          },
          "referenceNumber": {
            "type": "string",
            "description": "The reference number associated with the production order."
          },
          "projectNumber": {
            "type": "string",
            "description": "The project number associated with the production order."
          },
          "notice": {
            "type": "string",
            "description": "Additional note on the order that will be displayed during production."
          },
          "targetStartTimestamp": {
            "type": "string",
            "description": "The planned start time of the production order.",
            "format": "date-time"
          },
          "targetCompletionTimestamp": {
            "type": "string",
            "description": "The planned completion time of the production order.",
            "format": "date-time"
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ProductionOrder": {
        "type": "object",
        "description": "A production order.",
        "additionalProperties": false,
        "required": [
          "id",
          "productionItemId",
          "billOfMaterialId",
          "lotCount",
          "lotSize",
          "targetTotalQuantity",
          "actualQuantity",
          "isTargetTotalQuantityBelowLotSizeAllowed",
          "progress",
          "issueNumber",
          "issueDate",
          "lastModificationTimestamp"
        ],
        "properties": {
          "id": {
            "description": "The ID of the production order.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProductionOrderKey"
          },
          "productionItemId": {
            "description": "The ID of the production item to be produced by this production order.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "billOfMaterialId": {
            "description": "The ID of the bill of material used to produce the production item.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
          },
          "dispositionId": {
            "description": "The ID of the disposition from which the production order originates.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.DispositionKey"
          },
          "lotCount": {
            "type": "integer",
            "description": "Planned number of lots to be produced.",
            "format": "int32"
          },
          "lotSize": {
            "type": "number",
            "description": "Planned size of the lots to be produced.",
            "format": "decimal"
          },
          "targetTotalQuantity": {
            "type": "number",
            "description": "Planned total quantity to be produced.",
            "format": "decimal"
          },
          "actualQuantity": {
            "type": "number",
            "description": "Actual total quantity produced.",
            "format": "decimal"
          },
          "isTargetTotalQuantityBelowLotSizeAllowed": {
            "type": "boolean",
            "description": "Indicates whether it is allowed for this order to have a total quantity below the lot size (true) or not (false)."
          },
          "progress": {
            "type": "number",
            "description": "Progress of the production order.",
            "format": "decimal"
          },
          "targetStartTimestamp": {
            "type": "string",
            "description": "Planned start time of the production order.",
            "format": "date-time"
          },
          "targetCompletionTimestamp": {
            "type": "string",
            "description": "Planned completion time of the production order.",
            "format": "date-time"
          },
          "actualStartTimestamp": {
            "type": "string",
            "description": "Actual (reported) start time of the production order.",
            "format": "date-time"
          },
          "actualCompletionTimestamp": {
            "type": "string",
            "description": "Actual (reported) completion time of the production order.",
            "format": "date-time"
          },
          "projectNumber": {
            "type": "string",
            "description": "The project number associated with the production order."
          },
          "referenceNumber": {
            "type": "string",
            "description": "The reference number associated with the underlying order for this production order."
          },
          "issueNumber": {
            "type": "string",
            "description": "The issue number of the production order."
          },
          "issueDate": {
            "type": "string",
            "description": "The date when the production order was issued.",
            "format": "date-time"
          },
          "notice": {
            "type": "string",
            "description": "Additional note on the order that will be displayed during production."
          },
          "releaseTimestamp": {
            "type": "string",
            "description": "The timestamp when the production order was released.",
            "format": "date-time"
          },
          "deliveryTimestamp": {
            "type": "string",
            "description": "Planned delivery date.",
            "format": "date-time"
          },
          "creationUserId": {
            "description": "The ID of the user who created the production order.",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "releaseUserId": {
            "description": "The ID of the user who released the production order.",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "lastModificationUserId": {
            "description": "The ID of the user who last modified the production order.",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "lastModificationTimestamp": {
            "type": "string",
            "description": "The timestamp of the last modification of the production order.",
            "format": "date-time"
          },
          "resourceTypeId": {
            "description": "The ID type of the resource (workbench-types only) which is allowed to produce this production order.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ResourceTypeKey"
          },
          "workbenchResourceId": {
            "description": "The ID of the workbench resource onto which the production order was assigned.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.WorkbenchResourceKey"
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ReleaseProductionOrderCommandResponse": {
        "type": "object",
        "description": "Releases an existing production order. - Response",
        "additionalProperties": false,
        "required": [
          "result"
        ],
        "properties": {
          "result": {
            "description": "The result of the command, including the exact timestamp and the user who released the production order.",
            "$ref": "#/components/schemas/JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ReleaseProductionOrderCommandResult"
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.ReleaseProductionOrderCommandResult": {
        "type": "object",
        "description": "Represents the result of releasing a production order.",
        "additionalProperties": false,
        "required": [
          "releaseTimestamp"
        ],
        "properties": {
          "releaseTimestamp": {
            "type": "string",
            "description": "The exact timestamp when the production order was released.",
            "format": "date-time"
          },
          "releaseUserId": {
            "description": "The ID of the user who released the production order.",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.UpdateProductionOrderCommandRequest": {
        "type": "object",
        "description": "Updates a production order. - Request",
        "additionalProperties": false,
        "properties": {
          "productionItemId": {
            "description": "The ID of the item to be produced by the production order.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProdItemKey"
          },
          "billOfMaterialId": {
            "description": "The ID of the bill of materials for the production item used in the production order.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.BillOfMaterialKey"
          },
          "lotCount": {
            "type": "integer",
            "description": "The number of lots for the production order.",
            "format": "int32"
          },
          "lotSize": {
            "type": "number",
            "description": "The size of each lot for the production order.",
            "format": "decimal"
          },
          "targetStartTimestamp": {
            "type": "string",
            "description": "The target start timestamp of the production order.",
            "format": "date-time"
          },
          "targetCompletionTimestamp": {
            "type": "string",
            "description": "The target completion timestamp of the production order.",
            "format": "date-time"
          },
          "deliveryTimestamp": {
            "type": "string",
            "description": "The delivery timestamp of the production order.",
            "format": "date-time"
          },
          "referenceNumber": {
            "type": "string",
            "description": "The reference number of the production order."
          },
          "projectNumber": {
            "type": "string",
            "description": "The project number of the production order."
          },
          "notice": {
            "type": "string",
            "description": "The notice of the production order."
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.DataTransferObjects.V2.ProductionOrders.UpdateProductionOrderCommandResponse": {
        "type": "object",
        "description": "Updates a production order. - Response",
        "additionalProperties": false,
        "required": [
          "productionOrderId"
        ],
        "properties": {
          "productionOrderId": {
            "description": "The ID of the modified production order.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ProductionOrderKey"
          }
        }
      },
      "JTL.PPS.ProductionOrders.PublicApi.Endpoints.V2.ProductionOrders.QueryProductionOrdersRequest": {
        "type": "object",
        "description": "Request model for QueryProductionOrders query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.ResourceCategories.ResourceCategory": {
        "type": "object",
        "description": "Represents a resource category.",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isVisible",
          "isEnabled"
        ],
        "properties": {
          "id": {
            "description": "This resource category's ID.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ResourceCategoryKey"
          },
          "name": {
            "type": "string",
            "description": "The resource category's name."
          },
          "isVisible": {
            "type": "boolean",
            "description": "Specifies whether this resource category is visible to users."
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Specifies whether this resource category is enabled for use."
          }
        }
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.CreateWorkbenchResourceCommandRequest": {
        "type": "object",
        "description": "Creates a new workbench resource. - Request",
        "additionalProperties": false,
        "required": [
          "number",
          "name",
          "description",
          "workbenchResourceTypeId",
          "hostName",
          "warehouseId",
          "reservationMode",
          "autoShowProcessParameterValuesInProduction",
          "expiredComponentsUsage",
          "replenishmentCreationStockReservationMode"
        ],
        "properties": {
          "number": {
            "type": "string",
            "description": "This workbench resource's unique number."
          },
          "name": {
            "type": "string",
            "description": "This workbench resource's name."
          },
          "description": {
            "type": "string",
            "description": "This workbench resource's description."
          },
          "workbenchResourceTypeId": {
            "description": "The ID of the resource type assigned to this workbench resource.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ResourceTypeKey"
          },
          "hostName": {
            "type": "string",
            "description": "The name of the host assigned to this workbench resource."
          },
          "warehouseId": {
            "description": "The ID of the warehouse assigned to this workbench resource.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "reservationMode": {
            "description": "The reservation mode of this workbench resource.",
            "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ReservationMode"
          },
          "autoShowProcessParameterValuesInProduction": {
            "type": "boolean",
            "description": "Specifies whether the dialog for displaying and/or capturing process parameter values in the context of production should be displayed automatically when process parameter values can/must be displayed or captured."
          },
          "expiredComponentsUsage": {
            "description": "Specifies whether and to what extent the use of expired components is permitted.",
            "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ExpiredComponentsUsage"
          },
          "replenishmentCreationStockReservationMode": {
            "description": "Specifies wthether and how available stock should be reserved when creating a replenishment order.",
            "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ReplenishmentCreationAvailableStockReservationMode"
          }
        }
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.CreateWorkbenchResourceCommandResponse": {
        "type": "object",
        "description": "Creates a new workbench resource. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The new workbench resource's ID.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.WorkbenchResourceKey"
          }
        }
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ExpiredComponentsUsage": {
        "type": "integer",
        "description": "0 = NotPermitted, 1 = Permitted",
        "format": "int32",
        "x-enumNames": [
          "NotPermitted",
          "Permitted"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ReplenishmentCreationAvailableStockReservationMode": {
        "type": "integer",
        "description": "0 = None, 1 = UserPrompt, 2 = Auto",
        "format": "int32",
        "x-enumNames": [
          "None",
          "UserPrompt",
          "Auto"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ReservationMode": {
        "type": "integer",
        "description": "0 = Operation, 1 = Iteration, 2 = Session",
        "format": "int32",
        "x-enumNames": [
          "Operation",
          "Iteration",
          "Session"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.WorkbenchResource": {
        "type": "object",
        "description": "Represents a workbench resource.",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "name",
          "description",
          "workbenchResourceTypeId",
          "hostName",
          "warehouseId",
          "reservationMode",
          "autoShowProcessParameterValuesInProduction",
          "expiredComponentsUsage",
          "replenishmentCreationStockReservationMode"
        ],
        "properties": {
          "id": {
            "description": "This workbench resource's unique ID.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.WorkbenchResourceKey"
          },
          "number": {
            "type": "string",
            "description": "This workbench resource's unique number."
          },
          "name": {
            "type": "string",
            "description": "This workbench resource's name."
          },
          "description": {
            "type": "string",
            "description": "This workbench resource's description."
          },
          "workbenchResourceTypeId": {
            "description": "The ID of the resource type assigned to this workbench resource.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ResourceTypeKey"
          },
          "hostName": {
            "type": "string",
            "description": "The name of the host assigned to this workbench resource."
          },
          "warehouseId": {
            "description": "The ID of the warehouse assigned to this workbench resource.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "reservationMode": {
            "description": "The reservation mode of this workbench resource.",
            "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ReservationMode"
          },
          "autoShowProcessParameterValuesInProduction": {
            "type": "boolean",
            "description": "Specifies whether the dialog for displaying and/or capturing process parameter values in the context of production should be displayed automatically when process parameter values can/must be displayed or captured."
          },
          "expiredComponentsUsage": {
            "description": "Specifies whether and to what extent the use of expired components is permitted.",
            "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ExpiredComponentsUsage"
          },
          "replenishmentCreationStockReservationMode": {
            "description": "Specifies wthether and how available stock should be reserved when creating a replenishment order.",
            "$ref": "#/components/schemas/JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResources.ReplenishmentCreationAvailableStockReservationMode"
          }
        }
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.CreateWorkbenchResourceTypeCommandRequest": {
        "type": "object",
        "description": "Creates a new workbench resource type. - Request",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The workbench resource type's name."
          }
        }
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.CreateWorkbenchResourceTypeCommandResponse": {
        "type": "object",
        "description": "Creates a new workbench resource type. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The new workbench resource type's ID.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ResourceTypeKey"
          }
        }
      },
      "JTL.PPS.ResourceManagement.PublicApi.DataTransferObjects.V2.WorkbenchResourceTypes.WorkbenchResourceType": {
        "type": "object",
        "description": "Represents a workbench resource type.",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "This workbench resource type's ID.",
            "$ref": "#/components/schemas/JTL.Pps.Core.Contracts.Keys.ResourceTypeKey"
          },
          "name": {
            "type": "string",
            "description": "The workbench resource type's name."
          }
        }
      },
      "JTL.PPS.ResourceManagement.PublicApi.Endpoints.V2.ResourceCategories.QueryResourceCategoriesRequest": {
        "type": "object",
        "description": "Request model for QueryResourceCategories query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ResourceManagement.PublicApi.Endpoints.V2.WorkbenchResources.QueryWorkbenchResourcesRequest": {
        "type": "object",
        "description": "Request model for QueryWorkbenchResources query endpoint",
        "additionalProperties": false
      },
      "JTL.PPS.ResourceManagement.PublicApi.Endpoints.V2.WorkbenchResourceTypes.QueryWorkbenchResourceTypesRequest": {
        "type": "object",
        "description": "Request model for QueryWorkbenchResourceTypes query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.ArtikelVerwaltung.Core.Contracts.ErweiterteSuche.SerializableFilterObjects.ItemSearchField": {
        "type": "integer",
        "description": "0 = SKU, 1 = GTIN, 2 = MPN, 3 = UPC, 4 = ISBN, 5 = Item name, 6 = Container unit GTIN, 7 = ASIN, 8 = SKU (supplier), 9 = Container unit UPC, 10 = FNSKU, 11 = JTL-Fulfillment ID, 12 = Subset ID, 13 = Shop Suchbegriffe",
        "format": "int32",
        "x-enumNames": [
          "ItemNumber",
          "GTIN",
          "ManufacturerNumber",
          "UPC",
          "ISBN",
          "Name",
          "ContainerGTIN",
          "ASIN",
          "SupplierItemNumber",
          "ContainerUPC",
          "FNSKU",
          "JFSKU",
          "SubsetNumber",
          "MetaKeywords"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13
        ]
      },
      "JTL.Wawi.ArtikelVerwaltung.Core.Contracts.ErweiterteSuche.SerializableFilterObjects.SearchOperator": {
        "type": "integer",
        "description": "46 = Begins with, 48 = Contains, 50 = Wildcard",
        "format": "int32",
        "x-enumNames": [
          "StartsWith",
          "Contains",
          "Wildcard"
        ],
        "enum": [
          46,
          48,
          50
        ]
      },
      "JTL.Wawi.Bestellvorschlaege.PublicApi.DataTransferObjects.V2.RestockSuggestionDomain.RestockSuggestionLineItem": {
        "type": "object",
        "description": "A single restock suggestion line item for an item/supplier/warehouse combination.",
        "additionalProperties": false,
        "required": [
          "itemId",
          "supplierId",
          "warehouseId",
          "orderQuantity",
          "totalDemand",
          "awaitingDeliveryConsidered",
          "awaitingDeliveryAllWarehouses",
          "awaitingDeliveryTotal",
          "stockTotal",
          "consumptionXDays",
          "demand30Days",
          "demandXDays",
          "dailyConsumption",
          "openOrderQuantity",
          "supplierStock",
          "minimumStock",
          "maximumStock",
          "purchaseListQuantity",
          "availabilityRequests",
          "isDefaultSupplier"
        ],
        "properties": {
          "itemId": {
            "description": "Item ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "supplierId": {
            "description": "Supplier ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "warehouseId": {
            "description": "Warehouse ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "itemNumber": {
            "type": "string",
            "description": "Stock keeping unit (item number)."
          },
          "itemName": {
            "type": "string",
            "description": "Item name."
          },
          "productGroup": {
            "type": "string",
            "description": "Product group."
          },
          "shippingClass": {
            "type": "string",
            "description": "Shipping class."
          },
          "manufacturerPartNumber": {
            "type": "string",
            "description": "Manufacturer part number (HAN)."
          },
          "gtin": {
            "type": "string",
            "description": "Global Trade Item Number (GTIN, formerly EAN)."
          },
          "manufacturer": {
            "type": "string",
            "description": "Manufacturer name."
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "Supplier-specific SKU."
          },
          "supplierNote": {
            "type": "string",
            "description": "Supplier note or remark."
          },
          "warehouseName": {
            "type": "string",
            "description": "Warehouse name."
          },
          "demandSource": {
            "type": "string",
            "description": "Demand source description."
          },
          "supplySource": {
            "type": "string",
            "description": "Supply source description."
          },
          "orderQuantity": {
            "type": "number",
            "description": "Suggested order quantity.",
            "format": "decimal"
          },
          "totalDemand": {
            "type": "number",
            "description": "Total demand.",
            "format": "decimal"
          },
          "awaitingDeliveryConsidered": {
            "type": "number",
            "description": "Awaiting delivery quantity considered for this warehouse.",
            "format": "decimal"
          },
          "awaitingDeliveryAllWarehouses": {
            "type": "number",
            "description": "Awaiting delivery quantity across all warehouses.",
            "format": "decimal"
          },
          "awaitingDeliveryTotal": {
            "type": "number",
            "description": "Total awaiting delivery quantity (complete).",
            "format": "decimal"
          },
          "stockTotal": {
            "type": "number",
            "description": "Total stock on hand.",
            "format": "decimal"
          },
          "consumptionXDays": {
            "type": "number",
            "description": "Consumption over X days.",
            "format": "decimal"
          },
          "demand30Days": {
            "type": "number",
            "description": "Demand over 30 days.",
            "format": "decimal"
          },
          "demandXDays": {
            "type": "number",
            "description": "Demand over X days.",
            "format": "decimal"
          },
          "dailyConsumption": {
            "type": "number",
            "description": "Daily consumption rate.",
            "format": "decimal"
          },
          "availableTotal": {
            "type": "number",
            "description": "Total available quantity.",
            "format": "decimal"
          },
          "openOrderQuantity": {
            "type": "number",
            "description": "Open order quantity (reserved for orders).",
            "format": "decimal"
          },
          "shortageTotal": {
            "type": "number",
            "description": "Total shortage quantity.",
            "format": "decimal"
          },
          "supplierStock": {
            "type": "number",
            "description": "Supplier stock level.",
            "format": "decimal"
          },
          "minimumStock": {
            "type": "number",
            "description": "Local minimum stock level.",
            "format": "decimal"
          },
          "maximumStock": {
            "type": "number",
            "description": "Maximum stock level.",
            "format": "decimal"
          },
          "minimumStockGlobal": {
            "type": "number",
            "description": "Global minimum stock level.",
            "format": "decimal"
          },
          "purchaseListQuantity": {
            "type": "number",
            "description": "Quantity on purchase list.",
            "format": "decimal"
          },
          "permissibleOrderQuantity": {
            "type": "number",
            "description": "Permissible order quantity (step-size/multiple for supplier orders).",
            "format": "decimal"
          },
          "minimumOrderQuantity": {
            "type": "integer",
            "description": "Minimum order quantity (supplier).",
            "format": "int32"
          },
          "blockedForDelivery": {
            "type": "number",
            "description": "Quantity blocked for delivery.",
            "format": "decimal"
          },
          "reservedExternal": {
            "type": "number",
            "description": "Externally reserved quantity.",
            "format": "decimal"
          },
          "availabilityRequests": {
            "type": "integer",
            "description": "Number of open customer availability requests for this item (pending demand not yet converted to orders).",
            "format": "int32"
          },
          "isDefaultSupplier": {
            "type": "boolean",
            "description": "Whether this is the default supplier for the item."
          },
          "averagePurchasePrice": {
            "type": "number",
            "description": "Average purchase price.",
            "format": "decimal"
          },
          "lastPurchasePrice": {
            "type": "number",
            "description": "Last purchase price.",
            "format": "decimal"
          },
          "supplierPurchasePrice": {
            "type": "number",
            "description": "Purchase price from this supplier.",
            "format": "decimal"
          },
          "daysWithStock": {
            "type": "integer",
            "description": "Number of days with stock.",
            "format": "int32"
          },
          "consumptionXDaysWithoutPeaks": {
            "type": "number",
            "description": "Consumption over X days excluding order peaks.",
            "format": "decimal"
          },
          "averageOrderCount": {
            "type": "number",
            "description": "Average order count.",
            "format": "decimal"
          },
          "percentageSurcharge": {
            "type": "number",
            "description": "Percentage surcharge applied.",
            "format": "decimal"
          },
          "manualDemand": {
            "type": "number",
            "description": "Manual demand quantity.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Bestellvorschlaege.PublicApi.Endpoints.V2.RestockSuggestionDomain.QueryRestockSuggestionsRequest": {
        "type": "object",
        "description": "Request model for QueryRestockSuggestions query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.ContactManagement.Core.Contracts.Domain.Keys.ContactKey": {
        "type": "string",
        "description": "Stellt den Schlüssel eines Kontaktes dar.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCreateCustomerAddress": {
        "type": "object",
        "description": "Model Class: CreateCreateCustomerAddress ",
        "additionalProperties": false,
        "required": [
          "street",
          "city",
          "countryIso"
        ],
        "properties": {
          "street": {
            "type": "string",
            "description": "Name of the street (including number)."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address information."
          },
          "city": {
            "type": "string",
            "description": "City name of the customer."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the customer."
          },
          "state": {
            "type": "string",
            "description": "Name of the state."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (2 letters).",
            "maxLength": 2,
            "minLength": 2
          },
          "emailAddress": {
            "type": "string",
            "description": "The customers email address."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The customers phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The customers mobile phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "The customers fax number."
          },
          "vatId": {
            "type": "string",
            "description": "The customers VAT ID."
          },
          "gln": {
            "type": "string",
            "description": "The Global Location Number (GLN) of the address."
          },
          "salutation": {
            "type": "string",
            "description": "The customers salutation (e.g. Mr., Mrs., etc.)"
          },
          "title": {
            "type": "string",
            "description": "The customers title (e.g. Dr., Prof., etc.)"
          },
          "firstName": {
            "type": "string",
            "description": "The customers first name"
          },
          "lastName": {
            "type": "string",
            "description": "The customers last name"
          },
          "companyName": {
            "type": "string",
            "description": "The customers company name"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The customers company additional line"
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCreateCustomerPaymentSettings": {
        "type": "object",
        "description": "Model Class: CreateCreateCustomerPaymentSettings ",
        "additionalProperties": false,
        "properties": {
          "creditLimit": {
            "type": "integer",
            "description": "The customers credit limit.",
            "format": "int32"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "Payment target (in days).",
            "format": "int32"
          },
          "discount": {
            "type": "number",
            "description": "The customers discount percentage.",
            "format": "decimal"
          },
          "isDunningBlocked": {
            "type": "boolean",
            "description": "Whether the customer is blocked for dunning notices."
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCustomerCommandRequest": {
        "type": "object",
        "description": "Creates a new customer. - Request",
        "additionalProperties": false,
        "required": [
          "customerGroupId",
          "billingAddress"
        ],
        "properties": {
          "companyId": {
            "description": "ID of the company the customer belongs to. Optional — defaults to 0 (no company) when omitted.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerGroupId": {
            "description": "Customer group for the customer to be in.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "customerCategoryId": {
            "description": "The customer's category ID.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
          },
          "paymentMethodId": {
            "description": "The customer's preferred payment method ID.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "The accounts receivable number of the customer.",
            "format": "int32"
          },
          "birthday": {
            "type": "string",
            "description": "The customer's date of birth.",
            "format": "date-time"
          },
          "commercialRegisterNumber": {
            "type": "string",
            "description": "The customer's commercial register number."
          },
          "customerNumber": {
            "type": "string",
            "description": "Number of the customer. If no number is given when posting a customer, the number will be generated automatically."
          },
          "ebayName": {
            "type": "string",
            "description": "The customers ebay name."
          },
          "homepage": {
            "type": "string",
            "description": "The customers homepage URL."
          },
          "initialContact": {
            "type": "string",
            "description": "The source of initial contact. This could be for example a specific sales channel, a convention or a marketing campaign."
          },
          "isCashRegisterBased": {
            "type": "boolean",
            "description": "States if a customer is from a cash-register or point of sale and if their data should be synchronized with JTL-POS, for example."
          },
          "isLocked": {
            "type": "boolean",
            "description": "The customer's locked status."
          },
          "languageIso": {
            "type": "string",
            "description": "The customer's preferred language in ISO format (e.g. \"de\", \"en\")."
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "The customer's tax identification number."
          },
          "billingAddress": {
            "description": "Default billing address of the customer.",
            "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCreateCustomerAddress"
          },
          "shipmentAddress": {
            "description": "Default shipping address of the customer.",
            "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCreateCustomerAddress"
          },
          "paymentSettings": {
            "description": "Settings relevant to payment for the customer.",
            "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCreateCustomerPaymentSettings"
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CreateCustomerCommandResponse": {
        "type": "object",
        "description": "Creates a new customer. - Response",
        "additionalProperties": false,
        "required": [
          "customerId"
        ],
        "properties": {
          "customerId": {
            "description": "Unique ID of the newly created customer.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.Customer": {
        "type": "object",
        "description": "A customer.",
        "additionalProperties": false,
        "required": [
          "customerId",
          "customerAddresses",
          "isLocked"
        ],
        "properties": {
          "customerId": {
            "description": "Customer id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "customerGroupId": {
            "description": "Id of the customer group",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "customerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "createdDate": {
            "type": "string",
            "description": "Date when the customer was created",
            "format": "date-time"
          },
          "lastChanged": {
            "type": "string",
            "description": "Date when the customer was last changed",
            "format": "date-time"
          },
          "customerAddresses": {
            "type": "array",
            "description": "List of addresses of the customer",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerAddress"
            }
          },
          "customerGroup": {
            "description": "The customer group of the customer",
            "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerGroup"
          },
          "languageIso": {
            "type": "string",
            "description": "The language iso code of the customer"
          },
          "commercialRegisterNumber": {
            "type": "string",
            "description": "The commercial register number of the customer"
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "The tax identification number of the customer"
          },
          "homepage": {
            "type": "string",
            "description": "The homepage URL of the customer"
          },
          "isLocked": {
            "type": "boolean",
            "description": "The locked status of the customer"
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerAddress": {
        "type": "object",
        "description": "A customer's address.",
        "additionalProperties": false,
        "required": [
          "customerAddressId",
          "customerId",
          "isDefault",
          "addressType"
        ],
        "properties": {
          "customerAddressId": {
            "description": "Unique ID of the address.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AdresseKey"
          },
          "customerId": {
            "description": "Unique ID of the customer.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates whether this is the default address of the customer."
          },
          "addressType": {
            "description": "Type of the address (shipment, billing, etc.).",
            "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerAddressType"
          },
          "companyName": {
            "type": "string",
            "description": "Company name of the customer"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company information line."
          },
          "salutation": {
            "type": "string",
            "description": "Salutation of the customer (e.g. Mr., Mrs., etc.)"
          },
          "title": {
            "type": "string",
            "description": "Title of the customer (e.g. Dr., Prof., etc.)"
          },
          "firstName": {
            "type": "string",
            "description": "First name of the customer"
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the customer"
          },
          "street": {
            "type": "string",
            "description": "Name of the street (including number)."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address information."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the customer."
          },
          "city": {
            "type": "string",
            "description": "City name of the customer."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country"
          },
          "state": {
            "type": "string",
            "description": "Name of the state."
          },
          "emailAddress": {
            "type": "string",
            "description": "The customers email address."
          },
          "faxNumber": {
            "type": "string",
            "description": "The customers fax number."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The customers phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The customers mobile phone number."
          },
          "vatId": {
            "type": "string",
            "description": "The customers VAT identification number."
          },
          "gln": {
            "type": "string",
            "description": "The Global Location Number (GLN) of the address."
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerAddressType": {
        "type": "integer",
        "description": "0 = ShipmentAddress, 1 = BillingAddress, 2 = Other",
        "format": "int32",
        "x-enumNames": [
          "ShipmentAddress",
          "BillingAddress",
          "Other"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerCategory": {
        "type": "object",
        "description": "A customer category.",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "Unique internal ID of the customer category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the customer category."
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerGroup": {
        "type": "object",
        "description": "A customer group.",
        "additionalProperties": false,
        "required": [
          "id",
          "discount"
        ],
        "properties": {
          "id": {
            "description": "Unique internal ID of the customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the customer group."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the customer group is the default group. Only one group can be selected as the default group."
          },
          "discount": {
            "type": "number",
            "description": "The discounted percentage for the customer group.",
            "format": "decimal"
          },
          "isNetPrice": {
            "type": "boolean",
            "description": "Indicates if the customer group sees the net price in the online shop."
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerListItem": {
        "type": "object",
        "description": "A single row of the customers overview table",
        "additionalProperties": false,
        "required": [
          "id",
          "hasNewsletter",
          "isCashRegisterBased",
          "isLocked",
          "isJtlFulfillment"
        ],
        "properties": {
          "id": {
            "description": "Customer id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "customerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "ebayName": {
            "type": "string",
            "description": "Customer's eBay user name."
          },
          "birthday": {
            "type": "string",
            "description": "Customer's date of birth."
          },
          "homepage": {
            "type": "string",
            "description": "Customer's homepage URL."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the customer"
          },
          "firstName": {
            "type": "string",
            "description": "First name of the customer"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number."
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address."
          },
          "companyName": {
            "type": "string",
            "description": "Company name (if applicable)."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City."
          },
          "countryName": {
            "type": "string",
            "description": "Country name."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO-Code of the country."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Company extension."
          },
          "salutation": {
            "type": "string",
            "description": "Formal salutation (e.g., Mr., Ms.)."
          },
          "title": {
            "type": "string",
            "description": "Academic or professional title."
          },
          "street": {
            "type": "string",
            "description": "Street and house number."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address information."
          },
          "createdDate": {
            "type": "string",
            "description": "Date the customer record was created.",
            "format": "date-time"
          },
          "lastChanged": {
            "type": "string",
            "description": "Date the customer record was last changed. Supports filtering (e.g. before/after a given date).",
            "format": "date-time"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "discountRate": {
            "type": "number",
            "description": "Customer-specific discount rate.",
            "format": "decimal"
          },
          "vatId": {
            "type": "string",
            "description": "VAT identification number."
          },
          "gln": {
            "type": "string",
            "description": "The customer's Global Location Number (GLN)."
          },
          "hasNewsletter": {
            "type": "boolean",
            "description": "Subscription status for the newsletter."
          },
          "postId": {
            "type": "string",
            "description": "Customer's PostID (specific delivery identifier)."
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "Number of days for payment terms.",
            "format": "int32"
          },
          "state": {
            "type": "string",
            "description": "Federal state or province."
          },
          "initialContact": {
            "type": "string",
            "description": "Source or origin of the customer."
          },
          "isCashRegisterBased": {
            "type": "boolean",
            "description": "Flag indicating if the customer is a cash register/POS customer."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Account lock status."
          },
          "commercialRegisterNumber": {
            "type": "string",
            "description": "Commercial register number."
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "Accounts receivable number for accounting.",
            "format": "int32"
          },
          "customerCategoryName": {
            "type": "string",
            "description": "Name of the customer category."
          },
          "customerGroupName": {
            "type": "string",
            "description": "Name of the customer group."
          },
          "customerCategoryId": {
            "description": "Key/ID of the customer category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
          },
          "customerGroupId": {
            "description": "Key/ID of the customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "isJtlFulfillment": {
            "type": "boolean",
            "description": "Flag indicating participation in JTL Fulfillment."
          },
          "labels": {
            "type": "string",
            "description": "Comma-separated list of all assigned customer labels."
          },
          "languageIso": {
            "type": "string",
            "description": "The language iso code of the customer"
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateCustomerCommandRequest": {
        "type": "object",
        "description": "Updates a customer. - Request",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "description": "ID of the company the customer belongs to. Optional — if omitted, the existing company assignment is left unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerGroupId": {
            "description": "Customer group for the customer to be in.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "customerCategoryId": {
            "description": "The customer's category ID.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
          },
          "paymentMethodId": {
            "description": "The customer's preferred payment method ID.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "The accounts receivable number of the customer.",
            "format": "int32"
          },
          "birthday": {
            "type": "string",
            "description": "The customer's date of birth.",
            "format": "date-time"
          },
          "commercialRegisterNumber": {
            "type": "string",
            "description": "The customer's commercial register number."
          },
          "customerNumber": {
            "type": "string",
            "description": "Number of the customer. If no number is given when posting a customer, the number will be generated automatically."
          },
          "ebayName": {
            "type": "string",
            "description": "The customer's ebay name."
          },
          "homepage": {
            "type": "string",
            "description": "The customer's homepage URL."
          },
          "initialContact": {
            "type": "string",
            "description": "The source of initial contact. This could be for example a specific sales channel, a convention or a marketing campaign."
          },
          "isCashRegisterBased": {
            "type": "boolean",
            "description": "States if a customer is from a cash-register or point of sale and if their data should be synchronized with JTL-POS, for example."
          },
          "isLocked": {
            "type": "boolean",
            "description": "The customer's locked status."
          },
          "languageIso": {
            "type": "string",
            "description": "The customer's preferred language in ISO format (e.g. \"de\", \"en\")."
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "The customer's tax identification number."
          },
          "addresses": {
            "type": "array",
            "description": "Addresses of the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateUpdateCustomerAddress"
            }
          },
          "paymentSettings": {
            "description": "Settings relevant to payment for the customer.",
            "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateUpdateCustomerPaymentSettings"
          },
          "createdDate": {
            "type": "string",
            "description": "The date and time of the customer's creation.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateCustomerCommandResponse": {
        "type": "object",
        "description": "Updates a customer. - Response",
        "additionalProperties": false,
        "required": [
          "customerId"
        ],
        "properties": {
          "customerId": {
            "description": "ID of the updated customer",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateUpdateCustomerAddress": {
        "type": "object",
        "description": "Updates a customer's address.",
        "additionalProperties": false,
        "properties": {
          "customerAddressId": {
            "description": "Unique identifier for the address.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AdresseKey"
          },
          "addressType": {
            "type": "integer",
            "description": "Type of the address (shipment, billing, etc.).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.CustomerAddressType"
          },
          "street": {
            "type": "string",
            "description": "Name of the street (including number)."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address information."
          },
          "city": {
            "type": "string",
            "description": "City name of the customer."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the customer."
          },
          "state": {
            "type": "string",
            "description": "Name of the state."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (2 letter code, e.g. DE, AT, CH)."
          },
          "emailAddress": {
            "type": "string",
            "description": "The customers email address."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The customers phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The customers mobile phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "The customers fax number."
          },
          "vatId": {
            "type": "string",
            "description": "The customers VAT ID."
          },
          "gln": {
            "type": "string",
            "description": "The Global Location Number (GLN) of the address."
          },
          "salutation": {
            "type": "string",
            "description": "The customers salutation (e.g. Mr., Mrs., etc.)"
          },
          "title": {
            "type": "string",
            "description": "The customers title (e.g. Dr., Prof., etc.)"
          },
          "firstName": {
            "type": "string",
            "description": "The customers first name"
          },
          "lastName": {
            "type": "string",
            "description": "The customers last name"
          },
          "companyName": {
            "type": "string",
            "description": "The customers company name"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The customers company extension"
          },
          "isDefaultAddress": {
            "type": "boolean",
            "description": "Indicates whether this is the default address."
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.DataTransferObjects.V2.CustomerDomain.UpdateUpdateCustomerPaymentSettings": {
        "type": "object",
        "description": "Updates a customer's payment settings.",
        "additionalProperties": false,
        "properties": {
          "creditLimit": {
            "type": "integer",
            "description": "The customers credit limit.",
            "format": "int32"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "Payment target (in days).",
            "format": "int32"
          },
          "discount": {
            "type": "number",
            "description": "The customers discount percentage.",
            "format": "decimal"
          },
          "isDunningBlocked": {
            "type": "boolean",
            "description": "Whether the customer is blocked for dunning notices."
          }
        }
      },
      "JTL.Wawi.Customers.PublicApi.Endpoints.V2.CustomerDomain.QueryCustomerCategoriesRequest": {
        "type": "object",
        "description": "Request model for QueryCustomerCategories query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Customers.PublicApi.Endpoints.V2.CustomerDomain.QueryCustomerGroupsRequest": {
        "type": "object",
        "description": "Request model for QueryCustomerGroups query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Customers.PublicApi.Endpoints.V2.CustomerDomain.QueryCustomersRequest": {
        "type": "object",
        "description": "Request model for QueryCustomers query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliverSalesOrderCommandResponse": {
        "type": "object",
        "description": "Delivers a sales order, creating a delivery document and updating stock levels. - Response",
        "additionalProperties": false,
        "required": [
          "deliveryNoteIds"
        ],
        "properties": {
          "deliveryNoteIds": {
            "type": "array",
            "description": "Unique IDs of the newly created delivery notes.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
            }
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNote": {
        "type": "object",
        "description": "Represents a delivery note that documents the shipment of sales order line items.",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "deliveryNoteDate",
          "salesOrderId",
          "packages"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a delivery note.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "number": {
            "type": "string",
            "description": "The number of the delivery note."
          },
          "deliveryNoteDate": {
            "type": "string",
            "description": "The date when the delivery note was created.",
            "format": "date-time"
          },
          "salesOrderId": {
            "description": "The ID of the sales order associated with this delivery note.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "packages": {
            "type": "array",
            "description": "All packages that are created with the delivery note.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNotePackage"
            }
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNoteLineItem": {
        "type": "object",
        "description": "Represents a line item in a delivery note, linking it to the corresponding sales order line item and specifying the quantity delivered.",
        "additionalProperties": false,
        "required": [
          "id",
          "deliveryNoteId",
          "quantity"
        ],
        "properties": {
          "id": {
            "description": "This delivery note line item's ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinPosKey"
          },
          "deliveryNoteId": {
            "description": "The ID of the delivery note associated with this delivery note line item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "salesOrderLineItemId": {
            "description": "The ID of the sales order line item associated with this delivery note line item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the linked sales order line item that is covered by this delivery note line item",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.DeliveryNotePackage": {
        "type": "object",
        "description": "Represents a package that was created together with a delivery note.",
        "additionalProperties": false,
        "required": [
          "id",
          "packageDate",
          "trackingID",
          "weights",
          "shippingMethodId",
          "shippedDate",
          "trackingUrl",
          "comment",
          "deliveryNoteId",
          "weight"
        ],
        "properties": {
          "id": {
            "description": "The id of the package.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandKey"
          },
          "packageDate": {
            "type": "string",
            "description": "The date when the package was created.",
            "format": "date-time"
          },
          "trackingID": {
            "type": "string",
            "description": "[Deprecated] Use TrackingNumber; The tracking Id of the package."
          },
          "weights": {
            "type": "number",
            "description": "[Deprecated] use Weight; The weight of the package.",
            "format": "decimal"
          },
          "shippingMethodId": {
            "description": "The shipping method of the package.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shippedDate": {
            "type": "string",
            "description": "[Deprecated] use ShippingDate; The date when the package was shipped.",
            "format": "date-time"
          },
          "trackingUrl": {
            "type": "string",
            "description": "The tracking url of the package."
          },
          "comment": {
            "type": "string",
            "description": "The comment of the package."
          },
          "deliveryNoteId": {
            "description": "The ID of the delivery note associated with this package.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "weight": {
            "type": "number",
            "description": "This package's weight.",
            "format": "decimal"
          },
          "shippingDate": {
            "type": "string",
            "description": "The shipping date, or null if this package has not yet been shipped.",
            "format": "date-time"
          },
          "trackingNumber": {
            "type": "string",
            "description": "The tracking number, or null if the package has not yet been shipped or is being shipped without tracking."
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.NotDeliverableReason": {
        "type": "object",
        "description": "A single blocking reason that prevents delivery of a sales order.",
        "additionalProperties": false,
        "required": [
          "reasonType",
          "message"
        ],
        "properties": {
          "reasonType": {
            "description": "The type of blocking reason.",
            "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.NotDeliverableReasonType"
          },
          "message": {
            "type": "string",
            "description": "A human-readable message describing the blocking reason."
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.NotDeliverableReasonType": {
        "type": "integer",
        "description": "0 = Unknown, 100 = ParentItem, 200 = OrderOnHold, 201 = CustomerBlocked, 202 = NotAnOrder, 203 = Unpaid, 204 = NoShippingMethod, 205 = ShippingLock, 300 = AlreadyDelivered",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "ParentItem",
          "OrderOnHold",
          "CustomerBlocked",
          "NotAnOrder",
          "Unpaid",
          "NoShippingMethod",
          "ShippingLock",
          "AlreadyDelivered"
        ],
        "enum": [
          0,
          100,
          200,
          201,
          202,
          203,
          204,
          205,
          300
        ]
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.Package": {
        "type": "object",
        "description": "A single package that belongs to a delivery note of a sales order.",
        "additionalProperties": false,
        "required": [
          "id",
          "deliveryNoteId",
          "weight"
        ],
        "properties": {
          "id": {
            "description": "This package's ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandKey"
          },
          "deliveryNoteId": {
            "description": "The ID of the delivery note associated with this package.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "weight": {
            "type": "number",
            "description": "This package's weight.",
            "format": "decimal"
          },
          "shippingDate": {
            "type": "string",
            "description": "The shipping date, or null if this package has not yet been shipped.",
            "format": "date-time"
          },
          "trackingNumber": {
            "type": "string",
            "description": "The tracking number, or null if the package has not yet been shipped or is being shipped without tracking."
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.SalesOrderDeliverability": {
        "type": "object",
        "description": "Deliverability information for a single sales order including stock-based status and blocking reasons.",
        "additionalProperties": false,
        "required": [
          "deliverability",
          "deliverabilityOwnStock"
        ],
        "properties": {
          "deliverability": {
            "description": "The stock-based deliverability including supplier stock.",
            "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.SalesOrderDeliverabilityStatus"
          },
          "deliverabilityOwnStock": {
            "description": "The stock-based deliverability based on own stock only (excluding supplier stock).",
            "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.SalesOrderDeliverabilityStatus"
          },
          "notDeliverableReasons": {
            "type": "array",
            "description": "A list of blocking reasons that prevent delivery. Empty if no blocking reasons exist.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.NotDeliverableReason"
            }
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.SalesOrderDeliverabilityStatus": {
        "type": "integer",
        "description": "0 = NotDeliverable, 1 = PartiallyDeliverable, 2 = Deliverable",
        "format": "int32",
        "x-enumNames": [
          "NotDeliverable",
          "PartiallyDeliverable",
          "Deliverable"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.ShipPackageCommandResponse": {
        "type": "object",
        "description": "Ships a package by setting the shipping date. - Response",
        "additionalProperties": false,
        "required": [
          "package",
          "overwritten"
        ],
        "properties": {
          "package": {
            "description": "The package that has been shipped successfully.",
            "$ref": "#/components/schemas/JTL.Wawi.Delivery.PublicApi.DataTransferObjects.V2.Delivery.Package"
          },
          "overwritten": {
            "type": "boolean",
            "description": "Indicates whether existing shipping information for a package has been overwritten or not."
          }
        }
      },
      "JTL.Wawi.Delivery.PublicApi.Endpoints.V2.Delivery.GetDeliveryNoteByIdRequest": {
        "type": "object",
        "description": "Request model for GetDeliveryNoteById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Delivery.PublicApi.Endpoints.V2.Delivery.GetPackageByIdRequest": {
        "type": "object",
        "description": "Request model for GetPackageById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Delivery.PublicApi.Endpoints.V2.Delivery.QueryDeliveryNoteLineItemsByDeliveryNoteIdRequest": {
        "type": "object",
        "description": "Request model for QueryDeliveryNoteLineItemsByDeliveryNoteId query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Delivery.PublicApi.Endpoints.V2.Delivery.QueryDeliveryNotesBySalesOrderIdRequest": {
        "type": "object",
        "description": "Request model for QueryDeliveryNotesBySalesOrderId query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Delivery.PublicApi.Endpoints.V2.Delivery.QueryPackagesBySalesOrderIdRequest": {
        "type": "object",
        "description": "Request model for QueryPackagesBySalesOrderId query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Delivery.PublicApi.Endpoints.V2.Delivery.ShipPackageRequest": {
        "type": "object",
        "description": "Request model for ShipPackage command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "shippingDate": {
            "type": "string",
            "description": "The shipping date. When not set, the package is shipped as of now.",
            "format": "date-time"
          },
          "trackingNumber": {
            "type": "string",
            "description": "The tracking number, at most 255 characters. When not set, the package is shipped without tracking."
          },
          "overwrite": {
            "type": "boolean",
            "description": "Specifies whether a package's shipping information should be overwritten if the package has already been shipped. Defaults to false, in which case shipping an already shipped package is rejected. Overwriting repeats the shipping completion of the delivery note, so the corrected shipment is reported to the sales channel and the shipping confirmation mail is sent again. Shipping methods that export the shipment themselves are not completed here and are therefore unaffected, and no mail is sent for a shipping method that has the shipping mail switched off."
          }
        }
      },
      "JTL.Wawi.Extensibility.Core.Contracts.Domain.Keys.ExtensionKey": {
        "type": "string",
        "description": "Represents a unique key for identifying an extension within the JTL.Wawi extensibility framework.",
        "format": "uuid",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryDetails": {
        "type": "object",
        "description": "A category's details.",
        "additionalProperties": false,
        "required": [
          "id",
          "sortNumber",
          "descriptions"
        ],
        "properties": {
          "id": {
            "description": "The ID of the category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "parentId": {
            "description": "The ID of the parent category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "sortNumber": {
            "type": "integer",
            "description": "The sort number of the category.",
            "format": "int32"
          },
          "descriptions": {
            "type": "array",
            "description": "The descriptions of the category.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryDetailsDescription"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryDetailsDescription": {
        "type": "object",
        "description": "Category description details",
        "additionalProperties": false,
        "required": [
          "categoryId",
          "salesChannelId",
          "languageId"
        ],
        "properties": {
          "categoryId": {
            "description": "Associated category",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "salesChannelId": {
            "description": "Category description saleschannel key",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "languageId": {
            "description": "Category description language key",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "name": {
            "type": "string",
            "description": "Category name"
          },
          "description": {
            "type": "string",
            "description": "Category description"
          },
          "metaDescription": {
            "type": "string",
            "description": "Category metadescription"
          },
          "metaKeywords": {
            "type": "string",
            "description": "Category metakeywords"
          },
          "titleTag": {
            "type": "string",
            "description": "Category meta title tag"
          },
          "urlPath": {
            "type": "string",
            "description": "Category meta url path"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CategoryListItem": {
        "type": "object",
        "description": "A single row of the category overview.",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "parentId": {
            "description": "The ID of the parent category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "sortNumber": {
            "type": "integer",
            "description": "The sort number of the category.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The default name of the category."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.CreateCategoryCommandResponse": {
        "type": "object",
        "description": "Creates a new category. - Response",
        "additionalProperties": false,
        "required": [
          "categoryId"
        ],
        "properties": {
          "categoryId": {
            "description": "The ID of the newly created category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Category.UpdateCategoryCommandResponse": {
        "type": "object",
        "description": "Updates a category. - Response",
        "additionalProperties": false,
        "required": [
          "categoryId"
        ],
        "properties": {
          "categoryId": {
            "description": "The ID of the updated category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.ChangeCompanyCommandRequest": {
        "type": "object",
        "description": "A command to modify an existing company, including identification, contact, banking, and tax information. - Request",
        "additionalProperties": false,
        "properties": {
          "companyName": {
            "type": "string",
            "description": "The name of the company."
          },
          "owner": {
            "type": "string",
            "description": "The owner of the company."
          },
          "street": {
            "type": "string",
            "description": "The street address of the company."
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code of the company."
          },
          "city": {
            "type": "string",
            "description": "The city of the company."
          },
          "country": {
            "type": "string",
            "description": "The country name of the company."
          },
          "countryIsoCode": {
            "type": "string",
            "description": "The country ISO code of the company."
          },
          "phone": {
            "type": "string",
            "description": "The phone number of the company."
          },
          "fax": {
            "type": "string",
            "description": "The fax number of the company."
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address of the company."
          },
          "website": {
            "type": "string",
            "description": "The website URL of the company."
          },
          "bankCode": {
            "type": "string",
            "description": "The bank code of the company."
          },
          "accountNumber": {
            "type": "string",
            "description": "The bank account number of the company."
          },
          "bankName": {
            "type": "string",
            "description": "The bank name of the company."
          },
          "taxId": {
            "type": "string",
            "description": "The tax identification number of the company."
          },
          "iBAN": {
            "type": "string",
            "description": "The International Bank Account Number (IBAN) of the company."
          },
          "bIC": {
            "type": "string",
            "description": "The Bank Identifier Code (BIC) of the company."
          },
          "accountHolder": {
            "type": "string",
            "description": "The account holder name of the company."
          },
          "creditorId": {
            "type": "string",
            "description": "The creditor ID for SEPA direct debit."
          },
          "payPalEmailAddress": {
            "type": "string",
            "description": "The PayPal email address of the company."
          },
          "isSmallBusinessOwner": {
            "type": "boolean",
            "description": "A value indicating whether the owner of the company is a small business owner (Kleinunternehmer). This affects the VAT handling of the company."
          },
          "dHLIntrashipCustomerId": {
            "type": "string",
            "description": "The DHL Intraship customer ID of the company."
          },
          "uPSCustomerId": {
            "type": "string",
            "description": "The UPS customer ID of the company."
          },
          "companyVatIdentifiers": {
            "type": "array",
            "description": "The collection of VAT identifiers for this company. When provided, replaces all existing VAT identifiers.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.UpdateCompanyVatIdDetailsItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.ChangeCompanyCommandResponse": {
        "type": "object",
        "description": "A command to modify an existing company, including identification, contact, banking, and tax information. - Response",
        "additionalProperties": false,
        "required": [
          "id",
          "companyName",
          "owner",
          "street",
          "postalCode",
          "city",
          "country",
          "countryIsoCode",
          "phone",
          "fax",
          "emailAddress",
          "website",
          "bankCode",
          "accountNumber",
          "bankName",
          "taxId",
          "iBAN",
          "bIC",
          "accountHolder",
          "creditorId",
          "payPalEmailAddress",
          "isSmallBusinessOwner",
          "dHLIntrashipCustomerId",
          "uPSCustomerId",
          "companyVatIdentifiers"
        ],
        "properties": {
          "id": {
            "description": "Unique ID of the modified company.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "companyName": {
            "type": "string",
            "description": "Name of the company."
          },
          "owner": {
            "type": "string",
            "description": "Owner of the company."
          },
          "street": {
            "type": "string",
            "description": "Street address of the company."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the company."
          },
          "city": {
            "type": "string",
            "description": "City of the company."
          },
          "country": {
            "type": "string",
            "description": "Country of the company."
          },
          "countryIsoCode": {
            "type": "string",
            "description": "Country ISO code."
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the company."
          },
          "fax": {
            "type": "string",
            "description": "Fax number of the company."
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address of the company."
          },
          "website": {
            "type": "string",
            "description": "Website of the company."
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code."
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number."
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "taxId": {
            "type": "string",
            "description": "Tax identification number."
          },
          "iBAN": {
            "type": "string",
            "description": "International Bank Account Number."
          },
          "bIC": {
            "type": "string",
            "description": "Bank Identifier Code."
          },
          "accountHolder": {
            "type": "string",
            "description": "Bank account holder name."
          },
          "creditorId": {
            "type": "string",
            "description": "Creditor identification number."
          },
          "payPalEmailAddress": {
            "type": "string",
            "description": "PayPal email address of the company."
          },
          "isSmallBusinessOwner": {
            "type": "boolean",
            "description": "Indicates if the company is a small business owner."
          },
          "dHLIntrashipCustomerId": {
            "type": "string",
            "description": "DHL Intraship customer Id for shipping."
          },
          "uPSCustomerId": {
            "type": "string",
            "description": "UPS customer Id for shipping."
          },
          "companyVatIdentifiers": {
            "type": "array",
            "description": "List of company VAT identifiers.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.UpdateCompanyVatIdDetailsItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CompanyDetailsItem": {
        "type": "object",
        "description": "Single row of the company table",
        "additionalProperties": false,
        "required": [
          "id",
          "isSmallBusinessOwner",
          "companyVatIdentifiers"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a company (kFirma).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "companyName": {
            "type": "string",
            "description": "Name of the company."
          },
          "owner": {
            "type": "string",
            "description": "Owner of the company."
          },
          "street": {
            "type": "string",
            "description": "Street address of the company."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the company."
          },
          "city": {
            "type": "string",
            "description": "City of the company."
          },
          "country": {
            "type": "string",
            "description": "Country of the company."
          },
          "countryIsoCode": {
            "type": "string",
            "description": "Country ISO code."
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the company."
          },
          "fax": {
            "type": "string",
            "description": "Fax number of the company."
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address of the company."
          },
          "website": {
            "type": "string",
            "description": "Website of the company."
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code."
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number."
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "taxId": {
            "type": "string",
            "description": "Tax identification number."
          },
          "iBAN": {
            "type": "string",
            "description": "International Bank Account Number."
          },
          "bIC": {
            "type": "string",
            "description": "Bank Identifier Code."
          },
          "accountHolder": {
            "type": "string",
            "description": "Bank account holder name."
          },
          "creditorId": {
            "type": "string",
            "description": "Creditor identification number."
          },
          "payPalEmailAddress": {
            "type": "string",
            "description": "PayPal email address of the company."
          },
          "isSmallBusinessOwner": {
            "type": "boolean",
            "description": "Indicates if the company is a small business owner."
          },
          "dHLIntrashipCustomerId": {
            "type": "string",
            "description": "DHL Intraship customer Id for shipping."
          },
          "uPSCustomerId": {
            "type": "string",
            "description": "UPS customer Id for shipping."
          },
          "companyVatIdentifiers": {
            "type": "array",
            "description": "List of company vat ids.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CompanyVatIdDetailsItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CompanyVatIdDetailsItem": {
        "type": "object",
        "description": "Single row of the company VAT id table",
        "additionalProperties": false,
        "required": [
          "id",
          "companyId",
          "countryIsoCode",
          "vatIdentifier",
          "isShippingCountry"
        ],
        "properties": {
          "id": {
            "description": "Unique VAT ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaUStIdKey"
          },
          "companyId": {
            "description": "The company id.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "countryIsoCode": {
            "type": "string",
            "description": "The country ISO code."
          },
          "vatIdentifier": {
            "type": "string",
            "description": "The VAT id."
          },
          "isShippingCountry": {
            "type": "boolean",
            "description": "If this country is a shipping country"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CreateCompanyCommandRequest": {
        "type": "object",
        "description": "A command to create a new company, including identification, contact, banking, and tax information. - Request",
        "additionalProperties": false,
        "required": [
          "companyName",
          "countryIsoCode",
          "isSmallBusinessOwner"
        ],
        "properties": {
          "companyName": {
            "type": "string",
            "description": "The name of the company to be created."
          },
          "owner": {
            "type": "string",
            "description": "The owner of the company."
          },
          "street": {
            "type": "string",
            "description": "The street address of the company."
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code of the company."
          },
          "city": {
            "type": "string",
            "description": "The city of the company."
          },
          "country": {
            "type": "string",
            "description": "The country name of the company."
          },
          "countryIsoCode": {
            "type": "string",
            "description": "The country ISO code of the company."
          },
          "phone": {
            "type": "string",
            "description": "The phone number of the company."
          },
          "fax": {
            "type": "string",
            "description": "The fax number of the company."
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address of the company."
          },
          "website": {
            "type": "string",
            "description": "The website URL of the company."
          },
          "bankCode": {
            "type": "string",
            "description": "The bank code of the company."
          },
          "accountNumber": {
            "type": "string",
            "description": "The bank account number of the company."
          },
          "bankName": {
            "type": "string",
            "description": "The bank name of the company."
          },
          "taxId": {
            "type": "string",
            "description": "The tax identification number of the company."
          },
          "iBAN": {
            "type": "string",
            "description": "The International Bank Account Number (IBAN) of the company."
          },
          "bIC": {
            "type": "string",
            "description": "The Bank Identifier Code (BIC) of the company."
          },
          "accountHolder": {
            "type": "string",
            "description": "The account holder name of the company."
          },
          "creditorId": {
            "type": "string",
            "description": "The creditor ID for SEPA direct debit."
          },
          "payPalEmailAddress": {
            "type": "string",
            "description": "The PayPal email address of the company."
          },
          "isSmallBusinessOwner": {
            "type": "boolean",
            "description": "A value indicating whether the owner of the company is a small business owner (Kleinunternehmer). This affects the VAT handling of the company."
          },
          "dHLIntrashipCustomerId": {
            "type": "string",
            "description": "The DHL Intraship customer ID of the company."
          },
          "uPSCustomerId": {
            "type": "string",
            "description": "The UPS customer ID of the company."
          },
          "companyVatIdentifiers": {
            "type": "array",
            "description": "The collection of VAT identifiers for this company.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CreateCompanyVatIdDetailsItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CreateCompanyCommandResponse": {
        "type": "object",
        "description": "A command to create a new company, including identification, contact, banking, and tax information. - Response",
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "properties": {
          "companyId": {
            "description": "Unique ID of the newly created company - this key is used for all further operations with the company.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.CreateCompanyVatIdDetailsItem": {
        "type": "object",
        "description": "Single row of the company VAT id table",
        "additionalProperties": false,
        "required": [
          "countryIsoCode",
          "vatIdentifier",
          "isShippingCountry"
        ],
        "properties": {
          "id": {
            "description": "Unique VAT ID.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaUStIdKey"
          },
          "companyId": {
            "description": "The company id.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "countryIsoCode": {
            "type": "string",
            "description": "The country ISO code."
          },
          "vatIdentifier": {
            "type": "string",
            "description": "The VAT id."
          },
          "isShippingCountry": {
            "type": "boolean",
            "description": "If this country is a shipping country"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Companydetails.UpdateCompanyVatIdDetailsItem": {
        "type": "object",
        "description": "Single row of the company VAT id table",
        "additionalProperties": false,
        "required": [
          "id",
          "companyId",
          "countryIsoCode",
          "vatIdentifier",
          "isShippingCountry"
        ],
        "properties": {
          "id": {
            "description": "Unique VAT ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaUStIdKey"
          },
          "companyId": {
            "description": "The company id.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "countryIsoCode": {
            "type": "string",
            "description": "The country ISO code."
          },
          "vatIdentifier": {
            "type": "string",
            "description": "The VAT id."
          },
          "isShippingCountry": {
            "type": "boolean",
            "description": "If this country is a shipping country"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CompanyOverview.CompanyListItem": {
        "type": "object",
        "description": "Single row of the company table",
        "additionalProperties": false,
        "required": [
          "id",
          "isSmallBusinessOwner",
          "companyVatIdentifiers"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a company (kFirma).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "companyName": {
            "type": "string",
            "description": "Name of the company."
          },
          "owner": {
            "type": "string",
            "description": "Owner of the company."
          },
          "street": {
            "type": "string",
            "description": "Street address of the company."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the company."
          },
          "city": {
            "type": "string",
            "description": "City of the company."
          },
          "country": {
            "type": "string",
            "description": "Country of the company."
          },
          "countryIsoCode": {
            "type": "string",
            "description": "Country ISO code."
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the company."
          },
          "fax": {
            "type": "string",
            "description": "Fax number of the company."
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address of the company."
          },
          "website": {
            "type": "string",
            "description": "Website of the company."
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code."
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number."
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "taxId": {
            "type": "string",
            "description": "Tax identification number."
          },
          "iBAN": {
            "type": "string",
            "description": "International Bank Account Number."
          },
          "bIC": {
            "type": "string",
            "description": "Bank Identifier Code."
          },
          "accountHolder": {
            "type": "string",
            "description": "Bank account holder name."
          },
          "creditorId": {
            "type": "string",
            "description": "Creditor identification number."
          },
          "payPalEmailAddress": {
            "type": "string",
            "description": "PayPal email address of the company."
          },
          "isSmallBusinessOwner": {
            "type": "boolean",
            "description": "Indicates if the company is a small business owner."
          },
          "dHLIntrashipCustomerId": {
            "type": "string",
            "description": "DHL Intraship customer Id for shipping."
          },
          "uPSCustomerId": {
            "type": "string",
            "description": "UPS customer Id for shipping."
          },
          "companyVatIdentifiers": {
            "type": "array",
            "description": "List of company vat ids.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CompanyOverview.CompanyVatIdItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CompanyOverview.CompanyVatIdItem": {
        "type": "object",
        "description": "Single row of the company VAT id table",
        "additionalProperties": false,
        "required": [
          "id",
          "companyId",
          "countryIsoCode",
          "vatIdentifier",
          "isShippingCountry"
        ],
        "properties": {
          "id": {
            "description": "Unique VAT ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaUStIdKey"
          },
          "companyId": {
            "description": "The company id.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "countryIsoCode": {
            "type": "string",
            "description": "The country ISO code."
          },
          "vatIdentifier": {
            "type": "string",
            "description": "The VAT id."
          },
          "isShippingCountry": {
            "type": "boolean",
            "description": "If this country is a shipping country"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CopyItemdetailsCommandRequest": {
        "type": "object",
        "description": "- Request\n            ",
        "additionalProperties": false,
        "required": [
          "copyDetailsIntoItemIds",
          "copyOptions"
        ],
        "properties": {
          "copyDetailsIntoItemIds": {
            "type": "array",
            "description": "Transfer the itemdetails into the items identified by these unique identifiers.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          "copyOptions": {
            "description": "Specifies which properties and aspects of the source item should be duplicated to the new items.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateItemdetailsCopyOptions"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CopyItemdetailsCommandResponse": {
        "type": "object",
        "description": "- Response\n            ",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "type": "array",
            "description": "Unique IDs of the items that received copied values.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateAttributesCopyOptions": {
        "type": "object",
        "description": "Options for copying item attributes.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether attributes should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing attributes or attach/merge new attributes with existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateBomComponentsCopyOptions": {
        "type": "object",
        "description": "Options for copying bill of materials (BOM) components.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether BOM components should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing BOM components or attach/add new components to the existing BOM structure.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateCharacteristicsCopyOptions": {
        "type": "object",
        "description": "Options for copying item characteristics (Merkmale).",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether characteristics should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing characteristics or attach/add new characteristics to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateConfigurationsCopyOptions": {
        "type": "object",
        "description": "Options for copying item configurations.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether configurations should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing configurations or attach/add new configurations to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateCrossSellingCopyOptions": {
        "type": "object",
        "description": "Options for copying cross-selling data.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether cross-selling data should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing cross-selling relations or attach/add new ones to existing cross-selling data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateCustomFieldsCopyOptions": {
        "type": "object",
        "description": "Options for copying custom fields (eigene Felder).",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether custom fields should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing custom field values or attach/merge new custom field values with existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateDeliveryOptionsCopyOptions": {
        "type": "object",
        "description": "Options for copying delivery options and constraints.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether delivery options should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing delivery options. Only Replace is applicable for delivery options, as they are exclusive settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateDescriptionsCopyOptions": {
        "type": "object",
        "description": "Options for copying item texts and descriptions.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "considerItemName",
          "considerItemDescription",
          "considerItemMetadata",
          "considerItemUrlPath",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether texts and descriptions should be copied."
          },
          "considerItemName": {
            "type": "boolean",
            "description": "Indicates whether the item name should be copied."
          },
          "considerItemDescription": {
            "type": "boolean",
            "description": "Indicates whether the item description (long text) should be copied."
          },
          "considerItemMetadata": {
            "type": "boolean",
            "description": "Indicates whether item metadata (meta description, meta keywords, title tag) should be copied."
          },
          "considerItemUrlPath": {
            "type": "boolean",
            "description": "Indicates whether the item URL path (SEO URL) should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing texts or attach/merge new texts with existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateDownloadFilesCopyOptions": {
        "type": "object",
        "description": "Options for copying download files.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether download files should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing download files or attach/add new download files to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateIdentifiersCopyOptions": {
        "type": "object",
        "description": "Options for copying item identifiers (EAN, ISBN, HAN, UPC, TARIC, etc.).",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether identifiers should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing identifiers. Only Replace is applicable for identifiers as they are unique values.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateImagesCopyOptions": {
        "type": "object",
        "description": "Options for copying item images.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether images should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing images or attach/add new images to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateItemdetailsCopyOptions": {
        "type": "object",
        "description": "Defines which item properties should be copied when copying item details. This structure controls the copy behavior for all relevant item aspects.",
        "additionalProperties": false,
        "properties": {
          "attributesCopyOptions": {
            "description": "Options for copying item attributes.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateAttributesCopyOptions"
          },
          "descriptionsCopyOptions": {
            "description": "Options for copying item texts and descriptions.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateDescriptionsCopyOptions"
          },
          "imagesCopyOptions": {
            "description": "Options for copying item images.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateImagesCopyOptions"
          },
          "crossSellingCopyOptions": {
            "description": "Options for copying cross-selling data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateCrossSellingCopyOptions"
          },
          "downloadFilesCopyOptions": {
            "description": "Options for copying download files.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateDownloadFilesCopyOptions"
          },
          "customFieldsCopyOptions": {
            "description": "Options for copying custom fields.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateCustomFieldsCopyOptions"
          },
          "purchasePricesCopyOptions": {
            "description": "Options for copying purchase prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreatePurchasePricesCopyOptions"
          },
          "identifiersCopyOptions": {
            "description": "Options for copying item identifiers.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateIdentifiersCopyOptions"
          },
          "configurationsCopyOptions": {
            "description": "Options for copying item configurations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateConfigurationsCopyOptions"
          },
          "suppliersCopyOptions": {
            "description": "Options for copying supplier data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateSuppliersCopyOptions"
          },
          "deliveryOptionsCopyOptions": {
            "description": "Options for copying delivery options.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateDeliveryOptionsCopyOptions"
          },
          "measurementsCopyOptions": {
            "description": "Options for copying dimensions and weights.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateMeasurementsCopyOptions"
          },
          "mediaFilesCopyOptions": {
            "description": "Options for copying media files.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateMediaFilesCopyOptions"
          },
          "characteristicsCopyOptions": {
            "description": "Options for copying item characteristics.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateCharacteristicsCopyOptions"
          },
          "onlineShopsCopyOptions": {
            "description": "Options for copying online shop settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateOnlineShopsCopyOptions"
          },
          "oversalesCopyOptions": {
            "description": "Options for copying over-sales settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateOversalesCopyOptions"
          },
          "scxCopyOptions": {
            "description": "Options for copying SCX marketplace data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateScxCopyOptions"
          },
          "specialPricesCopyOptions": {
            "description": "Options for copying special prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateSpecialPricesCopyOptions"
          },
          "masterDataCopyOptions": {
            "description": "Options for copying master data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateMasterDataCopyOptions"
          },
          "bomComponentsCopyOptions": {
            "description": "Options for copying bill of materials components.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateBomComponentsCopyOptions"
          },
          "uploadFilesCopyOptions": {
            "description": "Options for copying upload files.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateUploadFilesCopyOptions"
          },
          "variationsCopyOptions": {
            "description": "Options for copying variations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateVariationsCopyOptions"
          },
          "salesPricesCopyOptions": {
            "description": "Options for copying sales prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateSalesPricesCopyOptions"
          },
          "packagingCopyOptions": {
            "description": "Options for copying packaging settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreatePackagingCopyOptions"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateMasterDataCopyOptions": {
        "type": "object",
        "description": "Options for copying master data (manufacturer, product group, shipping class, tax class, etc.).",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether master data should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing master data. Only Replace is applicable for master data as these are exclusive assignments.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateMeasurementsCopyOptions": {
        "type": "object",
        "description": "Options for copying dimensions and weights.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether dimensions and weights should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing dimensions and weights. Only Replace is applicable for measurements.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateMediaFilesCopyOptions": {
        "type": "object",
        "description": "Options for copying media files.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether media files should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing media files or attach/add new media files to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateOnlineShopsCopyOptions": {
        "type": "object",
        "description": "Options for copying online shop settings and visibility.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether online shop settings should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing online shop settings or attach/add new shop settings to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateOversalesCopyOptions": {
        "type": "object",
        "description": "Options for copying over-sales settings.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether over-sales settings should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing over-sales settings or attach new ones. Only Replace is applicable for over-sales settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreatePackagingCopyOptions": {
        "type": "object",
        "description": "Options for copying item packaging settings.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether configurations should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing configurations or attach/add new configurations to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreatePurchasePricesCopyOptions": {
        "type": "object",
        "description": "Options for copying purchase prices.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether purchase prices should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing purchase prices. Only Replace is applicable for purchase prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateSalesPricesCopyOptions": {
        "type": "object",
        "description": "Options for copying sales prices including shop-specific and customer group prices.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether sales prices should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing sales prices or attach/add new price entries to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateScxCopyOptions": {
        "type": "object",
        "description": "Options for copying SCX (shopping.com XML) marketplace data.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether SCX data should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace existing SCX data or attach/add new SCX data to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateSpecialPricesCopyOptions": {
        "type": "object",
        "description": "Options for copying special prices (Sonderpreise) including time-based promotional prices.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether special prices should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing special prices or attach/add new special price entries to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateSuppliersCopyOptions": {
        "type": "object",
        "description": "Options for copying supplier data.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "keepItemNumber",
          "keepItemName",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether supplier data should be copied."
          },
          "keepItemNumber": {
            "type": "boolean",
            "description": "Indicates whether the supplier-specific item SKU (article number) should be copied. When true, the SKU used by the supplier will be copied to the target items."
          },
          "keepItemName": {
            "type": "boolean",
            "description": "Indicates whether the supplier-specific item name should be copied. When true, the item name used by the supplier will be copied to the target items."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing suppliers or attach/add new suppliers to the existing supplier list.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateUploadFilesCopyOptions": {
        "type": "object",
        "description": "Options for copying upload files.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether upload files should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing upload files or attach/add new upload files to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.CreateVariationsCopyOptions": {
        "type": "object",
        "description": "Options for copying item variations.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "copyAction"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether variations should be copied."
          },
          "copyAction": {
            "description": "Specifies whether to replace all existing variations or attach/add new variations to existing ones.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CopyItemdetails.ItemSettingCopyAction": {
        "type": "integer",
        "description": "0 = Replace, 1 = Attach",
        "format": "int32",
        "x-enumNames": [
          "Replace",
          "Attach"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldListItem": {
        "type": "object",
        "description": "Metadata definition of custom fields (Eigene Felder)",
        "additionalProperties": false,
        "required": [
          "customFieldKey",
          "name",
          "customFieldType",
          "dataType",
          "isRequired",
          "referenceType",
          "sort",
          "isReadonly",
          "isInvisible"
        ],
        "properties": {
          "customFieldKey": {
            "description": "Unique identifier of the custom field.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the custom field in the specified language."
          },
          "group": {
            "type": "string",
            "description": "Group name where the custom field belongs to."
          },
          "customFieldType": {
            "description": "Data type of the custom field. Possible values: Kein = No specific type, Ganzzahl = Integer number, FliesskommaZahl = Floating point number, Text = Free text, Checkbox = Boolean checkbox, Liste = Selection list, Url = Website URL, EMail = Email address, TelNr = Phone number, LandIso = Country ISO code, Preis = Price/Currency, Datum = Date, KurzText = Short text",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldType"
          },
          "dataType": {
            "type": "string",
            "description": "The underlying .NET data type of the CustomFieldType: 'int' for Ganzzahl and Checkbox, 'string' for Text, KurzText, Url, EMail, TelNr, LandIso, Liste, and Kein, 'decimal' for FliesskommaZahl and Preis, 'DateTime' for Datum"
          },
          "isRequired": {
            "type": "boolean",
            "description": "Indicates whether the field is mandatory."
          },
          "referenceType": {
            "description": "Entity type the custom field belongs to (e.g., Artikel, Kategorie, Kunde).",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldReferenceType"
          },
          "sort": {
            "type": "integer",
            "description": "Sort order within the group.",
            "format": "int32"
          },
          "isReadonly": {
            "type": "boolean",
            "description": "Indicates whether the field value is readonly."
          },
          "isInvisible": {
            "type": "boolean",
            "description": "Indicates whether the field is hidden in UI."
          },
          "description": {
            "type": "string",
            "description": "Description of the custom field."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldReferenceType": {
        "type": "integer",
        "description": "1 = Item, 2 = Category, 3 = Customer, 4 = SalesOrder, 5 = Company, 6 = ProductionOrder, 7 = Operations",
        "format": "int32",
        "x-enumNames": [
          "Item",
          "Category",
          "Customer",
          "SalesOrder",
          "Company",
          "ProductionOrder",
          "Operations"
        ],
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.CustomFields.CustomFieldType": {
        "type": "integer",
        "description": "0 = None, 1 = Integer, 2 = FloatingPointNumber, 3 = FreeText, 4 = Checkbox, 5 = List, 6 = Url, 7 = EMail, 8 = PhoneNumber, 9 = CountryIso, 10 = Price, 11 = Date, 12 = ShortText",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Integer",
          "FloatingPointNumber",
          "FreeText",
          "Checkbox",
          "List",
          "Url",
          "EMail",
          "PhoneNumber",
          "CountryIso",
          "Price",
          "Date",
          "ShortText"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateAttributesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating item attributes.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether item attributes should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateBomDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating bill of materials components.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether bill of materials components should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateCharacteristicsDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating item characteristics.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether item characteristics should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateConfigurationsDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating configurations.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether configurations should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateCrossSellingDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating cross-selling data.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether cross-selling data should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateCustomFieldsDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating custom fields.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether custom fields should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateDeliveryOptionsDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating delivery options.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether delivery options should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateDescriptionsDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating descriptions.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether descriptions should be duplicated."
          },
          "considerDescriptions": {
            "type": "boolean",
            "description": "Indicates whether the item description should be considered during duplication. When true, the full description text will be duplicated."
          },
          "considerMetadata": {
            "type": "boolean",
            "description": "Indicates whether the item metadata (such as meta description, meta keywords, and title tags) should be considered during duplication."
          },
          "considerUrlPaths": {
            "type": "boolean",
            "description": "Indicates whether the URL path should be considered during duplication. When true, the SEO-friendly URL path will be duplicated."
          },
          "considerNames": {
            "type": "boolean",
            "description": "Indicates whether the item name should be considered during duplication. When true, the item name from descriptions will be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateDownloadFilesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating download files.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether download files should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateIdentifiersDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating identifiers.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether identifiers should be duplicated."
          },
          "considerEan": {
            "type": "boolean",
            "description": "Indicates whether the EAN (European Article Number) should be considered during duplication."
          },
          "considerIsbn": {
            "type": "boolean",
            "description": "Indicates whether the ISBN (International Standard Book Number) should be considered during duplication."
          },
          "considerUpc": {
            "type": "boolean",
            "description": "Indicates whether the UPC (Universal Product Code) should be considered during duplication."
          },
          "considerHan": {
            "type": "boolean",
            "description": "Indicates whether the HAN (manufacturer number) should be considered during duplication."
          },
          "considerTaricCode": {
            "type": "boolean",
            "description": "Indicates whether the TARIC code should be considered during duplication."
          },
          "considerCountryCode": {
            "type": "boolean",
            "description": "Indicates whether the country of origin code should be considered during duplication."
          },
          "considerHazardNumber": {
            "type": "boolean",
            "description": "Indicates whether the hazard identification number should be considered during duplication."
          },
          "considerSeries": {
            "type": "boolean",
            "description": "Indicates whether the series information should be considered during duplication."
          },
          "considerUnNumber": {
            "type": "boolean",
            "description": "Indicates whether the UN number should be considered during duplication."
          },
          "considerAmazonFnsku": {
            "type": "boolean",
            "description": "Indicates whether the Amazon FNSKU should be considered during duplication."
          },
          "considerNotes": {
            "type": "boolean",
            "description": "Indicates whether item notes should be considered during duplication."
          },
          "considerSearchTerms": {
            "type": "boolean",
            "description": "Indicates whether search terms should be considered during duplication."
          },
          "considerIncludeInPriceList": {
            "type": "boolean",
            "description": "Indicates whether the include in price list flag should be considered during duplication."
          },
          "considerOrderSuggestions": {
            "type": "boolean",
            "description": "Indicates whether order suggestions should be considered during duplication."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateImagesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating images.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether images should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateItemDuplicate": {
        "type": "object",
        "description": "Represents the basic information for a duplicated item including SKU and name.",
        "additionalProperties": false,
        "required": [
          "sku",
          "name"
        ],
        "properties": {
          "sku": {
            "type": "string",
            "description": "The stock keeping unit (SKU) for the duplicated item. Must be unique."
          },
          "name": {
            "type": "string",
            "description": "The name of the duplicated item."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateItemDuplicationOptions": {
        "type": "object",
        "description": "Defines which item properties should be duplicated when creating item copies. This structure controls the duplication behavior for all relevant item aspects.",
        "additionalProperties": false,
        "properties": {
          "oversalesDuplicationOptions": {
            "description": "Options for duplicating over-sales settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateOversalesDuplicationOptions"
          },
          "attributesDuplicationOptions": {
            "description": "Options for duplicating item attributes.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateAttributesDuplicationOptions"
          },
          "imagesDuplicationOptions": {
            "description": "Options for duplicating images.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateImagesDuplicationOptions"
          },
          "downloadFilesDuplicationOptions": {
            "description": "Options for duplicating download files.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateDownloadFilesDuplicationOptions"
          },
          "uploadFilesDuplicationOptions": {
            "description": "Options for duplicating upload files.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateUploadFilesDuplicationOptions"
          },
          "mediaFilesDuplicationOptions": {
            "description": "Options for duplicating media files.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateMediaFilesDuplicationOptions"
          },
          "characteristicsDuplicationOptions": {
            "description": "Options for duplicating item characteristics.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateCharacteristicsDuplicationOptions"
          },
          "bomDuplicationOptions": {
            "description": "Options for duplicating bill of materials components.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateBomDuplicationOptions"
          },
          "variationsDuplicationOptions": {
            "description": "Options for duplicating variations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateVariationsDuplicationOptions"
          },
          "configurationsDuplicationOptions": {
            "description": "Options for duplicating configurations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateConfigurationsDuplicationOptions"
          },
          "descriptionsDuplicationOptions": {
            "description": "Options for duplicating descriptions.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateDescriptionsDuplicationOptions"
          },
          "crossSellingDuplicationOptions": {
            "description": "Options for duplicating cross-selling data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateCrossSellingDuplicationOptions"
          },
          "customFieldsDuplicationOptions": {
            "description": "Options for duplicating custom fields.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateCustomFieldsDuplicationOptions"
          },
          "purchasePricesDuplicationOptions": {
            "description": "Options for duplicating purchase prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreatePurchasePricesDuplicationOptions"
          },
          "identifiersDuplicationOptions": {
            "description": "Options for duplicating identifiers.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateIdentifiersDuplicationOptions"
          },
          "salesPricesDuplicationOptions": {
            "description": "Options for duplicating sales prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSalesPricesDuplicationOptions"
          },
          "masterDataDuplicationOptions": {
            "description": "Options for duplicating master data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateMasterDataDuplicationOptions"
          },
          "specialPricesDuplicationOptions": {
            "description": "Options for duplicating special prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSpecialPricesDuplicationOptions"
          },
          "deliveryOptionsDuplicationOptions": {
            "description": "Options for duplicating delivery options.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateDeliveryOptionsDuplicationOptions"
          },
          "measurementssDuplicationOptions": {
            "description": "Options for duplicating dimensions and weights.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateMeasurementssDuplicationOptions"
          },
          "suppliersDuplicationOptions": {
            "description": "Options for duplicating supplier data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSuppliersDuplicationOptions"
          },
          "saleschannelDuplicationOptions": {
            "description": "Options for duplicating saleschannel settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSaleschannelDuplicationOptions"
          },
          "scxDuplicationOptions": {
            "description": "Options for duplicating SCX data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateScxDuplicationOptions"
          },
          "packagingDuplicationOptions": {
            "description": "Options for duplicating packaging data.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreatePackagingDuplicationOptions"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateMasterDataDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating master data.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether master data should be duplicated."
          },
          "considerManufacturer": {
            "type": "boolean",
            "description": "Indicates whether the manufacturer should be considered during duplication."
          },
          "considerProductGroup": {
            "type": "boolean",
            "description": "Indicates whether the product group should be considered during duplication."
          },
          "considerTaxClass": {
            "type": "boolean",
            "description": "Indicates whether the tax class should be considered during duplication."
          },
          "considerShippingClass": {
            "type": "boolean",
            "description": "Indicates whether the shipping class should be considered during duplication."
          },
          "considerBasePriceUnit": {
            "type": "boolean",
            "description": "Indicates whether the base price unit should be considered during duplication."
          },
          "considerMinimumPurchaseSettings": {
            "type": "boolean",
            "description": "Indicates whether minimum purchase settings should be considered during duplication."
          },
          "considerPackaging": {
            "type": "boolean",
            "description": "Indicates whether packaging information should be considered during duplication."
          },
          "considerNonDiscountable": {
            "type": "boolean",
            "description": "Indicates whether the non-discountable flag should be considered during duplication."
          },
          "considerItemType": {
            "type": "boolean",
            "description": "Indicates whether the item type should be considered during duplication."
          },
          "considerInventoryManagement": {
            "type": "boolean",
            "description": "Indicates whether inventory management settings should be considered during duplication."
          },
          "considerMinMaxInventory": {
            "type": "boolean",
            "description": "Indicates whether minimum and maximum inventory levels should be considered during duplication."
          },
          "considerProductCompliancePerson": {
            "type": "boolean",
            "description": "Indicates whether the product compliance responsible person should be considered during duplication."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateMeasurementssDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating dimensions and weights.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether dimensions and weights should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateMediaFilesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating media files.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether media files should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateOversalesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating over-sales settings.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether over-sales settings should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreatePackagingDuplicationOptions": {
        "type": "object",
        "description": "Options for copying item packaging settings.",
        "additionalProperties": false,
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether packaging settings should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreatePurchasePricesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating purchase prices.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether purchase prices should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSaleschannelDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating saleschannel settings.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether saleschannel settings should be duplicated."
          },
          "considerHighlightOptions": {
            "type": "boolean",
            "description": "Indicates whether item highlight options should be considered during duplication. When true, special highlighting and promotional settings for sales channels will be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSalesPricesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating sales prices.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether sales prices should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateScxDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating SCX data.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether SCX data should be duplicated."
          },
          "considerCategoryMappings": {
            "type": "boolean",
            "description": "Indicates whether assigned categories should be considered during duplication. When true, category assignments for sales channels will be duplicated."
          },
          "considerSalesChannelFieldValues": {
            "type": "boolean",
            "description": "Indicates whether custom field values should be considered during duplication. When true, sales channel-specific custom field values will be duplicated."
          },
          "considerEveryShop": {
            "type": "boolean",
            "description": "Indicates whether all shops should be considered during duplication. When true, SCX data will be duplicated for all configured sales channels."
          },
          "shopsToConsider": {
            "type": "array",
            "description": "List of sales channel keys for which the SCX data should be duplicated. Only data for the specified sales channels will be copied to the new item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSpecialPricesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating special prices.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether special prices should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateSuppliersDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating supplier data.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether supplier data should be duplicated."
          },
          "keepItemNumber": {
            "type": "boolean",
            "description": "Indicates whether the supplier-specific item SKU (article number) should be kept during duplication. When true, the SKU used by the supplier will be duplicated."
          },
          "keepItemName": {
            "type": "boolean",
            "description": "Indicates whether the supplier-specific item name should be kept during duplication. When true, the item name used by the supplier will be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateUploadFilesDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating upload files.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether upload files should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateVariationsDuplicationOptions": {
        "type": "object",
        "description": "Options for duplicating variations.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether variations should be duplicated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.DuplicateItemsCommandRequest": {
        "type": "object",
        "description": "Creates one or more duplicates of an existing item with specified duplication options. - Request",
        "additionalProperties": false,
        "required": [
          "duplicatesToCreate",
          "executeItemCreatedWorkflowOnCreation",
          "itemDuplicationOptions"
        ],
        "properties": {
          "duplicatesToCreate": {
            "type": "array",
            "description": "The basic information (SKU and name) for the items to be created as duplicates.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateItemDuplicate"
            }
          },
          "executeItemCreatedWorkflowOnCreation": {
            "type": "boolean",
            "description": "Indicates whether the item creation workflow should be executed after creating the duplicates."
          },
          "itemDuplicationOptions": {
            "description": "Specifies which properties and aspects of the source item should be duplicated to the new items.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.CreateItemDuplicationOptions"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.DuplicateItem.DuplicateItemsCommandResponse": {
        "type": "object",
        "description": "Creates one or more duplicates of an existing item with specified duplication options. - Response",
        "additionalProperties": false,
        "required": [
          "createdItems"
        ],
        "properties": {
          "createdItems": {
            "type": "array",
            "description": "The list of unique identifiers (ArtikelKeys) for all successfully created duplicate items.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemSupplierCommandRequest": {
        "type": "object",
        "description": "Adds supplier information to an existing regular item. This command allows the association of suppliers with the item, including details such as purchase prices, delivery times, and order intervals. - Request",
        "additionalProperties": false,
        "required": [
          "itemSupplier"
        ],
        "properties": {
          "itemSupplier": {
            "description": "Supplier information to be added to the item.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSupplier"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemSupplierCommandResponse": {
        "type": "object",
        "description": "Adds supplier information to an existing regular item. This command allows the association of suppliers with the item, including details such as purchase prices, delivery times, and order intervals. - Response",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID of the modified item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationCommandRequest": {
        "type": "object",
        "description": "Adds a new variation (e.g., color, size) to an existing item. Variations allow customers to select different product options. - Request",
        "additionalProperties": false,
        "required": [
          "variation"
        ],
        "properties": {
          "variation": {
            "description": "The variation to add including type (selectbox, radio, etc.), descriptions in multiple languages, and optional variation values.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariation"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationCommandResponse": {
        "type": "object",
        "description": "Adds a new variation (e.g., color, size) to an existing item. Variations allow customers to select different product options. - Response",
        "additionalProperties": false,
        "required": [
          "variationId"
        ],
        "properties": {
          "variationId": {
            "description": "Unique ID of the newly added variation.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationValueCommandRequest": {
        "type": "object",
        "description": "Adds a new value to an existing item variation. - Request",
        "additionalProperties": false,
        "required": [
          "variationValue"
        ],
        "properties": {
          "variationValue": {
            "description": "The variation value to add including descriptions in multiple languages, surcharges, GTIN, item number, and weight offset.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariationValue"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AddItemVariationValueCommandResponse": {
        "type": "object",
        "description": "Adds a new value to an existing item variation. - Response",
        "additionalProperties": false,
        "required": [
          "variationValueId"
        ],
        "properties": {
          "variationValueId": {
            "description": "Unique ID of the newly added variation value.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AttributeSalesChannelValues": {
        "type": "object",
        "description": "Model Class: AttributeSalesChannelValues ",
        "additionalProperties": false,
        "required": [
          "salesChannelId"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Identifies the saleschannel for this attributevalue",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "values": {
            "type": "array",
            "description": "Contains the values for a saleschannel",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AttributeValue"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AttributeValue": {
        "type": "object",
        "description": "Model Class: AttributeValue ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "value"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "value": {
            "type": "string",
            "description": "Value of this attribute as string. Please consider the Attribute Type for correct formatting."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AttributeValues": {
        "type": "object",
        "description": "Model Class: AttributeValues ",
        "additionalProperties": false,
        "required": [
          "attributeId"
        ],
        "properties": {
          "attributeId": {
            "description": "Identifies the attribute",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AttributKey"
          },
          "defaultValues": {
            "type": "array",
            "description": "Defines the default values for the attribute and item in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AttributeValue"
            }
          },
          "salesChannelValues": {
            "type": "array",
            "description": "Contains all values for saleschannels for this attribute and item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AttributeSalesChannelValues"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ChangeItemCommandRequest": {
        "type": "object",
        "description": "Modifies an existing regular item with all specified properties. This command enables complete reconfiguration of an item including identifiers, descriptions, prices, measurements, and miscellaneous information. - Request",
        "additionalProperties": false,
        "properties": {
          "productGroupId": {
            "description": "The ID of the product group to which the item should be assigned. Product groups serve for categorical classification of items for reports and analyses.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "shippingClassId": {
            "description": "The ID of the shipping class to which the item should be assigned.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandklasseKey"
          },
          "manufacturerId": {
            "description": "The ID of the manufacturer to which the item should be assigned.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.HerstellerKey"
          },
          "categories": {
            "description": "Category assignments of the item. Defines all categories to which the item should be assigned for better organization and navigation.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCategories"
          },
          "identifiers": {
            "description": "Identifiers of the item with all relevant markings and numbers for unique identification of the item in various systems.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemIdentifiers"
          },
          "descriptions": {
            "description": "Descriptions of the item in different languages and for different platforms/sales channels. Includes names, short and long descriptions as well as SEO-relevant information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemDescriptions"
          },
          "prices": {
            "description": "Price structures of the item for different sales channels, customer groups and individual customers. Includes sales prices, purchase prices and tier prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemPrices"
          },
          "measurements": {
            "description": "Physical dimensions and weight specifications of the item for storage, shipping and product presentation. Important for shipping cost calculations and storage space optimization.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemMeasurements"
          },
          "images": {
            "description": "tbd",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemImages"
          },
          "customFields": {
            "description": "Custom fields defined for the item to store additional information. Useful for special requirements or integrations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomFields"
          },
          "suppliers": {
            "description": "Suppliers associated with the item including supplier-specific information such as purchase prices, delivery times and order intervals.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSuppliers"
          },
          "variations": {
            "description": "Variations of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemVariations"
          },
          "deliveryStatusId": {
            "description": "Delivery status id determining the availability display of the item (e.g. 'immediately available', '2-3 days'). Tab 'Sonstiges'.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferstatusKey"
          },
          "includeInPriceList": {
            "type": "boolean",
            "description": "Indicates whether the item can be included in exported price lists. Tab 'Sonstiges'."
          },
          "ignoreOrderSuggestions": {
            "type": "boolean",
            "description": "Indicates whether order suggestions should be ignored for this item. If true, the item will not appear in automatic order suggestions. Tab 'Sonstiges'."
          },
          "ignoreDiscounts": {
            "type": "boolean",
            "description": "Indicates whether the item is not eligible for discounts (Rabatte ignorieren / Nicht Rabattfähig). Tab 'Sonstiges'."
          },
          "countryOfOrigin": {
            "type": "string",
            "description": "Country of origin (Herkunftsland) - ISO code or country name. Max length 64. Tab 'Sonstiges'."
          },
          "notes": {
            "type": "string",
            "description": "Additional notes (Anmerkung) for the item - unlimited length. Tab 'Sonstiges'."
          },
          "features": {
            "description": "Features of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemFeatures"
          },
          "attributes": {
            "description": "Attributes of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemAttributes"
          },
          "unitPricing": {
            "description": "UnitPricing information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemUnitPricing"
          },
          "specialPrices": {
            "description": "SpecialPrices information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSpecialPrices"
          },
          "storageConstraints": {
            "description": "ItemStorageConstraints information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemStorageConstraints"
          },
          "crosssellingGroups": {
            "description": "CrosssellingGroups of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCrosssellingGroups"
          },
          "salesChannels": {
            "type": "array",
            "description": "A list of sales channels that should be activated after a successful update of the item. When omitted or null, the current sales channel assignment of the item stays unchanged. Sales channels that are active and included in this list remain active. Sales channels that are inactive and not included in this list remain inactive. Sales channels that are active but not included in this list are deactivated. Sales channels that are inactive but included in this list are activated. An empty list therefore deactivates every sales channel of the item. If a sales channel is deactivated for an item, the activation status of that sales channel for the item images remains unchanged to allow the original listing to be restored.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SalesChannelActivation"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ChangeItemCommandResponse": {
        "type": "object",
        "description": "Modifies an existing regular item with all specified properties. This command enables complete reconfiguration of an item including identifiers, descriptions, prices, measurements, and miscellaneous information. - Response",
        "additionalProperties": false,
        "required": [
          "item"
        ],
        "properties": {
          "item": {
            "description": "The changed item.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemdetailsItem"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ChangeStockItemCommandResponse": {
        "type": "object",
        "description": "Updates the stock management configuration of an existing stock item. Every field is optional - omitted fields keep their current value, and a request that supplies no setting at all succeeds with 200 without changing anything. The item must already be a stock item; use POST /v2/items/{itemId}/stock-items/convert to turn a standard item into one first. - Response",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID of the updated stock item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ConvertStandardItemToStockItemCommandResponse": {
        "type": "object",
        "description": "Converts an existing standard item into a stock item, so that its stock is managed in warehouses from then on. The full stock management configuration is mandatory, because the item has no such configuration to fall back on yet. Use POST /v2/items/{itemId}/standard-items/convert for the opposite direction. - Response",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID of the converted item. Unchanged - a stock item keeps the ID it had as a standard item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ConvertStockItemToStandardItemCommandResponse": {
        "type": "object",
        "description": "Converts a stock item back into a standard item, so that its stock is no longer managed in warehouses. The item keeps its ID and all other properties. Three settings are reset as part of the transition and converting back does not restore them: the per-warehouse minimum and maximum stock levels written through PATCH /v2/items/{itemId}/warehouse-constraints are cleared, allowNegativeStock is switched off, and includeSupplierStock is switched off on every supplier of the item. Use POST /v2/items/{itemId}/stock-items/convert for the opposite direction. - Response",
        "additionalProperties": false,
        "required": [
          "itemId",
          "stockWrittenOff"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID of the converted item. Unchanged - a standard item keeps the ID it had as a stock item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "stockWrittenOff": {
            "type": "boolean",
            "description": "Indicates whether physical warehouse stock was actually booked out as part of the conversion. True when the item held stock in a warehouse, false otherwise - which includes the case where writeOffExistingStock was true but the item held none, and the case where the item's only stock is a supplier's, because supplier stock is not booked out. The caller cannot derive this from the request alone."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateAttributeSalesChannelValues": {
        "type": "object",
        "description": "Model Class: CreateAttributeSalesChannelValues ",
        "additionalProperties": false,
        "required": [
          "salesChannelId"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Identifies the saleschannel for this attributevalue",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "values": {
            "type": "array",
            "description": "Contains the values for a saleschannel",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateAttributeValue"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateAttributeValue": {
        "type": "object",
        "description": "Model Class: CreateAttributeValue ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "value"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "value": {
            "type": "string",
            "description": "Value of this attribute as string. Please consider the Attribute Type for correct formatting."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateAttributeValues": {
        "type": "object",
        "description": "Model Class: CreateAttributeValues ",
        "additionalProperties": false,
        "required": [
          "attributeId"
        ],
        "properties": {
          "attributeId": {
            "description": "Identifies the attribute",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AttributKey"
          },
          "defaultValues": {
            "type": "array",
            "description": "Defines the default values for the attribute and item in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateAttributeValue"
            }
          },
          "salesChannelValues": {
            "type": "array",
            "description": "Contains all values for saleschannels for this attribute and item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateAttributeSalesChannelValues"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateCrossSellItem": {
        "type": "object",
        "description": "Represents a single cross-selling item.",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "Id of the item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sku": {
            "type": "string",
            "description": "Sku of the item"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateCustomerGroupSurcharge": {
        "type": "object",
        "description": "Model Class: CreateCustomerGroupSurcharge ",
        "additionalProperties": false,
        "required": [
          "customerGroupId"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Id of the customergroup",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge for that customergroup",
            "format": "decimal"
          },
          "isActive": {
            "type": "boolean",
            "description": "Defines if the surcharges will be synchronized to online saleschannels. Does not apply for the default customer group surcharges, which are always synchronized when not overriden."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDefaultDescription": {
        "type": "object",
        "description": "Defines a default description of an item in a specific language. This description is used as a fallback when no more specific platform or sales channel descriptions are available.",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "descriptionData": {
            "description": "Contains the actual description data such as name, short and long description as well as SEO-relevant information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDescription": {
        "type": "object",
        "description": "Model Class: CreateDescription ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "name"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "name": {
            "type": "string",
            "description": "Name of the Variation in the specific language"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDescriptionData": {
        "type": "object",
        "description": "Defines the actual description data of an item. This structure contains all textual information of an item including SEO-relevant metadata for online shops.",
        "additionalProperties": false,
        "properties": {
          "itemName": {
            "type": "string",
            "description": "The name of the item as displayed in the user interface or shop."
          },
          "shortDescription": {
            "type": "string",
            "description": "Short description of the item for overview displays and search results."
          },
          "description": {
            "type": "string",
            "description": "Detailed description of the item with comprehensive product information and properties."
          },
          "metaDescription": {
            "type": "string",
            "description": "Meta description for search engine optimization (SEO) that is displayed in search results."
          },
          "metaKeywords": {
            "type": "string",
            "description": "Meta keywords for search engine optimization to improve discoverability of the item."
          },
          "titleTag": {
            "type": "string",
            "description": "HTML title tag for the item that is displayed in the browser tab and search results."
          },
          "urlPath": {
            "type": "string",
            "description": "URL path for the item to create SEO-friendly and speaking URLs."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateEbayImages": {
        "type": "object",
        "description": "Model Class: CreateEbayImages ",
        "additionalProperties": false,
        "required": [
          "ebayAccountId"
        ],
        "properties": {
          "ebayAccountId": {
            "description": "Unique ID to identify an ebay account.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EbayUserKey"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the eBay account.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemAttributes": {
        "type": "object",
        "description": "Model Class: CreateItemAttributes ",
        "additionalProperties": false,
        "properties": {
          "values": {
            "type": "array",
            "description": "Contains all attribute values assigned to the item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateAttributeValues"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCategories": {
        "type": "object",
        "description": "Defines the category assignments of an item for creation. This structure manages all categories to which an item can be assigned and enables hierarchical classification for better organization and navigation.",
        "additionalProperties": false,
        "required": [
          "categories"
        ],
        "properties": {
          "categories": {
            "type": "array",
            "description": "Contains all categories to which the item is assigned. An item can be assigned to multiple categories simultaneously to enable flexible categorization and better discoverability.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCategory"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCategory": {
        "type": "object",
        "description": "Defines a single category assignment for an item. This structure represents the link between an item and a specific category in the hierarchical category system of the ERP system.",
        "additionalProperties": false,
        "required": [
          "categoryId"
        ],
        "properties": {
          "categoryId": {
            "description": "Unique key of the category that identifies the specific category to which the item should be assigned. This key establishes the connection to the category data.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCommandRequest": {
        "type": "object",
        "description": "Creates a new regular item with all specified properties. This command enables complete configuration of an item including identifiers, descriptions, prices, and measurements. - Request",
        "additionalProperties": false,
        "required": [
          "categories",
          "identifiers",
          "descriptions"
        ],
        "properties": {
          "productGroupId": {
            "description": "The ID of the product group to which the item should be assigned. Product groups serve for categorical classification of items for reports and analyses.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "shippingClassId": {
            "description": "The ID of the shipping class to which the item should be assigned.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandklasseKey"
          },
          "manufacturerId": {
            "description": "The ID of the manufacturer to which the item should be assigned.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.HerstellerKey"
          },
          "categories": {
            "description": "Category assignments of the item. Defines all categories to which the item should be assigned for better organization and navigation.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCategories"
          },
          "identifiers": {
            "description": "Identifiers of the item with all relevant markings and numbers for unique identification of the item in various systems.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemIdentifiers"
          },
          "descriptions": {
            "description": "Descriptions of the item in different languages and for different platforms/sales channels. Includes names, short and long descriptions as well as SEO-relevant information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemDescriptions"
          },
          "prices": {
            "description": "Price structures of the item for different sales channels, customer groups and individual customers. Includes sales prices, purchase prices and tier prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemPrices"
          },
          "suppliers": {
            "description": "Suppliers associated with the item including supplier-specific information such as purchase prices, delivery times and order intervals.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSuppliers"
          },
          "measurements": {
            "description": "Physical dimensions and weight specifications of the item for storage, shipping and product presentation. Important for shipping cost calculations and storage space optimization.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemMeasurements"
          },
          "customFields": {
            "description": "Custom fields defined for the item to store additional information. Useful for special requirements or integrations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomFields"
          },
          "variations": {
            "description": "Variations of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemVariations"
          },
          "features": {
            "description": "Features of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemFeatures"
          },
          "attributes": {
            "description": "Attributes of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemAttributes"
          },
          "unitPricing": {
            "description": "UnitPricing information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemUnitPricing"
          },
          "specialPrices": {
            "description": "SpecialPrices information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSpecialPrices"
          },
          "crosssellingGroups": {
            "description": "CrosssellingGroups of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCrosssellingGroups"
          },
          "images": {
            "description": "Images of the item. Not processed by this operation - assign images with PATCH /v2/items/{itemId} once the item exists.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemImages"
          },
          "storageConstraints": {
            "description": "ItemStorageConstraints information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemStorageConstraints"
          },
          "salesChannels": {
            "type": "array",
            "description": "A list of sales channels that should be activated after a successful creation of the item. Omitting the property, sending an empty list and sending null all activate no sales channel. A sales channel that does not resolve to an activatable sales channel is rejected before the item is created, so no item is left behind. A sales channel that resolves but is incompatible with the item is skipped without an error. IncludeItemImages has no effect on this endpoint, because a newly created item has no images to copy.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SalesChannelActivation"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCommandResponse": {
        "type": "object",
        "description": "Creates a new regular item with all specified properties. This command enables complete configuration of an item including identifiers, descriptions, prices, and measurements. - Response",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID of the newly created item - this key is used for all further operations with the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCrosssellingGroup": {
        "type": "object",
        "description": "Represents a single cross-selling group with its assigned items.",
        "additionalProperties": false,
        "required": [
          "crosssellingGroupId"
        ],
        "properties": {
          "crosssellingGroupId": {
            "description": "Unique identifier of the cross-selling group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.Artikel.CrossSellingGruppeKey"
          },
          "items": {
            "type": "array",
            "description": "List of item keys that belong to this cross-selling group.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateCrossSellItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCrosssellingGroups": {
        "type": "object",
        "description": "Manages cross-selling groups assigned to an item. Cross-selling groups define related products that should be promoted together.",
        "additionalProperties": false,
        "properties": {
          "groups": {
            "type": "array",
            "description": "Collection of cross-selling groups associated with the item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCrosssellingGroup"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomerGroupPrices": {
        "type": "object",
        "description": "Defines customer group-specific prices for an item. This structure enables differentiated pricing by customer groups, allowing different price levels for different customer segments.",
        "additionalProperties": false,
        "required": [
          "customerGroupId",
          "prices"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Key of the customer group that identifies the specific customer group (e.g., end customers, resellers, wholesalers).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "prices": {
            "type": "array",
            "description": "List of prices for this customer group - can contain different tier prices or volume discounts.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomerGroupSpecialPrice": {
        "type": "object",
        "description": "Defines a customer group-specific special price for an item. This structure represents a single promotional price for a specific customer group in a sales channel.",
        "additionalProperties": false,
        "required": [
          "customerGroupId"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Key of the customer group that identifies the specific customer group (e.g., end customers, resellers, wholesalers) for which this special price applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "netPrice": {
            "type": "number",
            "description": "Net special price for this customer group without taxes. Setting this to null will deactivate the special price for this customer group.",
            "format": "decimal"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether this special price is active for this customer group. Automatically set to false when NetPrice is set to null."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomerPrices": {
        "type": "object",
        "description": "Defines customer-specific prices for an item. This structure enables individual price agreements for specific customers that can deviate from standard or customer group prices.",
        "additionalProperties": false,
        "required": [
          "customerId",
          "prices"
        ],
        "properties": {
          "customerId": {
            "description": "Key of the customer that identifies the specific customer for whom these individual prices apply.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "prices": {
            "type": "array",
            "description": "List of individual prices for this customer - can contain different tier prices or special conditions.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomFields": {
        "type": "object",
        "description": "Defines custom fields for an item to store additional, user-defined information. Custom fields allow flexible extension of item data beyond standard properties and can be used for special business requirements, integrations, or custom workflows.",
        "additionalProperties": false,
        "required": [
          "fieldValues"
        ],
        "properties": {
          "fieldValues": {
            "type": "array",
            "description": "List of custom field values assigned to the item. Each entry represents a custom field with its corresponding value.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomFieldValue"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomFieldValue": {
        "type": "object",
        "description": "Defines a single custom field value for an item. This structure connects a custom field definition with its actual value for a specific item.",
        "additionalProperties": false,
        "required": [
          "fieldId",
          "value",
          "valueCultureName"
        ],
        "properties": {
          "fieldId": {
            "description": "Unique identifier of the custom field definition. References the custom field that was previously created in the system.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "value": {
            "type": "string",
            "description": "The actual value stored in this custom field. The format and content depend on the custom field type definition (text, number, date, etc.)."
          },
          "valueCultureName": {
            "type": "string",
            "description": "The culture name (e.g., \"en-US\", \"de-DE\") associated with the custom field value. This is important for localized fields where the value may vary based on the user's language or region. When returning those values from the server side this Format is always InvariantCulture. When sending values to the server side the culture name is optional and if not provided, it will be treated as InvariantCulture. Otherwise this value initializes a CultureInfo Object."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemDescriptions": {
        "type": "object",
        "description": "Defines the collection of all descriptions of an item for creation. This structure manages default, platform, and sales channel-specific item descriptions for different languages and distribution channels.",
        "additionalProperties": false,
        "required": [
          "defaultDescriptions"
        ],
        "properties": {
          "defaultDescriptions": {
            "type": "array",
            "description": "Default descriptions of the item. This is used when no more specific platform or sales channel descriptions are available and serves as a fallback description.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDefaultDescription"
            }
          },
          "salesChannelDescriptions": {
            "type": "array",
            "description": "List of sales channel-specific descriptions for sales platforms like JTL-Shop. Enables individual customization of item descriptions for specific sales channels.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSalesChannelDescription"
            }
          },
          "platformDescriptions": {
            "type": "array",
            "description": "List of platform-specific descriptions for non-sales platforms like print. Allows different descriptions for various output platforms.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreatePlatformDescription"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemFeature": {
        "type": "object",
        "description": "Defines a single feature assignment for an item. This structure represents the link between an item and a specific feature value from the feature system, allowing detailed product characterization.",
        "additionalProperties": false,
        "required": [
          "featureId"
        ],
        "properties": {
          "featureId": {
            "description": "Unique key of the feature value that identifies the specific feature characteristic to be assigned to the item. This key establishes the connection to a predefined feature value in the feature system.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemFeatures": {
        "type": "object",
        "description": "Defines the feature assignments of an item. This structure manages all features (characteristics/attributes) that describe specific properties or attributes of an item, such as color, size, material, or other custom characteristics used for product differentiation and filtering.",
        "additionalProperties": false,
        "properties": {
          "features": {
            "type": "array",
            "description": "Contains all features assigned to the item. Each feature represents a specific characteristic or attribute that describes the item in more detail, enabling better product differentiation and advanced filtering capabilities.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemFeature"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemIdentifiers": {
        "type": "object",
        "description": "Defines various identifiers of an item for creation. This structure includes all relevant markings and numbers used for unique identification of an item.",
        "additionalProperties": false,
        "properties": {
          "sku": {
            "type": "string",
            "description": "Unique item number (Stock Keeping Unit) - the user-assigned main identification of the item."
          },
          "amazonFnsku": {
            "type": "string",
            "description": "Amazon FNSKU (Fulfillment Network Stock Keeping Unit) - used by Amazon for inventory management."
          },
          "gtin": {
            "type": "string",
            "description": "GTIN (Global Trade Item Number, formerly EAN) - internationally standardized product identification for global trade."
          },
          "manufacturerNumber": {
            "type": "string",
            "description": "Manufacturer's item number - the official product number assigned by the manufacturer."
          },
          "isbn": {
            "type": "string",
            "description": "ISBN (International Standard Book Number) - mainly used for books and other publications."
          },
          "tariccode": {
            "type": "string",
            "description": "Taric code - customs tariff number for international trade and customs processing."
          },
          "upc": {
            "type": "string",
            "description": "UPC (Universal Product Code) - barcode standard mainly used in North America."
          },
          "unNumber": {
            "type": "string",
            "description": "UN number - used for marking dangerous goods in transport."
          },
          "hazardNumber": {
            "type": "string",
            "description": "Hazard number - identifies the type of danger for hazardous goods in transport."
          },
          "ownIdentifier": {
            "type": "string",
            "description": "Own identifier - user-defined internal identification for company-specific purposes."
          },
          "defaultAsin": {
            "type": "string",
            "description": "Default ASIN (Amazon Standard Identification Number) - primary Amazon product identification."
          },
          "jfsku": {
            "type": "string",
            "description": "JTL-Fulfillment-SKU (JFSKU) - unique identifier in the JTL Fulfillment Network (FFN) for item identification."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemImage": {
        "type": "object",
        "description": "Model Class: CreateItemImage ",
        "additionalProperties": false,
        "required": [
          "blobIdentifier",
          "sortNumber",
          "isMainImage"
        ],
        "properties": {
          "blobIdentifier": {
            "type": "string",
            "description": "Unique ID to identify an image.",
            "format": "uuid"
          },
          "sortNumber": {
            "type": "integer",
            "description": "Sort order of the image.",
            "format": "int32"
          },
          "isMainImage": {
            "type": "boolean",
            "description": "Declares the main image of the item. Typically the image with sort order 1."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemImages": {
        "type": "object",
        "description": "Model Class: CreateItemImages ",
        "additionalProperties": false,
        "properties": {
          "defaultImages": {
            "type": "array",
            "description": "List of default images assigned to the item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemImage"
            }
          },
          "platformImages": {
            "type": "array",
            "description": "List of images assigned to different platforms.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreatePlatformImages"
            }
          },
          "saleschannelImages": {
            "type": "array",
            "description": "List of images assigned to different saleschannels.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSaleschannelImages"
            }
          },
          "ebayImages": {
            "type": "array",
            "description": "List of images assigned to different eBay accounts.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateEbayImages"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemMeasurements": {
        "type": "object",
        "description": "Defines the physical dimensions and weight specifications of an item for creation. This structure includes all relevant measurements for storage, shipping and product presentation and is used for shipping cost calculations and storage space optimizations.",
        "additionalProperties": false,
        "properties": {
          "height": {
            "type": "number",
            "description": "Height of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          },
          "length": {
            "type": "number",
            "description": "Length of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          },
          "shippingWeight": {
            "type": "number",
            "description": "Shipping weight of the item for shipping cost calculation in the configured weight unit (usually kilograms or grams). May differ from the actual item weight.",
            "format": "decimal"
          },
          "weight": {
            "type": "number",
            "description": "Actual weight of the item without packaging in the configured weight unit (usually kilograms or grams).",
            "format": "decimal"
          },
          "width": {
            "type": "number",
            "description": "Width of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemPrice": {
        "type": "object",
        "description": "Defines a single price with tiering options and discount possibilities. This structure forms the basis for complex price structures with volume discounts and percentage price reductions from the standard price.",
        "additionalProperties": false,
        "required": [
          "fromQuantity"
        ],
        "properties": {
          "fromQuantity": {
            "type": "integer",
            "description": "Minimum quantity from which this price applies - enables tier prices based on order quantity (e.g., from 10 pieces).",
            "format": "int32"
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for this price tier without taxes - the actual selling price for the specified quantity tier.",
            "format": "decimal"
          },
          "reduceStandardPriceByPercent": {
            "type": "number",
            "description": "Percentage discount on the standard price - indicates by what percentage the standard price is reduced for this price tier. Used as an alternative to NetPrice.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemPrices": {
        "type": "object",
        "description": "Defines the complete price structure of an item for creation. This structure includes all price information for different sales channels, customer groups and individual customer prices as well as basic price information.",
        "additionalProperties": false,
        "properties": {
          "ignoreDiscounts": {
            "type": "boolean",
            "description": "Indicates whether discounts should be ignored for this item. When set to true, no automatic discounts will be applied to the item prices."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Net sales price of the item without taxes and discounts - the basic selling price of the item.",
            "format": "decimal"
          },
          "suggestedRetailPrice": {
            "type": "number",
            "description": "Manufacturer's suggested retail price (MSRP) - the selling price recommended by the manufacturer.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "Net purchase price without taxes - the price at which the item was purchased.",
            "format": "decimal"
          },
          "ebayPrice": {
            "type": "number",
            "description": "eBay-specific selling price - special price for eBay sales.",
            "format": "decimal"
          },
          "amazonPrice": {
            "type": "number",
            "description": "Amazon-specific selling price - special price for Amazon sales.",
            "format": "decimal"
          },
          "salesChannelPrices": {
            "type": "array",
            "description": "List of sales channel-specific prices - enables different pricing for various sales channels or shops.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSaleschannelPrices"
            }
          },
          "customerPrices": {
            "type": "array",
            "description": "List of customer-specific prices - allows individual price agreements for specific customers.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomerPrices"
            }
          },
          "defaultPrices": {
            "type": "array",
            "description": "List of default prices for different customer groups - these prices serve as fallback when no more specific prices are defined.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomerGroupPrices"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSaleschannelPrices": {
        "type": "object",
        "description": "Defines sales channel-specific prices for an item. This structure enables different pricing for various sales channels or shops with customer group-related price structures.",
        "additionalProperties": false,
        "required": [
          "saleschannelId",
          "customerGroupPrices"
        ],
        "properties": {
          "saleschannelId": {
            "description": "Key of the sales channel that identifies the specific sales channel or shop for which this price structure applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "customerGroupPrices": {
            "type": "array",
            "description": "List of prices for different customer groups within this sales channel - enables differentiated pricing by customer groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomerGroupPrices"
            }
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether this sales channel is active for the item - determines whether the item can be sold in this sales channel."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSalesChannelSpecialPrices": {
        "type": "object",
        "description": "Defines sales channel-specific special prices for an item. This structure enables different promotional pricing for a specific sales channel or shop with customer group-related special price structures.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "specialPrices"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Key of the sales channel that identifies the specific sales channel or shop for which this special price structure applies.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "specialPrices": {
            "type": "array",
            "description": "List of special prices for different customer groups within this sales channel - enables differentiated promotional pricing by customer groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomerGroupSpecialPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSpecialPrices": {
        "type": "object",
        "description": "Defines the special prices (promotional prices) structure of an item. This structure includes time-based and stock-based special pricing for different sales channels and customer groups, as well as Amazon-specific special prices.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether special prices are active for this item. When set to true, the special price rules defined below will be applied according to their conditions."
          },
          "startDate": {
            "type": "string",
            "description": "Date from which the special price becomes active. The special price will only be valid from this date onwards.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Date until which the special price remains active. The special price will expire after this date. Only evaluated if IsEndDateActive is true.",
            "format": "date-time"
          },
          "isEndDateActive": {
            "type": "boolean",
            "description": "Indicates whether the end date should be considered. If false, the special price has no expiration date."
          },
          "minimumStockQuantity": {
            "type": "integer",
            "description": "Minimum stock quantity that must be available for the special price to remain active. Only evaluated if IsStockRestrictionActive is true.",
            "format": "int32"
          },
          "isStockRestrictionActive": {
            "type": "boolean",
            "description": "Indicates whether the stock restriction should be applied. When true, the special price is only active if the stock level is greater than or equal to MinimumStockQuantity. Can only be activated for items that use stock management."
          },
          "salesChannelSpecialPrices": {
            "type": "array",
            "description": "List of sales channel-specific special prices - enables different promotional pricing for various sales channels or shops with customer group differentiation.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSalesChannelSpecialPrices"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemStockManagement": {
        "type": "object",
        "description": "Stock management configuration of an item. Determines whether and how the item's stock is managed in warehouses - batch and shelf life tracking, serial number capture, divisibility, buffers and negative stock. This block configures stock *management*, not whether the item has stock - an item without stock management can still carry stock, it is simply not warehouse-managed. Actual stock levels are read via GET /v2/items/{itemId}/stocks.",
        "additionalProperties": false,
        "required": [
          "hasShelfLifeExpirationDate",
          "hasBatch",
          "serialNumberTrackingType",
          "divisibilityType"
        ],
        "properties": {
          "hasShelfLifeExpirationDate": {
            "type": "boolean",
            "description": "Indicates whether the item is managed with a shelf life expiration date (SLED, German 'Mindesthaltbarkeitsdatum'). When enabled, every stock posting for this item must carry an expiration date, so perishable goods can be traced and picked by expiry. Mutually exclusive with serial number tracking."
          },
          "hasBatch": {
            "type": "boolean",
            "description": "Indicates whether the item is managed in batches (German 'Charge'). When enabled, every stock posting for this item must carry a batch number, so goods can be traced back to the batch they came from. Mutually exclusive with serial number tracking, and freely combinable with shelf life expiration dates."
          },
          "serialNumberTrackingType": {
            "description": "Determines at which point in the goods flow serial numbers are captured for this item. Any value other than 'None' is mutually exclusive with batch management, shelf life expiration dates and divisible stock.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberTrackingType"
          },
          "divisibilityType": {
            "description": "Determines whether the item's stock is held in whole units or in fractional quantities. Any value other than 'None' is mutually exclusive with serial number tracking. Writing 'None' has a side effect on the item's suppliers that writing a divisible value back does not undo: purchaseInterval and stockLevel are truncated to whole numbers on every supplier of the item, so any fractional part they carried is lost.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DivisibilityType"
          },
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Allows selling a higher quantity of the item than is physically in stock. This global setting must be enabled before the platform-specific or sales-channel-specific negative stock settings below take any effect. Defaults to false when omitted."
          },
          "buffer": {
            "type": "integer",
            "description": "Safety stock buffer that is held back and not offered for sale. Used when selling across sales channels that synchronise with a delay, so that no more is sold than is actually available. Defaults to 0 when omitted.",
            "format": "int32"
          },
          "globalMinimumStockLevel": {
            "type": "number",
            "description": "Minimum stock level across all warehouses. When the total stock falls below this value, the item is flagged for reordering and appears in order suggestions and low-stock warnings. Defaults to 0 when omitted.",
            "format": "decimal"
          },
          "itemPlatformNegativeStocks": {
            "type": "array",
            "description": "Platform-specific negative stock settings, for example for eBay or Amazon. AllowNegativeStock must be enabled as well for any of these to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateNegativeStockPlatform"
            }
          },
          "itemSalesChannelNegativeStocks": {
            "type": "array",
            "description": "Sales-channel-specific negative stock settings, allowing overselling for individual shops or sales channels. AllowNegativeStock must be enabled as well for any of these to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateNegativeStockSalesChannel"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemStorageConstraints": {
        "type": "object",
        "description": "Defines the storage and inventory management constraints of an item. This structure includes settings for negative stock handling, inventory management, serial numbers, batch tracking, and best-before date management.",
        "additionalProperties": false,
        "properties": {
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Allows selling a higher quantity of the item than is actually in stock. This global setting must be activated first before platform-specific or sales channel-specific negative stock settings can be enabled."
          },
          "itemPlatformNegativeStocks": {
            "type": "array",
            "description": "List of platform-specific negative stock settings. Activates the ability to sell a higher quantity of the item for specific platforms (e.g., eBay, Amazon). AllowNegativeStock must be activated as well for these settings to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateNegativeStockPlatform"
            }
          },
          "itemSalesChannelNegativeStocks": {
            "type": "array",
            "description": "List of sales channel-specific negative stock settings. Activates the ability to sell a higher quantity of the item for specific sales channels or shops. AllowNegativeStock must be activated as well for these settings to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateNegativeStockSalesChannel"
            }
          },
          "buffer": {
            "type": "integer",
            "description": "Item buffer quantity - defines a safety stock buffer that is reserved and not available for sale. This helps prevent overselling and ensures availability for important orders.",
            "format": "int32"
          },
          "globalMinimumStockLevel": {
            "type": "number",
            "description": "Global minimum stock level across all warehouses. When the total stock falls below this value, the item is flagged for reordering. Used for automatic order suggestions and low-stock warnings.",
            "format": "decimal"
          },
          "hasBatch": {
            "type": "boolean",
            "description": "Indicates whether the item uses batch management. When enabled, the item requires batch numbers to be assigned for each stock movement to enable tracking and traceability."
          },
          "isInventoryManagementActive": {
            "type": "boolean",
            "description": "Determines if the item is working with inventory management. When active, stock levels are tracked and managed; when inactive, the item is treated as always available regardless of stock levels."
          },
          "isBestBeforeManaged": {
            "type": "boolean",
            "description": "Determines if the item is working with best-before date (MHD - Mindesthaltbarkeitsdatum) management. When enabled, stock items must have an assigned best-before date for tracking perishable goods."
          },
          "isStockDivisible": {
            "type": "boolean",
            "description": "Determines if the item can be sold in split quantities (fractional units). When enabled, stock can be managed in decimal quantities (e.g., 2.5 pieces) instead of only whole numbers."
          },
          "serialNumberType": {
            "type": "integer",
            "description": "Determines the type of serial number processing. Defines whether serial numbers are inactive, active, or tracked for this item.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberType"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSupplier": {
        "type": "object",
        "description": "Model Class: CreateItemSupplier ",
        "additionalProperties": false,
        "required": [
          "supplierId"
        ],
        "properties": {
          "supplierId": {
            "description": "Id of the supplier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "supplierItemName": {
            "type": "string",
            "description": "Name of the item at the supplier (max 255 characters)."
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "Item number at the supplier (max 255 characters)."
          },
          "stockLevel": {
            "type": "number",
            "description": "Stock level of the item at the supplier.",
            "format": "decimal"
          },
          "netPurchasePrice": {
            "type": "number",
            "description": "Net purchase price of the item at the supplier.",
            "format": "decimal"
          },
          "minimumPurchaseQuantity": {
            "type": "integer",
            "description": "Minimum purchase quantity of the item at the supplier.",
            "format": "int32"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time for this item at the supplier (in days).",
            "format": "int32"
          },
          "isDropshippingActive": {
            "type": "boolean",
            "description": "Indicates if this item uses dropshipping from the supplier."
          },
          "packageUnitDescription": {
            "type": "string",
            "description": "Description of the packaging unit."
          },
          "packageUnitQuantity": {
            "type": "number",
            "description": "Quantity per packaging unit.",
            "format": "decimal"
          },
          "notes": {
            "type": "string",
            "description": "Additional notes (max 512 characters)."
          },
          "vatRate": {
            "type": "number",
            "description": "VAT rate of the item at the supplier.",
            "format": "decimal"
          },
          "useSupplierDeliveryTime": {
            "type": "boolean",
            "description": "Whether to use the supplier's delivery time directly."
          },
          "includeSupplierStock": {
            "type": "boolean",
            "description": "Whether to include the supplier's stock in own inventory."
          },
          "purchaseInterval": {
            "type": "number",
            "description": "Purchase interval for this item at the supplier.",
            "format": "decimal"
          },
          "scalePrices": {
            "type": "array",
            "description": "Scale prices defined by the supplier for this item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSupplierPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSuppliers": {
        "type": "object",
        "description": "Model Class: CreateItemSuppliers ",
        "additionalProperties": false,
        "properties": {
          "defaultSupplier": {
            "description": "Sets the default supplier for the item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "defaultDropshippingSupplier": {
            "description": "Sets the default supplier for dropshipping for the item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "suppliers": {
            "type": "array",
            "description": "Assigned suppliers for the item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSupplier"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemUnitPricing": {
        "type": "object",
        "description": "Defines the item unit pricing settings for creation and modification. This structure includes all relevant information about the sales unit, packaging unit, inner quantity and base price details for an item.",
        "additionalProperties": false,
        "properties": {
          "salesUnitId": {
            "description": "Id of the sales unit in which the item is sold (e.g. piece or box).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          },
          "packagingUnitId": {
            "description": "Id of the packaging unit of the item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          },
          "innerQuantity": {
            "type": "number",
            "description": "The amount of content for one piece of the sales unit, relative to the inner quantity unit.",
            "format": "decimal"
          },
          "innerQuantityUnitId": {
            "description": "The measurement unit for the inner quantity (e.g. kg or liter).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "isBasePriceDeclared": {
            "type": "boolean",
            "description": "Indicates whether the base price should be automatically calculated and displayed."
          },
          "basePriceReferenceUnitId": {
            "description": "The measurement unit to which the base price refers (e.g. per liter or per 100 grams).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "basePriceReferenceAmount": {
            "type": "number",
            "description": "The reference amount used when calculating the base price (e.g. 1 for per liter, 100 for per 100 grams).",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemVariations": {
        "type": "object",
        "description": "Model Class: CreateItemVariations ",
        "additionalProperties": false,
        "properties": {
          "variations": {
            "type": "array",
            "description": "Contains all Variations",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariation"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateNegativeStockPlatform": {
        "type": "object",
        "description": "Defines negative stock settings for a specific platform. This structure enables individual configuration of negative stock handling per platform (e.g., eBay, Amazon), allowing overselling for specific marketplaces when the global AllowNegativeStock is enabled.",
        "additionalProperties": false,
        "required": [
          "platformId",
          "isNegativeStockAllowed"
        ],
        "properties": {
          "platformId": {
            "description": "Key of the platform that identifies the specific marketplace or platform (e.g., eBay, Amazon) for which this negative stock setting applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "isNegativeStockAllowed": {
            "type": "boolean",
            "description": "Determines if negative stock is allowed for this platform. When true, orders can be accepted even when the item is out of stock on this specific marketplace."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateNegativeStockSalesChannel": {
        "type": "object",
        "description": "Defines negative stock settings for a specific sales channel. This structure enables individual configuration of negative stock handling per sales channel, allowing overselling for specific online shops when the global AllowNegativeStock is enabled.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "isNegativeStockAllowed"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Key of the sales channel that identifies the specific shop or sales channel for which this negative stock setting applies.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "isNegativeStockAllowed": {
            "type": "boolean",
            "description": "Determines if negative stock is allowed for this sales channel. When true, orders can be accepted even when the item is out of stock in this specific channel."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreatePlatformDescription": {
        "type": "object",
        "description": "Defines a platform-specific description of an item. This enables different descriptions for various output platforms like print or other non-sales platforms.",
        "additionalProperties": false,
        "required": [
          "platformId",
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "platformId": {
            "description": "Unique key of the platform for which this description is intended (e.g., print, labels).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "descriptionData": {
            "description": "Contains the platform-specific description data with all relevant texts and SEO information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreatePlatformImages": {
        "type": "object",
        "description": "Model Class: CreatePlatformImages ",
        "additionalProperties": false,
        "required": [
          "platformId"
        ],
        "properties": {
          "platformId": {
            "description": "Unique ID to identify a platform.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the platform.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSalesChannelDescription": {
        "type": "object",
        "description": "Defines a sales channel-specific description of an item. This enables individual customization of item descriptions for specific sales channels or shops.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Unique key of the sales channel or shop for which this description is intended.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this sales channel-specific description."
          },
          "descriptionData": {
            "description": "Contains the sales channel-specific description data with all relevant texts and SEO information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSaleschannelImages": {
        "type": "object",
        "description": "Model Class: CreateSaleschannelImages ",
        "additionalProperties": false,
        "required": [
          "saleschannelId"
        ],
        "properties": {
          "saleschannelId": {
            "description": "Unique ID to identify a saleschannel.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the saleschannel.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSalesChannelSurcharge": {
        "type": "object",
        "description": "Model Class: CreateSalesChannelSurcharge ",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "surcharges"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Id of the saleschannel",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "surcharges": {
            "type": "array",
            "description": "Contains the surcharges for that saleschannel and customergroup",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateCustomerGroupSurcharge"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateStockItemCommandResponse": {
        "type": "object",
        "description": "Creates a new item that is a stock item from the start, so that its stock is managed in warehouses. Takes the same properties as POST /v2/items, except for three: the optional storageConstraints block is replaced by a mandatory stockManagement block, images are not part of this request - assign them with PATCH /v2/items/{itemId} once the item exists - and salesChannels is not either, activate channels with POST /v2/items/{itemId}/sales-channels/{salesChannelId}/activate. Use POST /v2/items/{itemId}/stock-items/convert to turn an item that already exists into a stock item. - Response",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID of the newly created stock item - this key is used for all further operations with the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSupplierPrice": {
        "type": "object",
        "description": "Model Class: CreateSupplierPrice ",
        "additionalProperties": false,
        "required": [
          "fromQuantity",
          "usePercentageDiscount"
        ],
        "properties": {
          "fromQuantity": {
            "type": "number",
            "description": "Quantity from which the price applies. This value is not editable. To change it, a new scale must be created.",
            "format": "decimal"
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for this scale.",
            "format": "decimal"
          },
          "usePercentageDiscount": {
            "type": "boolean",
            "description": "Indicates whether the scale uses a percentage discount of the NetPurchasePrice."
          },
          "percentageDiscount": {
            "type": "number",
            "description": "The percentage discount applied in this scale.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariation": {
        "type": "object",
        "description": "Model Class: CreateVariation ",
        "additionalProperties": false,
        "required": [
          "descriptions",
          "variationType"
        ],
        "properties": {
          "variationId": {
            "description": "Id of the Variation",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          },
          "position": {
            "type": "integer",
            "description": "Position of this Variation in the List",
            "format": "int32"
          },
          "descriptions": {
            "type": "array",
            "description": "Descriptions of this Variation in multiple Languages",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDescription"
            }
          },
          "values": {
            "type": "array",
            "description": "Values for this Variation",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariationValue"
            }
          },
          "variationType": {
            "description": "Type of the Variation",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationType"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariationValue": {
        "type": "object",
        "description": "Model Class: CreateVariationValue ",
        "additionalProperties": false,
        "required": [
          "descriptions"
        ],
        "properties": {
          "variationValueId": {
            "description": "Id of the VariationValue",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          },
          "itemNumber": {
            "type": "string",
            "description": "Itemnumber for this variationvalue"
          },
          "gTIN": {
            "type": "string",
            "description": "GTIN for this variationvalue"
          },
          "weightOffset": {
            "type": "number",
            "description": "Offset for the weight of this variationvalue",
            "format": "decimal"
          },
          "descriptions": {
            "type": "array",
            "description": "Descriptions of this VariationValue in multiple Languages",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateDescription"
            }
          },
          "surcharges": {
            "description": "Surcharges of this VariationValue",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariationValueSurcharges"
          },
          "position": {
            "type": "integer",
            "description": "Position of this VariationValue in the List",
            "format": "int32"
          },
          "image": {
            "description": "Image for this variation value. This image will be used as the main image for the variation combination if this variation value is part of it and the variation combination doesn't have its own image.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateVariationValueSurcharges": {
        "type": "object",
        "description": "Model Class: CreateVariationValueSurcharges ",
        "additionalProperties": false,
        "properties": {
          "defaultSurchargeNet": {
            "type": "number",
            "description": "Default Surcharge if there is none specified for a specific saleschannel + customergroup",
            "format": "decimal"
          },
          "customerGroupSurcharges": {
            "type": "array",
            "description": "Default Surcharges for specific customergroups in general, independent of saleschannel",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateCustomerGroupSurcharge"
            }
          },
          "salesChannelSurcharges": {
            "type": "array",
            "description": "Surcharge for specific saleschannels + customergroups",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateSalesChannelSurcharge"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CrossSellItem": {
        "type": "object",
        "description": "Represents a single cross-selling item.",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "Id of the item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sku": {
            "type": "string",
            "description": "Sku of the item"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CustomerGroupSurcharge": {
        "type": "object",
        "description": "Model Class: CustomerGroupSurcharge ",
        "additionalProperties": false,
        "required": [
          "customerGroupId"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Id of the customergroup",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge for that customergroup",
            "format": "decimal"
          },
          "isActive": {
            "type": "boolean",
            "description": "Defines if the surcharges will be synchronized to online saleschannels. Does not apply for the default customer group surcharges, which are always synchronized when not overriden."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DefaultDescription": {
        "type": "object",
        "description": "Defines a default description of an item in a specific language. This description is used as a fallback when no more specific platform or sales channel descriptions are available.",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "descriptionData": {
            "description": "Contains the actual description data such as name, short and long description as well as SEO-relevant information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DeleteItemVariationCommandResponse": {
        "type": "object",
        "description": "Removes an existing variation from an item. All associated variation values and combinations will also be removed. - Response",
        "additionalProperties": false,
        "properties": {
          "variationId": {
            "description": "Unique ID of the deleted variation.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DeleteItemVariationValueCommandResponse": {
        "type": "object",
        "description": "Removes a specific value from an item variation. - Response",
        "additionalProperties": false,
        "properties": {
          "variationValueId": {
            "description": "Unique ID of the deleted variation value.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.Description": {
        "type": "object",
        "description": "Model Class: Description ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "name"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "name": {
            "type": "string",
            "description": "Name of the Variation in the specific language"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DescriptionData": {
        "type": "object",
        "description": "Defines the actual description data of an item. This structure contains all textual information of an item including SEO-relevant metadata for online shops.",
        "additionalProperties": false,
        "properties": {
          "itemName": {
            "type": "string",
            "description": "The name of the item as displayed in the user interface or shop."
          },
          "shortDescription": {
            "type": "string",
            "description": "Short description of the item for overview displays and search results."
          },
          "description": {
            "type": "string",
            "description": "Detailed description of the item with comprehensive product information and properties."
          },
          "metaDescription": {
            "type": "string",
            "description": "Meta description for search engine optimization (SEO) that is displayed in search results."
          },
          "metaKeywords": {
            "type": "string",
            "description": "Meta keywords for search engine optimization to improve discoverability of the item."
          },
          "titleTag": {
            "type": "string",
            "description": "HTML title tag for the item that is displayed in the browser tab and search results."
          },
          "urlPath": {
            "type": "string",
            "description": "URL path for the item to create SEO-friendly and speaking URLs."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DivisibilityType": {
        "type": "integer",
        "description": "0 = None, 1 = Divisible, 2 = Subset",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Divisible",
          "Subset"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.EbayImages": {
        "type": "object",
        "description": "Model Class: EbayImages ",
        "additionalProperties": false,
        "required": [
          "ebayAccountId"
        ],
        "properties": {
          "ebayAccountId": {
            "description": "Unique ID to identify an ebay account.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EbayUserKey"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the eBay account.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemAttributes": {
        "type": "object",
        "description": "Model Class: ItemAttributes ",
        "additionalProperties": false,
        "properties": {
          "values": {
            "type": "array",
            "description": "Contains all attribute values assigned to the item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.AttributeValues"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCategories": {
        "type": "object",
        "description": "Defines the category assignments of an item for creation. This structure manages all categories to which an item can be assigned and enables hierarchical classification for better organization and navigation.",
        "additionalProperties": false,
        "required": [
          "categories"
        ],
        "properties": {
          "categories": {
            "type": "array",
            "description": "Contains all categories to which the item is assigned. An item can be assigned to multiple categories simultaneously to enable flexible categorization and better discoverability.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCategory"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCategory": {
        "type": "object",
        "description": "Defines a single category assignment for an item. This structure represents the link between an item and a specific category in the hierarchical category system of the ERP system.",
        "additionalProperties": false,
        "required": [
          "categoryId"
        ],
        "properties": {
          "categoryId": {
            "description": "Unique key of the category that identifies the specific category to which the item should be assigned. This key establishes the connection to the category data.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCrosssellingGroup": {
        "type": "object",
        "description": "Represents a single cross-selling group with its assigned items.",
        "additionalProperties": false,
        "required": [
          "crosssellingGroupId"
        ],
        "properties": {
          "crosssellingGroupId": {
            "description": "Unique identifier of the cross-selling group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.Artikel.CrossSellingGruppeKey"
          },
          "items": {
            "type": "array",
            "description": "List of item keys that belong to this cross-selling group.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CrossSellItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCrosssellingGroups": {
        "type": "object",
        "description": "Manages cross-selling groups assigned to an item. Cross-selling groups define related products that should be promoted together.",
        "additionalProperties": false,
        "properties": {
          "groups": {
            "type": "array",
            "description": "Collection of cross-selling groups associated with the item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCrosssellingGroup"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomerGroupPrices": {
        "type": "object",
        "description": "Defines customer group-specific prices for an item. This structure enables differentiated pricing by customer groups, allowing different price levels for different customer segments.",
        "additionalProperties": false,
        "required": [
          "customerGroupId",
          "prices"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Key of the customer group that identifies the specific customer group (e.g., end customers, resellers, wholesalers).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "prices": {
            "type": "array",
            "description": "List of prices for this customer group - can contain different tier prices or volume discounts.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomerGroupSpecialPrice": {
        "type": "object",
        "description": "Defines a customer group-specific special price for an item. This structure represents a single promotional price for a specific customer group in a sales channel.",
        "additionalProperties": false,
        "required": [
          "customerGroupId",
          "isActive"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Key of the customer group that identifies the specific customer group (e.g., end customers, resellers, wholesalers) for which this special price applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "netPrice": {
            "type": "number",
            "description": "Net special price for this customer group without taxes. Setting this to null will deactivate the special price for this customer group.",
            "format": "decimal"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether this special price is active for this customer group. Automatically set to false when NetPrice is set to null."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomerPrices": {
        "type": "object",
        "description": "Defines customer-specific prices for an item. This structure enables individual price agreements for specific customers that can deviate from standard or customer group prices.",
        "additionalProperties": false,
        "required": [
          "customerId",
          "prices"
        ],
        "properties": {
          "customerId": {
            "description": "Key of the customer that identifies the specific customer for whom these individual prices apply.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "prices": {
            "type": "array",
            "description": "List of individual prices for this customer - can contain different tier prices or special conditions.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomFields": {
        "type": "object",
        "description": "Defines custom fields for an item to store additional, user-defined information. Custom fields allow flexible extension of item data beyond standard properties and can be used for special business requirements, integrations, or custom workflows.",
        "additionalProperties": false,
        "required": [
          "fieldValues"
        ],
        "properties": {
          "fieldValues": {
            "type": "array",
            "description": "List of custom field values assigned to the item. Each entry represents a custom field with its corresponding value.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomFieldValue"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomFieldValue": {
        "type": "object",
        "description": "Defines a single custom field value for an item. This structure connects a custom field definition with its actual value for a specific item.",
        "additionalProperties": false,
        "required": [
          "fieldId",
          "value",
          "valueCultureName"
        ],
        "properties": {
          "fieldId": {
            "description": "Unique identifier of the custom field definition. References the custom field that was previously created in the system.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "value": {
            "type": "string",
            "description": "The actual value stored in this custom field. The format and content depend on the custom field type definition (text, number, date, etc.)."
          },
          "valueCultureName": {
            "type": "string",
            "description": "The culture name (e.g., \"en-US\", \"de-DE\") associated with the custom field value. This is important for localized fields where the value may vary based on the user's language or region. When returning those values from the server side this Format is always InvariantCulture. When sending values to the server side the culture name is optional and if not provided, it will be treated as InvariantCulture. Otherwise this value initializes a CultureInfo Object."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemDescriptions": {
        "type": "object",
        "description": "Defines the collection of all descriptions of an item for creation. This structure manages default, platform, and sales channel-specific item descriptions for different languages and distribution channels.",
        "additionalProperties": false,
        "required": [
          "defaultDescriptions"
        ],
        "properties": {
          "defaultDescriptions": {
            "type": "array",
            "description": "Default descriptions of the item. This is used when no more specific platform or sales channel descriptions are available and serves as a fallback description.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DefaultDescription"
            }
          },
          "salesChannelDescriptions": {
            "type": "array",
            "description": "List of sales channel-specific descriptions for sales platforms like JTL-Shop. Enables individual customization of item descriptions for specific sales channels.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SalesChannelDescription"
            }
          },
          "platformDescriptions": {
            "type": "array",
            "description": "List of platform-specific descriptions for non-sales platforms like print. Allows different descriptions for various output platforms.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.PlatformDescription"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemdetailsItem": {
        "type": "object",
        "description": "Complete item details including all sub-elements",
        "additionalProperties": false,
        "required": [
          "id",
          "identifiers",
          "salesChannels"
        ],
        "properties": {
          "id": {
            "description": "Item id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "productGroupId": {
            "description": "The ID of the product group to which the item should be assigned. Product groups serve for categorical classification of items for reports and analyses.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "shippingClassId": {
            "description": "The ID of the shipping class to which the item should be assigned.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandklasseKey"
          },
          "manufacturerId": {
            "description": "The ID of the manufacturer to which the item should be assigned.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.HerstellerKey"
          },
          "identifiers": {
            "description": "Various identifiers of the item for unique identification (SKU, GTIN, ISBN, etc.)",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemIdentifiers"
          },
          "categories": {
            "description": "Categories to which the item is assigned",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCategories"
          },
          "descriptions": {
            "description": "List of item descriptions in different languages",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemDescriptions"
          },
          "prices": {
            "description": "Price structures of the item for different sales channels, customer groups and individual customers. Includes sales prices, purchase prices and tier prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemPrices"
          },
          "images": {
            "description": "Images associated with the item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemImages"
          },
          "measurements": {
            "description": "Physical dimensions and weight specifications of the item for storage, shipping and product presentation. Important for shipping cost calculations and storage space optimization.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemMeasurements"
          },
          "customFields": {
            "description": "Custom fields defined for the item to store additional information. Useful for special requirements or integrations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomFields"
          },
          "suppliers": {
            "description": "Suppliers associated with the item including supplier-specific information such as purchase prices, delivery times and order intervals.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSuppliers"
          },
          "includeInPriceList": {
            "type": "boolean",
            "description": "Indicates whether the item can be included in exported price lists. From Tab 'Sonstiges'."
          },
          "ignoreOrderSuggestions": {
            "type": "boolean",
            "description": "Indicates whether order suggestions should be ignored for this item. If true, the item will not appear in automatic order suggestions. From Tab 'Sonstiges'."
          },
          "ignoreDiscounts": {
            "type": "boolean",
            "description": "Indicates whether the item is not eligible for discounts (Rabatte ignorieren / Nicht Rabattfähig). From Tab 'Sonstiges'."
          },
          "countryOfOrigin": {
            "type": "string",
            "description": "Country of origin (Herkunftsland) - ISO code or country name. Max length 64. From Tab 'Sonstiges'."
          },
          "notes": {
            "type": "string",
            "description": "Additional notes (Anmerkung) for the item - unlimited length. From Tab 'Sonstiges'."
          },
          "modifiedTimestamp": {
            "type": "string",
            "description": "Last modification timestamp (date and time) of the item.",
            "format": "date-time"
          },
          "variations": {
            "description": "Variations of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemVariations"
          },
          "features": {
            "description": "Features of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemFeatures"
          },
          "attributes": {
            "description": "Attributes of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemAttributes"
          },
          "unitPricing": {
            "description": "UnitPricing information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemUnitPricing"
          },
          "specialPrices": {
            "description": "SpecialPrices information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSpecialPrices"
          },
          "storageConstraints": {
            "description": "ItemStorageConstraints information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemStorageConstraints"
          },
          "stockManagement": {
            "description": "Stock management configuration of the item, in the shape used by the dedicated stock item endpoints. Read-only here - it is written via POST /v2/items/stock-items, PATCH /v2/items/{itemId}/stock-management and the two convert endpoints. Supersedes storageConstraints as the read path, and exposes the settings that block cannot express: the full four-value serialNumberTrackingType and divisibilityType as an enum rather than a boolean. Absent for an item that is not a stock item - the presence of this block is what identifies a stock item, and it replaces the deprecated storageConstraints.isInventoryManagementActive flag for that purpose.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemStockManagement"
          },
          "salesChannels": {
            "description": "Per-channel activation status of the item across the active sales channels.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannels"
          },
          "crosssellingGroups": {
            "description": "CrosssellingGroups of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCrosssellingGroups"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemFeature": {
        "type": "object",
        "description": "Defines a single feature assignment for an item. This structure represents the link between an item and a specific feature value from the feature system, allowing detailed product characterization.",
        "additionalProperties": false,
        "required": [
          "featureId"
        ],
        "properties": {
          "featureId": {
            "description": "Unique key of the feature value that identifies the specific feature characteristic to be assigned to the item. This key establishes the connection to a predefined feature value in the feature system.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemFeatures": {
        "type": "object",
        "description": "Defines the feature assignments of an item. This structure manages all features (characteristics/attributes) that describe specific properties or attributes of an item, such as color, size, material, or other custom characteristics used for product differentiation and filtering.",
        "additionalProperties": false,
        "required": [
          "features"
        ],
        "properties": {
          "features": {
            "type": "array",
            "description": "Contains all features assigned to the item. Each feature represents a specific characteristic or attribute that describes the item in more detail, enabling better product differentiation and advanced filtering capabilities.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemFeature"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemIdentifiers": {
        "type": "object",
        "description": "Defines various identifiers of an item for creation. This structure includes all relevant markings and numbers used for unique identification of an item.",
        "additionalProperties": false,
        "required": [
          "sku"
        ],
        "properties": {
          "sku": {
            "type": "string",
            "description": "Unique item number (Stock Keeping Unit) - the user-assigned main identification of the item."
          },
          "amazonFnsku": {
            "type": "string",
            "description": "Amazon FNSKU (Fulfillment Network Stock Keeping Unit) - used by Amazon for inventory management."
          },
          "gtin": {
            "type": "string",
            "description": "GTIN (Global Trade Item Number, formerly EAN) - internationally standardized product identification for global trade."
          },
          "manufacturerNumber": {
            "type": "string",
            "description": "Manufacturer's item number - the official product number assigned by the manufacturer."
          },
          "isbn": {
            "type": "string",
            "description": "ISBN (International Standard Book Number) - mainly used for books and other publications."
          },
          "tariccode": {
            "type": "string",
            "description": "Taric code - customs tariff number for international trade and customs processing."
          },
          "upc": {
            "type": "string",
            "description": "UPC (Universal Product Code) - barcode standard mainly used in North America."
          },
          "unNumber": {
            "type": "string",
            "description": "UN number - used for marking dangerous goods in transport."
          },
          "hazardNumber": {
            "type": "string",
            "description": "Hazard number - identifies the type of danger for hazardous goods in transport."
          },
          "ownIdentifier": {
            "type": "string",
            "description": "Own identifier - user-defined internal identification for company-specific purposes."
          },
          "defaultAsin": {
            "type": "string",
            "description": "Default ASIN (Amazon Standard Identification Number) - primary Amazon product identification."
          },
          "jfsku": {
            "type": "string",
            "description": "JTL-Fulfillment-SKU (JFSKU) - unique identifier in the JTL Fulfillment Network (FFN) for item identification."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemImage": {
        "type": "object",
        "description": "Model Class: ItemImage ",
        "additionalProperties": false,
        "required": [
          "sortNumber",
          "isMainImage"
        ],
        "properties": {
          "blobIdentifier": {
            "type": "string",
            "description": "Unique ID to identify an image.",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "description": "Download Url for the image."
          },
          "previewUrl": {
            "type": "string",
            "description": "Download URL for the preview-sized image."
          },
          "sortNumber": {
            "type": "integer",
            "description": "Sort order of the image.",
            "format": "int32"
          },
          "isMainImage": {
            "type": "boolean",
            "description": "Declares the main image of the item. Typically the image with sort order 1."
          },
          "filename": {
            "type": "string",
            "description": "Original source filename of the image including its extension."
          },
          "platformId": {
            "description": "Id of the platform the image is assigned to. For default images this is the JTL-Wawi platform. Use QueryPlatforms to resolve it to a name.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "modificationDate": {
            "type": "string",
            "description": "Last modification timestamp of the image.",
            "format": "date-time"
          },
          "width": {
            "type": "integer",
            "description": "Width of the image in pixels.",
            "format": "int32"
          },
          "height": {
            "type": "integer",
            "description": "Height of the image in pixels.",
            "format": "int32"
          },
          "fileSizeKilobytes": {
            "type": "integer",
            "description": "File size of the image in kilobytes (bytes divided by 1024, truncated to integer).",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemImages": {
        "type": "object",
        "description": "Model Class: ItemImages ",
        "additionalProperties": false,
        "properties": {
          "defaultImages": {
            "type": "array",
            "description": "List of default images assigned to the item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemImage"
            }
          },
          "platformImages": {
            "type": "array",
            "description": "List of images assigned to different platforms.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.PlatformImages"
            }
          },
          "saleschannelImages": {
            "type": "array",
            "description": "List of images assigned to different saleschannels.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SaleschannelImages"
            }
          },
          "ebayImages": {
            "type": "array",
            "description": "List of images assigned to different eBay accounts.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.EbayImages"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemMeasurements": {
        "type": "object",
        "description": "Defines the physical dimensions and weight specifications of an item for creation. This structure includes all relevant measurements for storage, shipping and product presentation and is used for shipping cost calculations and storage space optimizations.",
        "additionalProperties": false,
        "properties": {
          "height": {
            "type": "number",
            "description": "Height of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          },
          "length": {
            "type": "number",
            "description": "Length of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          },
          "shippingWeight": {
            "type": "number",
            "description": "Shipping weight of the item for shipping cost calculation in the configured weight unit (usually kilograms or grams). May differ from the actual item weight.",
            "format": "decimal"
          },
          "weight": {
            "type": "number",
            "description": "Actual weight of the item without packaging in the configured weight unit (usually kilograms or grams).",
            "format": "decimal"
          },
          "width": {
            "type": "number",
            "description": "Width of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemPrice": {
        "type": "object",
        "description": "Defines a single price with tiering options and discount possibilities. This structure forms the basis for complex price structures with volume discounts and percentage price reductions from the standard price.",
        "additionalProperties": false,
        "required": [
          "fromQuantity"
        ],
        "properties": {
          "fromQuantity": {
            "type": "integer",
            "description": "Minimum quantity from which this price applies - enables tier prices based on order quantity (e.g., from 10 pieces).",
            "format": "int32"
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for this price tier without taxes - the actual selling price for the specified quantity tier.",
            "format": "decimal"
          },
          "reduceStandardPriceByPercent": {
            "type": "number",
            "description": "Percentage discount on the standard price - indicates by what percentage the standard price is reduced for this price tier. Used as an alternative to NetPrice.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemPrices": {
        "type": "object",
        "description": "Defines the complete price structure of an item for creation. This structure includes all price information for different sales channels, customer groups and individual customer prices as well as basic price information.",
        "additionalProperties": false,
        "properties": {
          "ignoreDiscounts": {
            "type": "boolean",
            "description": "Indicates whether discounts should be ignored for this item. When set to true, no automatic discounts will be applied to the item prices."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Net sales price of the item without taxes and discounts - the basic selling price of the item.",
            "format": "decimal"
          },
          "suggestedRetailPrice": {
            "type": "number",
            "description": "Manufacturer's suggested retail price (MSRP) - the selling price recommended by the manufacturer.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "Net purchase price without taxes - the price at which the item was purchased.",
            "format": "decimal"
          },
          "ebayPrice": {
            "type": "number",
            "description": "eBay-specific selling price - special price for eBay sales.",
            "format": "decimal"
          },
          "amazonPrice": {
            "type": "number",
            "description": "Amazon-specific selling price - special price for Amazon sales.",
            "format": "decimal"
          },
          "salesChannelPrices": {
            "type": "array",
            "description": "List of sales channel-specific prices - enables different pricing for various sales channels or shops.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSaleschannelPrices"
            }
          },
          "customerPrices": {
            "type": "array",
            "description": "List of customer-specific prices - allows individual price agreements for specific customers.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomerPrices"
            }
          },
          "defaultPrices": {
            "type": "array",
            "description": "List of default prices for different customer groups - these prices serve as fallback when no more specific prices are defined.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomerGroupPrices"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannel": {
        "type": "object",
        "description": "Activation status of a single sales channel for an item.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "salesChannelType",
          "isActive"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Unique ID to identify the sales channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "salesChannelType": {
            "description": "Type of the sales channel (for example Wawi, Connector, JtlPos, Scx).",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannelType"
          },
          "name": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "isActive": {
            "type": "boolean",
            "description": "True if the merchant has activated this sales channel for the item in JTL-Wawi; false otherwise."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSaleschannelPrices": {
        "type": "object",
        "description": "Defines sales channel-specific prices for an item. This structure enables different pricing for various sales channels or shops with customer group-related price structures.",
        "additionalProperties": false,
        "required": [
          "saleschannelId",
          "customerGroupPrices",
          "isActive"
        ],
        "properties": {
          "saleschannelId": {
            "description": "Key of the sales channel that identifies the specific sales channel or shop for which this price structure applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "customerGroupPrices": {
            "type": "array",
            "description": "List of prices for different customer groups within this sales channel - enables differentiated pricing by customer groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomerGroupPrices"
            }
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether this sales channel is active for the item - determines whether the item can be sold in this sales channel."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannels": {
        "type": "object",
        "description": "Per-channel activation status of an item across the active sales channels in JTL-Wawi.",
        "additionalProperties": false,
        "required": [
          "salesChannels"
        ],
        "properties": {
          "salesChannels": {
            "type": "array",
            "description": "Active sales channels and whether the merchant has activated each of them for the item. Inactive shops and Business Intelligence channels are not listed.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannel"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannelSpecialPrices": {
        "type": "object",
        "description": "Defines sales channel-specific special prices for an item. This structure enables different promotional pricing for a specific sales channel or shop with customer group-related special price structures.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "specialPrices"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Key of the sales channel that identifies the specific sales channel or shop for which this special price structure applies.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "specialPrices": {
            "type": "array",
            "description": "List of special prices for different customer groups within this sales channel - enables differentiated promotional pricing by customer groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemCustomerGroupSpecialPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannelType": {
        "type": "integer",
        "description": "0 = Wawi, 1 = Connector, 2 = B2BNetwork, 3 = Unicorn, 4 = JtlPos, 5 = BusinessIntelligence, 6 = Scx, 7 = VoucherCloud, 255 = Unknown",
        "format": "int32",
        "x-enumNames": [
          "Wawi",
          "Connector",
          "B2BNetwork",
          "Unicorn",
          "JtlPos",
          "BusinessIntelligence",
          "Scx",
          "VoucherCloud",
          "Unknown"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          255
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSpecialPrices": {
        "type": "object",
        "description": "Defines the special prices (promotional prices) structure of an item. This structure includes time-based and stock-based special pricing for different sales channels and customer groups, as well as Amazon-specific special prices.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "isEndDateActive",
          "isStockRestrictionActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether special prices are active for this item. When set to true, the special price rules defined below will be applied according to their conditions."
          },
          "startDate": {
            "type": "string",
            "description": "Date from which the special price becomes active. The special price will only be valid from this date onwards.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Date until which the special price remains active. The special price will expire after this date. Only evaluated if IsEndDateActive is true.",
            "format": "date-time"
          },
          "isEndDateActive": {
            "type": "boolean",
            "description": "Indicates whether the end date should be considered. If false, the special price has no expiration date."
          },
          "minimumStockQuantity": {
            "type": "integer",
            "description": "Minimum stock quantity that must be available for the special price to remain active. Only evaluated if IsStockRestrictionActive is true.",
            "format": "int32"
          },
          "isStockRestrictionActive": {
            "type": "boolean",
            "description": "Indicates whether the stock restriction should be applied. When true, the special price is only active if the stock level is greater than or equal to MinimumStockQuantity. Can only be activated for items that use stock management."
          },
          "salesChannelSpecialPrices": {
            "type": "array",
            "description": "List of sales channel-specific special prices - enables different promotional pricing for various sales channels or shops with customer group differentiation.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSalesChannelSpecialPrices"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemStockManagement": {
        "type": "object",
        "description": "Stock management configuration of an item. Determines whether and how the item's stock is managed in warehouses - batch and shelf life tracking, serial number capture, divisibility, buffers and negative stock. This block configures stock *management*, not whether the item has stock - an item without stock management can still carry stock, it is simply not warehouse-managed. Actual stock levels are read via GET /v2/items/{itemId}/stocks.",
        "additionalProperties": false,
        "required": [
          "hasShelfLifeExpirationDate",
          "hasBatch",
          "serialNumberTrackingType",
          "divisibilityType",
          "allowNegativeStock",
          "buffer",
          "globalMinimumStockLevel"
        ],
        "properties": {
          "hasShelfLifeExpirationDate": {
            "type": "boolean",
            "description": "Indicates whether the item is managed with a shelf life expiration date (SLED, German 'Mindesthaltbarkeitsdatum'). When enabled, every stock posting for this item must carry an expiration date, so perishable goods can be traced and picked by expiry. Mutually exclusive with serial number tracking."
          },
          "hasBatch": {
            "type": "boolean",
            "description": "Indicates whether the item is managed in batches (German 'Charge'). When enabled, every stock posting for this item must carry a batch number, so goods can be traced back to the batch they came from. Mutually exclusive with serial number tracking, and freely combinable with shelf life expiration dates."
          },
          "serialNumberTrackingType": {
            "description": "Determines at which point in the goods flow serial numbers are captured for this item. Any value other than 'None' is mutually exclusive with batch management, shelf life expiration dates and divisible stock.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberTrackingType"
          },
          "divisibilityType": {
            "description": "Determines whether the item's stock is held in whole units or in fractional quantities. Any value other than 'None' is mutually exclusive with serial number tracking. Writing 'None' has a side effect on the item's suppliers that writing a divisible value back does not undo: purchaseInterval and stockLevel are truncated to whole numbers on every supplier of the item, so any fractional part they carried is lost.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DivisibilityType"
          },
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Allows selling a higher quantity of the item than is physically in stock. This global setting must be enabled before the platform-specific or sales-channel-specific negative stock settings below take any effect. Defaults to false when omitted."
          },
          "buffer": {
            "type": "integer",
            "description": "Safety stock buffer that is held back and not offered for sale. Used when selling across sales channels that synchronise with a delay, so that no more is sold than is actually available. Defaults to 0 when omitted.",
            "format": "int32"
          },
          "globalMinimumStockLevel": {
            "type": "number",
            "description": "Minimum stock level across all warehouses. When the total stock falls below this value, the item is flagged for reordering and appears in order suggestions and low-stock warnings. Defaults to 0 when omitted.",
            "format": "decimal"
          },
          "itemPlatformNegativeStocks": {
            "type": "array",
            "description": "Platform-specific negative stock settings, for example for eBay or Amazon. AllowNegativeStock must be enabled as well for any of these to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.NegativeStockPlatform"
            }
          },
          "itemSalesChannelNegativeStocks": {
            "type": "array",
            "description": "Sales-channel-specific negative stock settings, allowing overselling for individual shops or sales channels. AllowNegativeStock must be enabled as well for any of these to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.NegativeStockSalesChannel"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemStorageConstraints": {
        "type": "object",
        "description": "Defines the storage and inventory management constraints of an item. This structure includes settings for negative stock handling, inventory management, serial numbers, batch tracking, and best-before date management.",
        "additionalProperties": false,
        "properties": {
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Allows selling a higher quantity of the item than is actually in stock. This global setting must be activated first before platform-specific or sales channel-specific negative stock settings can be enabled."
          },
          "itemPlatformNegativeStocks": {
            "type": "array",
            "description": "List of platform-specific negative stock settings. Activates the ability to sell a higher quantity of the item for specific platforms (e.g., eBay, Amazon). AllowNegativeStock must be activated as well for these settings to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.NegativeStockPlatform"
            }
          },
          "itemSalesChannelNegativeStocks": {
            "type": "array",
            "description": "List of sales channel-specific negative stock settings. Activates the ability to sell a higher quantity of the item for specific sales channels or shops. AllowNegativeStock must be activated as well for these settings to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.NegativeStockSalesChannel"
            }
          },
          "buffer": {
            "type": "integer",
            "description": "Item buffer quantity - defines a safety stock buffer that is reserved and not available for sale. This helps prevent overselling and ensures availability for important orders.",
            "format": "int32"
          },
          "globalMinimumStockLevel": {
            "type": "number",
            "description": "Global minimum stock level across all warehouses. When the total stock falls below this value, the item is flagged for reordering. Used for automatic order suggestions and low-stock warnings.",
            "format": "decimal"
          },
          "hasBatch": {
            "type": "boolean",
            "description": "Indicates whether the item uses batch management. When enabled, the item requires batch numbers to be assigned for each stock movement to enable tracking and traceability."
          },
          "isInventoryManagementActive": {
            "type": "boolean",
            "description": "Determines if the item is working with inventory management. When active, stock levels are tracked and managed; when inactive, the item is treated as always available regardless of stock levels."
          },
          "isBestBeforeManaged": {
            "type": "boolean",
            "description": "Determines if the item is working with best-before date (MHD - Mindesthaltbarkeitsdatum) management. When enabled, stock items must have an assigned best-before date for tracking perishable goods."
          },
          "isStockDivisible": {
            "type": "boolean",
            "description": "Determines if the item can be sold in split quantities (fractional units). When enabled, stock can be managed in decimal quantities (e.g., 2.5 pieces) instead of only whole numbers."
          },
          "serialNumberType": {
            "description": "Determines the type of serial number processing. Defines whether serial numbers are inactive, active, or tracked for this item.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberType"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSupplier": {
        "type": "object",
        "description": "Model Class: ItemSupplier ",
        "additionalProperties": false,
        "required": [
          "supplierId"
        ],
        "properties": {
          "supplierId": {
            "description": "Id of the supplier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "supplierItemName": {
            "type": "string",
            "description": "Name of the item at the supplier (max 255 characters)."
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "Item number at the supplier (max 255 characters)."
          },
          "stockLevel": {
            "type": "number",
            "description": "Stock level of the item at the supplier.",
            "format": "decimal"
          },
          "netPurchasePrice": {
            "type": "number",
            "description": "Net purchase price of the item at the supplier.",
            "format": "decimal"
          },
          "minimumPurchaseQuantity": {
            "type": "integer",
            "description": "Minimum purchase quantity of the item at the supplier.",
            "format": "int32"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time for this item at the supplier (in days).",
            "format": "int32"
          },
          "isDropshippingActive": {
            "type": "boolean",
            "description": "Indicates if this item uses dropshipping from the supplier."
          },
          "packageUnitDescription": {
            "type": "string",
            "description": "Description of the packaging unit."
          },
          "packageUnitQuantity": {
            "type": "number",
            "description": "Quantity per packaging unit.",
            "format": "decimal"
          },
          "notes": {
            "type": "string",
            "description": "Additional notes (max 512 characters)."
          },
          "vatRate": {
            "type": "number",
            "description": "VAT rate of the item at the supplier.",
            "format": "decimal"
          },
          "useSupplierDeliveryTime": {
            "type": "boolean",
            "description": "Whether to use the supplier's delivery time directly."
          },
          "includeSupplierStock": {
            "type": "boolean",
            "description": "Whether to include the supplier's stock in own inventory."
          },
          "purchaseInterval": {
            "type": "number",
            "description": "Purchase interval for this item at the supplier.",
            "format": "decimal"
          },
          "scalePrices": {
            "type": "array",
            "description": "Scale prices defined by the supplier for this item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SupplierPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSuppliers": {
        "type": "object",
        "description": "Model Class: ItemSuppliers ",
        "additionalProperties": false,
        "properties": {
          "defaultSupplier": {
            "description": "Sets the default supplier for the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "defaultDropshippingSupplier": {
            "description": "Sets the default supplier for dropshipping for the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "suppliers": {
            "type": "array",
            "description": "Assigned suppliers for the item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemSupplier"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemUnitPricing": {
        "type": "object",
        "description": "Defines the item unit pricing settings for creation and modification. This structure includes all relevant information about the sales unit, packaging unit, inner quantity and base price details for an item.",
        "additionalProperties": false,
        "properties": {
          "salesUnitId": {
            "description": "Id of the sales unit in which the item is sold (e.g. piece or box).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          },
          "packagingUnitId": {
            "description": "Id of the packaging unit of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          },
          "innerQuantity": {
            "type": "number",
            "description": "The amount of content for one piece of the sales unit, relative to the inner quantity unit.",
            "format": "decimal"
          },
          "innerQuantityUnitId": {
            "description": "The measurement unit for the inner quantity (e.g. kg or liter).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "isBasePriceDeclared": {
            "type": "boolean",
            "description": "Indicates whether the base price should be automatically calculated and displayed."
          },
          "basePriceReferenceUnitId": {
            "description": "The measurement unit to which the base price refers (e.g. per liter or per 100 grams).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "basePriceReferenceAmount": {
            "type": "number",
            "description": "The reference amount used when calculating the base price (e.g. 1 for per liter, 100 for per 100 grams).",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemVariations": {
        "type": "object",
        "description": "Model Class: ItemVariations ",
        "additionalProperties": false,
        "properties": {
          "variations": {
            "type": "array",
            "description": "Contains all Variations",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.Variation"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.NegativeStockPlatform": {
        "type": "object",
        "description": "Defines negative stock settings for a specific platform. This structure enables individual configuration of negative stock handling per platform (e.g., eBay, Amazon), allowing overselling for specific marketplaces when the global AllowNegativeStock is enabled.",
        "additionalProperties": false,
        "required": [
          "platformId",
          "isNegativeStockAllowed"
        ],
        "properties": {
          "platformId": {
            "description": "Key of the platform that identifies the specific marketplace or platform (e.g., eBay, Amazon) for which this negative stock setting applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "isNegativeStockAllowed": {
            "type": "boolean",
            "description": "Determines if negative stock is allowed for this platform. When true, orders can be accepted even when the item is out of stock on this specific marketplace."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.NegativeStockSalesChannel": {
        "type": "object",
        "description": "Defines negative stock settings for a specific sales channel. This structure enables individual configuration of negative stock handling per sales channel, allowing overselling for specific online shops when the global AllowNegativeStock is enabled.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "isNegativeStockAllowed"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Key of the sales channel that identifies the specific shop or sales channel for which this negative stock setting applies.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "isNegativeStockAllowed": {
            "type": "boolean",
            "description": "Determines if negative stock is allowed for this sales channel. When true, orders can be accepted even when the item is out of stock in this specific channel."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.PlatformDescription": {
        "type": "object",
        "description": "Defines a platform-specific description of an item. This enables different descriptions for various output platforms like print or other non-sales platforms.",
        "additionalProperties": false,
        "required": [
          "platformId",
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "platformId": {
            "description": "Unique key of the platform for which this description is intended (e.g., print, labels).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "descriptionData": {
            "description": "Contains the platform-specific description data with all relevant texts and SEO information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.PlatformImages": {
        "type": "object",
        "description": "Model Class: PlatformImages ",
        "additionalProperties": false,
        "required": [
          "platformId"
        ],
        "properties": {
          "platformId": {
            "description": "Unique ID to identify a platform.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the platform.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SalesChannelActivation": {
        "type": "object",
        "description": "A sales channel to be activated for an item.",
        "additionalProperties": false,
        "required": [
          "salesChannelId"
        ],
        "properties": {
          "salesChannelId": {
            "description": "The ID of the sales channel which will be activated for the specified item. Tenant-local, composite identifier, not a UUID. Only specific sales channels are allowed for this operation and are specified in the sales channel endpoint (GET).",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "includeItemImages": {
            "type": "boolean",
            "description": "Specifies whether all item images assigned to the item at the time of the call should be activated for the specified sales channel. Defaults to false when omitted. If the sales channel is already activated for the specified item, this setting has no effect. The activation of item images for a sales channel is retained even if the sales channel is deactivated for an item, in order to restore the original state when the channel is reactivated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SalesChannelDescription": {
        "type": "object",
        "description": "Defines a sales channel-specific description of an item. This enables individual customization of item descriptions for specific sales channels or shops.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Unique key of the sales channel or shop for which this description is intended.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this sales channel-specific description."
          },
          "descriptionData": {
            "description": "Contains the sales channel-specific description data with all relevant texts and SEO information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SaleschannelImages": {
        "type": "object",
        "description": "Model Class: SaleschannelImages ",
        "additionalProperties": false,
        "required": [
          "saleschannelId"
        ],
        "properties": {
          "saleschannelId": {
            "description": "Unique ID to identify a saleschannel.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the saleschannel.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.ItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SalesChannelSurcharge": {
        "type": "object",
        "description": "Model Class: SalesChannelSurcharge ",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "surcharges"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Id of the saleschannel",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "surcharges": {
            "type": "array",
            "description": "Contains the surcharges for that saleschannel and customergroup",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CustomerGroupSurcharge"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberTrackingType": {
        "type": "integer",
        "description": "0 = None, 1 = OutboundOnly, 2 = InboundAndOutbound, 3 = EveryMovement",
        "format": "int32",
        "x-enumNames": [
          "None",
          "OutboundOnly",
          "InboundAndOutbound",
          "EveryMovement"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberType": {
        "type": "integer",
        "description": "0 = NoSerialNumbers, 1 = SerialNumbersActive, 2 = SerialNumbersTracking",
        "format": "int32",
        "x-enumNames": [
          "NoSerialNumbers",
          "SerialNumbersActive",
          "SerialNumbersTracking"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SupplierPrice": {
        "type": "object",
        "description": "Model Class: SupplierPrice ",
        "additionalProperties": false,
        "required": [
          "fromQuantity",
          "usePercentageDiscount"
        ],
        "properties": {
          "fromQuantity": {
            "type": "number",
            "description": "Quantity from which the price applies. This value is not editable. To change it, a new scale must be created.",
            "format": "decimal"
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for this scale.",
            "format": "decimal"
          },
          "usePercentageDiscount": {
            "type": "boolean",
            "description": "Indicates whether the scale uses a percentage discount of the NetPurchasePrice."
          },
          "percentageDiscount": {
            "type": "number",
            "description": "The percentage discount applied in this scale.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateAttributeSalesChannelValues": {
        "type": "object",
        "description": "Model Class: UpdateAttributeSalesChannelValues ",
        "additionalProperties": false,
        "required": [
          "salesChannelId"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Identifies the saleschannel for this attributevalue",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "values": {
            "type": "array",
            "description": "Contains the values for a saleschannel",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateAttributeValue"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateAttributeValue": {
        "type": "object",
        "description": "Model Class: UpdateAttributeValue ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "value"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "value": {
            "type": "string",
            "description": "Value of this attribute as string. Please consider the Attribute Type for correct formatting."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateAttributeValues": {
        "type": "object",
        "description": "Model Class: UpdateAttributeValues ",
        "additionalProperties": false,
        "required": [
          "attributeId"
        ],
        "properties": {
          "attributeId": {
            "description": "Identifies the attribute",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AttributKey"
          },
          "defaultValues": {
            "type": "array",
            "description": "Defines the default values for the attribute and item in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateAttributeValue"
            }
          },
          "salesChannelValues": {
            "type": "array",
            "description": "Contains all values for saleschannels for this attribute and item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateAttributeSalesChannelValues"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateCrossSellItem": {
        "type": "object",
        "description": "Represents a single cross-selling item.",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "Id of the item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sku": {
            "type": "string",
            "description": "Sku of the item"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateCustomerGroupSurcharge": {
        "type": "object",
        "description": "Model Class: UpdateCustomerGroupSurcharge ",
        "additionalProperties": false,
        "required": [
          "customerGroupId"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Id of the customergroup",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge for that customergroup",
            "format": "decimal"
          },
          "isActive": {
            "type": "boolean",
            "description": "Defines if the surcharges will be synchronized to online saleschannels. Does not apply for the default customer group surcharges, which are always synchronized when not overriden."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDefaultDescription": {
        "type": "object",
        "description": "Defines a default description of an item in a specific language. This description is used as a fallback when no more specific platform or sales channel descriptions are available.",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "descriptionData": {
            "description": "Contains the actual description data such as name, short and long description as well as SEO-relevant information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDescription": {
        "type": "object",
        "description": "Model Class: UpdateDescription ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "name"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "name": {
            "type": "string",
            "description": "Name of the Variation in the specific language"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDescriptionData": {
        "type": "object",
        "description": "Defines the actual description data of an item. This structure contains all textual information of an item including SEO-relevant metadata for online shops.",
        "additionalProperties": false,
        "properties": {
          "itemName": {
            "type": "string",
            "description": "The name of the item as displayed in the user interface or shop."
          },
          "shortDescription": {
            "type": "string",
            "description": "Short description of the item for overview displays and search results."
          },
          "description": {
            "type": "string",
            "description": "Detailed description of the item with comprehensive product information and properties."
          },
          "metaDescription": {
            "type": "string",
            "description": "Meta description for search engine optimization (SEO) that is displayed in search results."
          },
          "metaKeywords": {
            "type": "string",
            "description": "Meta keywords for search engine optimization to improve discoverability of the item."
          },
          "titleTag": {
            "type": "string",
            "description": "HTML title tag for the item that is displayed in the browser tab and search results."
          },
          "urlPath": {
            "type": "string",
            "description": "URL path for the item to create SEO-friendly and speaking URLs."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateEbayImages": {
        "type": "object",
        "description": "Model Class: UpdateEbayImages ",
        "additionalProperties": false,
        "required": [
          "ebayAccountId"
        ],
        "properties": {
          "ebayAccountId": {
            "description": "Unique ID to identify an ebay account.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EbayUserKey"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the eBay account.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemAttributes": {
        "type": "object",
        "description": "Model Class: UpdateItemAttributes ",
        "additionalProperties": false,
        "properties": {
          "values": {
            "type": "array",
            "description": "Contains all attribute values assigned to the item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateAttributeValues"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCategories": {
        "type": "object",
        "description": "Defines the category assignments of an item for creation. This structure manages all categories to which an item can be assigned and enables hierarchical classification for better organization and navigation.",
        "additionalProperties": false,
        "properties": {
          "categories": {
            "type": "array",
            "description": "Contains all categories to which the item is assigned. An item can be assigned to multiple categories simultaneously to enable flexible categorization and better discoverability.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCategory"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCategory": {
        "type": "object",
        "description": "Defines a single category assignment for an item. This structure represents the link between an item and a specific category in the hierarchical category system of the ERP system.",
        "additionalProperties": false,
        "required": [
          "categoryId"
        ],
        "properties": {
          "categoryId": {
            "description": "Unique key of the category that identifies the specific category to which the item should be assigned. This key establishes the connection to the category data.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCrosssellingGroup": {
        "type": "object",
        "description": "Represents a single cross-selling group with its assigned items.",
        "additionalProperties": false,
        "required": [
          "crosssellingGroupId"
        ],
        "properties": {
          "crosssellingGroupId": {
            "description": "Unique identifier of the cross-selling group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.Artikel.CrossSellingGruppeKey"
          },
          "items": {
            "type": "array",
            "description": "List of item keys that belong to this cross-selling group.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateCrossSellItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCrosssellingGroups": {
        "type": "object",
        "description": "Manages cross-selling groups assigned to an item. Cross-selling groups define related products that should be promoted together.",
        "additionalProperties": false,
        "properties": {
          "groups": {
            "type": "array",
            "description": "Collection of cross-selling groups associated with the item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCrosssellingGroup"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomerGroupPrices": {
        "type": "object",
        "description": "Defines customer group-specific prices for an item. This structure enables differentiated pricing by customer groups, allowing different price levels for different customer segments.",
        "additionalProperties": false,
        "required": [
          "customerGroupId",
          "prices"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Key of the customer group that identifies the specific customer group (e.g., end customers, resellers, wholesalers).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "prices": {
            "type": "array",
            "description": "List of prices for this customer group - can contain different tier prices or volume discounts.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomerGroupSpecialPrice": {
        "type": "object",
        "description": "Defines a customer group-specific special price for an item. This structure represents a single promotional price for a specific customer group in a sales channel.",
        "additionalProperties": false,
        "required": [
          "customerGroupId"
        ],
        "properties": {
          "customerGroupId": {
            "description": "Key of the customer group that identifies the specific customer group (e.g., end customers, resellers, wholesalers) for which this special price applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "netPrice": {
            "type": "number",
            "description": "Net special price for this customer group without taxes. Setting this to null will deactivate the special price for this customer group.",
            "format": "decimal"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether this special price is active for this customer group. Automatically set to false when NetPrice is set to null."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomerPrices": {
        "type": "object",
        "description": "Defines customer-specific prices for an item. This structure enables individual price agreements for specific customers that can deviate from standard or customer group prices.",
        "additionalProperties": false,
        "required": [
          "customerId",
          "prices"
        ],
        "properties": {
          "customerId": {
            "description": "Key of the customer that identifies the specific customer for whom these individual prices apply.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "prices": {
            "type": "array",
            "description": "List of individual prices for this customer - can contain different tier prices or special conditions.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomFields": {
        "type": "object",
        "description": "Defines custom fields for an item to store additional, user-defined information. Custom fields allow flexible extension of item data beyond standard properties and can be used for special business requirements, integrations, or custom workflows.",
        "additionalProperties": false,
        "required": [
          "fieldValues"
        ],
        "properties": {
          "fieldValues": {
            "type": "array",
            "description": "List of custom field values assigned to the item. Each entry represents a custom field with its corresponding value.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomFieldValue"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomFieldValue": {
        "type": "object",
        "description": "Defines a single custom field value for an item. This structure connects a custom field definition with its actual value for a specific item.",
        "additionalProperties": false,
        "required": [
          "fieldId",
          "value",
          "valueCultureName"
        ],
        "properties": {
          "fieldId": {
            "description": "Unique identifier of the custom field definition. References the custom field that was previously created in the system.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "value": {
            "type": "string",
            "description": "The actual value stored in this custom field. The format and content depend on the custom field type definition (text, number, date, etc.)."
          },
          "valueCultureName": {
            "type": "string",
            "description": "The culture name (e.g., \"en-US\", \"de-DE\") associated with the custom field value. This is important for localized fields where the value may vary based on the user's language or region. When returning those values from the server side this Format is always InvariantCulture. When sending values to the server side the culture name is optional and if not provided, it will be treated as InvariantCulture. Otherwise this value initializes a CultureInfo Object."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemDescriptions": {
        "type": "object",
        "description": "Defines the collection of all descriptions of an item for creation. This structure manages default, platform, and sales channel-specific item descriptions for different languages and distribution channels.",
        "additionalProperties": false,
        "properties": {
          "defaultDescriptions": {
            "type": "array",
            "description": "Default descriptions of the item. This is used when no more specific platform or sales channel descriptions are available and serves as a fallback description.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDefaultDescription"
            }
          },
          "salesChannelDescriptions": {
            "type": "array",
            "description": "List of sales channel-specific descriptions for sales platforms like JTL-Shop. Enables individual customization of item descriptions for specific sales channels.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSalesChannelDescription"
            }
          },
          "platformDescriptions": {
            "type": "array",
            "description": "List of platform-specific descriptions for non-sales platforms like print. Allows different descriptions for various output platforms.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdatePlatformDescription"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemFeature": {
        "type": "object",
        "description": "Defines a single feature assignment for an item. This structure represents the link between an item and a specific feature value from the feature system, allowing detailed product characterization.",
        "additionalProperties": false,
        "required": [
          "featureId"
        ],
        "properties": {
          "featureId": {
            "description": "Unique key of the feature value that identifies the specific feature characteristic to be assigned to the item. This key establishes the connection to a predefined feature value in the feature system.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemFeatures": {
        "type": "object",
        "description": "Defines the feature assignments of an item. This structure manages all features (characteristics/attributes) that describe specific properties or attributes of an item, such as color, size, material, or other custom characteristics used for product differentiation and filtering.",
        "additionalProperties": false,
        "properties": {
          "features": {
            "type": "array",
            "description": "Contains all features assigned to the item. Each feature represents a specific characteristic or attribute that describes the item in more detail, enabling better product differentiation and advanced filtering capabilities.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemFeature"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemIdentifiers": {
        "type": "object",
        "description": "Defines various identifiers of an item for creation. This structure includes all relevant markings and numbers used for unique identification of an item.",
        "additionalProperties": false,
        "properties": {
          "sku": {
            "type": "string",
            "description": "Unique item number (Stock Keeping Unit) - the user-assigned main identification of the item."
          },
          "amazonFnsku": {
            "type": "string",
            "description": "Amazon FNSKU (Fulfillment Network Stock Keeping Unit) - used by Amazon for inventory management."
          },
          "gtin": {
            "type": "string",
            "description": "GTIN (Global Trade Item Number, formerly EAN) - internationally standardized product identification for global trade."
          },
          "manufacturerNumber": {
            "type": "string",
            "description": "Manufacturer's item number - the official product number assigned by the manufacturer."
          },
          "isbn": {
            "type": "string",
            "description": "ISBN (International Standard Book Number) - mainly used for books and other publications."
          },
          "tariccode": {
            "type": "string",
            "description": "Taric code - customs tariff number for international trade and customs processing."
          },
          "upc": {
            "type": "string",
            "description": "UPC (Universal Product Code) - barcode standard mainly used in North America."
          },
          "unNumber": {
            "type": "string",
            "description": "UN number - used for marking dangerous goods in transport."
          },
          "hazardNumber": {
            "type": "string",
            "description": "Hazard number - identifies the type of danger for hazardous goods in transport."
          },
          "ownIdentifier": {
            "type": "string",
            "description": "Own identifier - user-defined internal identification for company-specific purposes."
          },
          "defaultAsin": {
            "type": "string",
            "description": "Default ASIN (Amazon Standard Identification Number) - primary Amazon product identification."
          },
          "jfsku": {
            "type": "string",
            "description": "JTL-Fulfillment-SKU (JFSKU) - unique identifier in the JTL Fulfillment Network (FFN) for item identification."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemImage": {
        "type": "object",
        "description": "Model Class: UpdateItemImage ",
        "additionalProperties": false,
        "required": [
          "blobIdentifier",
          "sortNumber",
          "isMainImage"
        ],
        "properties": {
          "blobIdentifier": {
            "type": "string",
            "description": "Unique ID to identify an image.",
            "format": "uuid"
          },
          "sortNumber": {
            "type": "integer",
            "description": "Sort order of the image.",
            "format": "int32"
          },
          "isMainImage": {
            "type": "boolean",
            "description": "Declares the main image of the item. Typically the image with sort order 1."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemImages": {
        "type": "object",
        "description": "Model Class: UpdateItemImages ",
        "additionalProperties": false,
        "properties": {
          "defaultImages": {
            "type": "array",
            "description": "List of default images assigned to the item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemImage"
            }
          },
          "platformImages": {
            "type": "array",
            "description": "List of images assigned to different platforms.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdatePlatformImages"
            }
          },
          "saleschannelImages": {
            "type": "array",
            "description": "List of images assigned to different saleschannels.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSaleschannelImages"
            }
          },
          "ebayImages": {
            "type": "array",
            "description": "List of images assigned to different eBay accounts.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateEbayImages"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemMeasurements": {
        "type": "object",
        "description": "Defines the physical dimensions and weight specifications of an item for creation. This structure includes all relevant measurements for storage, shipping and product presentation and is used for shipping cost calculations and storage space optimizations.",
        "additionalProperties": false,
        "properties": {
          "height": {
            "type": "number",
            "description": "Height of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          },
          "length": {
            "type": "number",
            "description": "Length of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          },
          "shippingWeight": {
            "type": "number",
            "description": "Shipping weight of the item for shipping cost calculation in the configured weight unit (usually kilograms or grams). May differ from the actual item weight.",
            "format": "decimal"
          },
          "weight": {
            "type": "number",
            "description": "Actual weight of the item without packaging in the configured weight unit (usually kilograms or grams).",
            "format": "decimal"
          },
          "width": {
            "type": "number",
            "description": "Width of the item in the configured unit of measurement (usually centimeters or millimeters).",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemPrice": {
        "type": "object",
        "description": "Defines a single price with tiering options and discount possibilities. This structure forms the basis for complex price structures with volume discounts and percentage price reductions from the standard price.",
        "additionalProperties": false,
        "required": [
          "fromQuantity"
        ],
        "properties": {
          "fromQuantity": {
            "type": "integer",
            "description": "Minimum quantity from which this price applies - enables tier prices based on order quantity (e.g., from 10 pieces).",
            "format": "int32"
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for this price tier without taxes - the actual selling price for the specified quantity tier.",
            "format": "decimal"
          },
          "reduceStandardPriceByPercent": {
            "type": "number",
            "description": "Percentage discount on the standard price - indicates by what percentage the standard price is reduced for this price tier. Used as an alternative to NetPrice.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemPrices": {
        "type": "object",
        "description": "Defines the complete price structure of an item for creation. This structure includes all price information for different sales channels, customer groups and individual customer prices as well as basic price information.",
        "additionalProperties": false,
        "properties": {
          "ignoreDiscounts": {
            "type": "boolean",
            "description": "Indicates whether discounts should be ignored for this item. When set to true, no automatic discounts will be applied to the item prices."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Net sales price of the item without taxes and discounts - the basic selling price of the item.",
            "format": "decimal"
          },
          "suggestedRetailPrice": {
            "type": "number",
            "description": "Manufacturer's suggested retail price (MSRP) - the selling price recommended by the manufacturer.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "Net purchase price without taxes - the price at which the item was purchased.",
            "format": "decimal"
          },
          "ebayPrice": {
            "type": "number",
            "description": "eBay-specific selling price - special price for eBay sales.",
            "format": "decimal"
          },
          "amazonPrice": {
            "type": "number",
            "description": "Amazon-specific selling price - special price for Amazon sales.",
            "format": "decimal"
          },
          "salesChannelPrices": {
            "type": "array",
            "description": "List of sales channel-specific prices - enables different pricing for various sales channels or shops.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSaleschannelPrices"
            }
          },
          "customerPrices": {
            "type": "array",
            "description": "List of customer-specific prices - allows individual price agreements for specific customers.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomerPrices"
            }
          },
          "defaultPrices": {
            "type": "array",
            "description": "List of default prices for different customer groups - these prices serve as fallback when no more specific prices are defined.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomerGroupPrices"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSaleschannelPrices": {
        "type": "object",
        "description": "Defines sales channel-specific prices for an item. This structure enables different pricing for various sales channels or shops with customer group-related price structures.",
        "additionalProperties": false,
        "required": [
          "saleschannelId",
          "customerGroupPrices"
        ],
        "properties": {
          "saleschannelId": {
            "description": "Key of the sales channel that identifies the specific sales channel or shop for which this price structure applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "customerGroupPrices": {
            "type": "array",
            "description": "List of prices for different customer groups within this sales channel - enables differentiated pricing by customer groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomerGroupPrices"
            }
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether this sales channel is active for the item - determines whether the item can be sold in this sales channel."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSalesChannelSpecialPrices": {
        "type": "object",
        "description": "Defines sales channel-specific special prices for an item. This structure enables different promotional pricing for a specific sales channel or shop with customer group-related special price structures.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "specialPrices"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Key of the sales channel that identifies the specific sales channel or shop for which this special price structure applies.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "specialPrices": {
            "type": "array",
            "description": "List of special prices for different customer groups within this sales channel - enables differentiated promotional pricing by customer groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemCustomerGroupSpecialPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSpecialPrices": {
        "type": "object",
        "description": "Defines the special prices (promotional prices) structure of an item. This structure includes time-based and stock-based special pricing for different sales channels and customer groups, as well as Amazon-specific special prices.",
        "additionalProperties": false,
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether special prices are active for this item. When set to true, the special price rules defined below will be applied according to their conditions."
          },
          "startDate": {
            "type": "string",
            "description": "Date from which the special price becomes active. The special price will only be valid from this date onwards.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Date until which the special price remains active. The special price will expire after this date. Only evaluated if IsEndDateActive is true.",
            "format": "date-time"
          },
          "isEndDateActive": {
            "type": "boolean",
            "description": "Indicates whether the end date should be considered. If false, the special price has no expiration date."
          },
          "minimumStockQuantity": {
            "type": "integer",
            "description": "Minimum stock quantity that must be available for the special price to remain active. Only evaluated if IsStockRestrictionActive is true.",
            "format": "int32"
          },
          "isStockRestrictionActive": {
            "type": "boolean",
            "description": "Indicates whether the stock restriction should be applied. When true, the special price is only active if the stock level is greater than or equal to MinimumStockQuantity. Can only be activated for items that use stock management."
          },
          "salesChannelSpecialPrices": {
            "type": "array",
            "description": "List of sales channel-specific special prices - enables different promotional pricing for various sales channels or shops with customer group differentiation.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSalesChannelSpecialPrices"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemStockManagement": {
        "type": "object",
        "description": "Stock management configuration of an item. Determines whether and how the item's stock is managed in warehouses - batch and shelf life tracking, serial number capture, divisibility, buffers and negative stock. This block configures stock *management*, not whether the item has stock - an item without stock management can still carry stock, it is simply not warehouse-managed. Actual stock levels are read via GET /v2/items/{itemId}/stocks.",
        "additionalProperties": false,
        "properties": {
          "hasShelfLifeExpirationDate": {
            "type": "boolean",
            "description": "Indicates whether the item is managed with a shelf life expiration date (SLED, German 'Mindesthaltbarkeitsdatum'). When enabled, every stock posting for this item must carry an expiration date, so perishable goods can be traced and picked by expiry. Mutually exclusive with serial number tracking."
          },
          "hasBatch": {
            "type": "boolean",
            "description": "Indicates whether the item is managed in batches (German 'Charge'). When enabled, every stock posting for this item must carry a batch number, so goods can be traced back to the batch they came from. Mutually exclusive with serial number tracking, and freely combinable with shelf life expiration dates."
          },
          "serialNumberTrackingType": {
            "type": "integer",
            "description": "Determines at which point in the goods flow serial numbers are captured for this item. Any value other than 'None' is mutually exclusive with batch management, shelf life expiration dates and divisible stock.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberTrackingType"
          },
          "divisibilityType": {
            "type": "integer",
            "description": "Determines whether the item's stock is held in whole units or in fractional quantities. Any value other than 'None' is mutually exclusive with serial number tracking. Writing 'None' has a side effect on the item's suppliers that writing a divisible value back does not undo: purchaseInterval and stockLevel are truncated to whole numbers on every supplier of the item, so any fractional part they carried is lost.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.DivisibilityType"
          },
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Allows selling a higher quantity of the item than is physically in stock. This global setting must be enabled before the platform-specific or sales-channel-specific negative stock settings below take any effect. Defaults to false when omitted."
          },
          "buffer": {
            "type": "integer",
            "description": "Safety stock buffer that is held back and not offered for sale. Used when selling across sales channels that synchronise with a delay, so that no more is sold than is actually available. Defaults to 0 when omitted.",
            "format": "int32"
          },
          "globalMinimumStockLevel": {
            "type": "number",
            "description": "Minimum stock level across all warehouses. When the total stock falls below this value, the item is flagged for reordering and appears in order suggestions and low-stock warnings. Defaults to 0 when omitted.",
            "format": "decimal"
          },
          "itemPlatformNegativeStocks": {
            "type": "array",
            "description": "Platform-specific negative stock settings, for example for eBay or Amazon. AllowNegativeStock must be enabled as well for any of these to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateNegativeStockPlatform"
            }
          },
          "itemSalesChannelNegativeStocks": {
            "type": "array",
            "description": "Sales-channel-specific negative stock settings, allowing overselling for individual shops or sales channels. AllowNegativeStock must be enabled as well for any of these to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateNegativeStockSalesChannel"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemStorageConstraints": {
        "type": "object",
        "description": "Defines the storage and inventory management constraints of an item. This structure includes settings for negative stock handling, inventory management, serial numbers, batch tracking, and best-before date management.",
        "additionalProperties": false,
        "properties": {
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Allows selling a higher quantity of the item than is actually in stock. This global setting must be activated first before platform-specific or sales channel-specific negative stock settings can be enabled."
          },
          "itemPlatformNegativeStocks": {
            "type": "array",
            "description": "List of platform-specific negative stock settings. Activates the ability to sell a higher quantity of the item for specific platforms (e.g., eBay, Amazon). AllowNegativeStock must be activated as well for these settings to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateNegativeStockPlatform"
            }
          },
          "itemSalesChannelNegativeStocks": {
            "type": "array",
            "description": "List of sales channel-specific negative stock settings. Activates the ability to sell a higher quantity of the item for specific sales channels or shops. AllowNegativeStock must be activated as well for these settings to take effect.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateNegativeStockSalesChannel"
            }
          },
          "buffer": {
            "type": "integer",
            "description": "Item buffer quantity - defines a safety stock buffer that is reserved and not available for sale. This helps prevent overselling and ensures availability for important orders.",
            "format": "int32"
          },
          "globalMinimumStockLevel": {
            "type": "number",
            "description": "Global minimum stock level across all warehouses. When the total stock falls below this value, the item is flagged for reordering. Used for automatic order suggestions and low-stock warnings.",
            "format": "decimal"
          },
          "hasBatch": {
            "type": "boolean",
            "description": "Indicates whether the item uses batch management. When enabled, the item requires batch numbers to be assigned for each stock movement to enable tracking and traceability."
          },
          "isInventoryManagementActive": {
            "type": "boolean",
            "description": "Determines if the item is working with inventory management. When active, stock levels are tracked and managed; when inactive, the item is treated as always available regardless of stock levels."
          },
          "isBestBeforeManaged": {
            "type": "boolean",
            "description": "Determines if the item is working with best-before date (MHD - Mindesthaltbarkeitsdatum) management. When enabled, stock items must have an assigned best-before date for tracking perishable goods."
          },
          "isStockDivisible": {
            "type": "boolean",
            "description": "Determines if the item can be sold in split quantities (fractional units). When enabled, stock can be managed in decimal quantities (e.g., 2.5 pieces) instead of only whole numbers."
          },
          "serialNumberType": {
            "type": "integer",
            "description": "Determines the type of serial number processing. Defines whether serial numbers are inactive, active, or tracked for this item.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SerialNumberType"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSupplier": {
        "type": "object",
        "description": "Model Class: UpdateItemSupplier ",
        "additionalProperties": false,
        "required": [
          "supplierId"
        ],
        "properties": {
          "supplierId": {
            "description": "Id of the supplier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "supplierItemName": {
            "type": "string",
            "description": "Name of the item at the supplier (max 255 characters)."
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "Item number at the supplier (max 255 characters)."
          },
          "stockLevel": {
            "type": "number",
            "description": "Stock level of the item at the supplier.",
            "format": "decimal"
          },
          "netPurchasePrice": {
            "type": "number",
            "description": "Net purchase price of the item at the supplier.",
            "format": "decimal"
          },
          "minimumPurchaseQuantity": {
            "type": "integer",
            "description": "Minimum purchase quantity of the item at the supplier.",
            "format": "int32"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time for this item at the supplier (in days).",
            "format": "int32"
          },
          "isDropshippingActive": {
            "type": "boolean",
            "description": "Indicates if this item uses dropshipping from the supplier."
          },
          "packageUnitDescription": {
            "type": "string",
            "description": "Description of the packaging unit."
          },
          "packageUnitQuantity": {
            "type": "number",
            "description": "Quantity per packaging unit.",
            "format": "decimal"
          },
          "notes": {
            "type": "string",
            "description": "Additional notes (max 512 characters)."
          },
          "vatRate": {
            "type": "number",
            "description": "VAT rate of the item at the supplier.",
            "format": "decimal"
          },
          "useSupplierDeliveryTime": {
            "type": "boolean",
            "description": "Whether to use the supplier's delivery time directly."
          },
          "includeSupplierStock": {
            "type": "boolean",
            "description": "Whether to include the supplier's stock in own inventory."
          },
          "purchaseInterval": {
            "type": "number",
            "description": "Purchase interval for this item at the supplier.",
            "format": "decimal"
          },
          "scalePrices": {
            "type": "array",
            "description": "Scale prices defined by the supplier for this item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSupplierPrice"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSuppliers": {
        "type": "object",
        "description": "Model Class: UpdateItemSuppliers ",
        "additionalProperties": false,
        "properties": {
          "defaultSupplier": {
            "description": "Sets the default supplier for the item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "defaultDropshippingSupplier": {
            "description": "Sets the default supplier for dropshipping for the item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "suppliers": {
            "type": "array",
            "description": "Assigned suppliers for the item",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemSupplier"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemUnitPricing": {
        "type": "object",
        "description": "Defines the item unit pricing settings for creation and modification. This structure includes all relevant information about the sales unit, packaging unit, inner quantity and base price details for an item.",
        "additionalProperties": false,
        "properties": {
          "salesUnitId": {
            "description": "Id of the sales unit in which the item is sold (e.g. piece or box).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          },
          "packagingUnitId": {
            "description": "Id of the packaging unit of the item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          },
          "innerQuantity": {
            "type": "number",
            "description": "The amount of content for one piece of the sales unit, relative to the inner quantity unit.",
            "format": "decimal"
          },
          "innerQuantityUnitId": {
            "description": "The measurement unit for the inner quantity (e.g. kg or liter).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "isBasePriceDeclared": {
            "type": "boolean",
            "description": "Indicates whether the base price should be automatically calculated and displayed."
          },
          "basePriceReferenceUnitId": {
            "description": "The measurement unit to which the base price refers (e.g. per liter or per 100 grams).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "basePriceReferenceAmount": {
            "type": "number",
            "description": "The reference amount used when calculating the base price (e.g. 1 for per liter, 100 for per 100 grams).",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemVariations": {
        "type": "object",
        "description": "Model Class: UpdateItemVariations ",
        "additionalProperties": false,
        "properties": {
          "variations": {
            "type": "array",
            "description": "Contains all Variations",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateVariation"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateNegativeStockPlatform": {
        "type": "object",
        "description": "Defines negative stock settings for a specific platform. This structure enables individual configuration of negative stock handling per platform (e.g., eBay, Amazon), allowing overselling for specific marketplaces when the global AllowNegativeStock is enabled.",
        "additionalProperties": false,
        "required": [
          "platformId",
          "isNegativeStockAllowed"
        ],
        "properties": {
          "platformId": {
            "description": "Key of the platform that identifies the specific marketplace or platform (e.g., eBay, Amazon) for which this negative stock setting applies.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "isNegativeStockAllowed": {
            "type": "boolean",
            "description": "Determines if negative stock is allowed for this platform. When true, orders can be accepted even when the item is out of stock on this specific marketplace."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateNegativeStockSalesChannel": {
        "type": "object",
        "description": "Defines negative stock settings for a specific sales channel. This structure enables individual configuration of negative stock handling per sales channel, allowing overselling for specific online shops when the global AllowNegativeStock is enabled.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "isNegativeStockAllowed"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Key of the sales channel that identifies the specific shop or sales channel for which this negative stock setting applies.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "isNegativeStockAllowed": {
            "type": "boolean",
            "description": "Determines if negative stock is allowed for this sales channel. When true, orders can be accepted even when the item is out of stock in this specific channel."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdatePlatformDescription": {
        "type": "object",
        "description": "Defines a platform-specific description of an item. This enables different descriptions for various output platforms like print or other non-sales platforms.",
        "additionalProperties": false,
        "required": [
          "platformId",
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "platformId": {
            "description": "Unique key of the platform for which this description is intended (e.g., print, labels).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this item description (e.g., \"DE\" for German, \"EN\" for English)."
          },
          "descriptionData": {
            "description": "Contains the platform-specific description data with all relevant texts and SEO information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdatePlatformImages": {
        "type": "object",
        "description": "Model Class: UpdatePlatformImages ",
        "additionalProperties": false,
        "required": [
          "platformId"
        ],
        "properties": {
          "platformId": {
            "description": "Unique ID to identify a platform.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the platform.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSalesChannelDescription": {
        "type": "object",
        "description": "Defines a sales channel-specific description of an item. This enables individual customization of item descriptions for specific sales channels or shops.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "languageIso",
          "descriptionData"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Unique key of the sales channel or shop for which this description is intended.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "languageIso": {
            "type": "string",
            "description": "ISO2 language code that determines the language for this sales channel-specific description."
          },
          "descriptionData": {
            "description": "Contains the sales channel-specific description data with all relevant texts and SEO information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDescriptionData"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSaleschannelImages": {
        "type": "object",
        "description": "Model Class: UpdateSaleschannelImages ",
        "additionalProperties": false,
        "required": [
          "saleschannelId"
        ],
        "properties": {
          "saleschannelId": {
            "description": "Unique ID to identify a saleschannel.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "images": {
            "type": "array",
            "description": "List of images assigned to the saleschannel.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemImage"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSalesChannelSurcharge": {
        "type": "object",
        "description": "Model Class: UpdateSalesChannelSurcharge ",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "surcharges"
        ],
        "properties": {
          "salesChannelId": {
            "description": "Id of the saleschannel",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "surcharges": {
            "type": "array",
            "description": "Contains the surcharges for that saleschannel and customergroup",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateCustomerGroupSurcharge"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSupplierPrice": {
        "type": "object",
        "description": "Model Class: UpdateSupplierPrice ",
        "additionalProperties": false,
        "required": [
          "fromQuantity",
          "usePercentageDiscount"
        ],
        "properties": {
          "fromQuantity": {
            "type": "number",
            "description": "Quantity from which the price applies. This value is not editable. To change it, a new scale must be created.",
            "format": "decimal"
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for this scale.",
            "format": "decimal"
          },
          "usePercentageDiscount": {
            "type": "boolean",
            "description": "Indicates whether the scale uses a percentage discount of the NetPurchasePrice."
          },
          "percentageDiscount": {
            "type": "number",
            "description": "The percentage discount applied in this scale.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateVariation": {
        "type": "object",
        "description": "Model Class: UpdateVariation ",
        "additionalProperties": false,
        "required": [
          "variationId"
        ],
        "properties": {
          "variationId": {
            "description": "Id of the Variation",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          },
          "position": {
            "type": "integer",
            "description": "Position of this Variation in the List",
            "format": "int32"
          },
          "descriptions": {
            "type": "array",
            "description": "Descriptions of this Variation in multiple Languages",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDescription"
            }
          },
          "values": {
            "type": "array",
            "description": "Values for this Variation",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateVariationValue"
            }
          },
          "variationType": {
            "type": "integer",
            "description": "Type of the Variation",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationType"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateVariationValue": {
        "type": "object",
        "description": "Model Class: UpdateVariationValue ",
        "additionalProperties": false,
        "required": [
          "variationValueId"
        ],
        "properties": {
          "variationValueId": {
            "description": "Id of the VariationValue",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          },
          "itemNumber": {
            "type": "string",
            "description": "Itemnumber for this variationvalue"
          },
          "gTIN": {
            "type": "string",
            "description": "GTIN for this variationvalue"
          },
          "weightOffset": {
            "type": "number",
            "description": "Offset for the weight of this variationvalue",
            "format": "decimal"
          },
          "descriptions": {
            "type": "array",
            "description": "Descriptions of this VariationValue in multiple Languages",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateDescription"
            }
          },
          "surcharges": {
            "description": "Surcharges of this VariationValue",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateVariationValueSurcharges"
          },
          "position": {
            "type": "integer",
            "description": "Position of this VariationValue in the List",
            "format": "int32"
          },
          "image": {
            "description": "Image for this variation value. This image will be used as the main image for the variation combination if this variation value is part of it and the variation combination doesn't have its own image.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateVariationValueSurcharges": {
        "type": "object",
        "description": "Model Class: UpdateVariationValueSurcharges ",
        "additionalProperties": false,
        "properties": {
          "defaultSurchargeNet": {
            "type": "number",
            "description": "Default Surcharge if there is none specified for a specific saleschannel + customergroup",
            "format": "decimal"
          },
          "customerGroupSurcharges": {
            "type": "array",
            "description": "Default Surcharges for specific customergroups in general, independent of saleschannel",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateCustomerGroupSurcharge"
            }
          },
          "salesChannelSurcharges": {
            "type": "array",
            "description": "Surcharge for specific saleschannels + customergroups",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateSalesChannelSurcharge"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.Variation": {
        "type": "object",
        "description": "Model Class: Variation ",
        "additionalProperties": false,
        "required": [
          "variationId",
          "variationType"
        ],
        "properties": {
          "variationId": {
            "description": "Id of the Variation",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          },
          "position": {
            "type": "integer",
            "description": "Position of this Variation in the List",
            "format": "int32"
          },
          "descriptions": {
            "type": "array",
            "description": "Descriptions of this Variation in multiple Languages",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.Description"
            }
          },
          "values": {
            "type": "array",
            "description": "Values for this Variation",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationValue"
            }
          },
          "variationType": {
            "description": "Type of the Variation",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationType"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationType": {
        "type": "integer",
        "description": "0 = Unknown, 1 = Selectbox, 2 = Radiobutton, 3 = Swatches, 4 = Textbox, 5 = FreeText, 6 = MandatoryFreeText",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Selectbox",
          "Radiobutton",
          "Swatches",
          "Textbox",
          "FreeText",
          "MandatoryFreeText"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationValue": {
        "type": "object",
        "description": "Model Class: VariationValue ",
        "additionalProperties": false,
        "required": [
          "variationValueId"
        ],
        "properties": {
          "variationValueId": {
            "description": "Id of the VariationValue",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          },
          "itemNumber": {
            "type": "string",
            "description": "Itemnumber for this variationvalue"
          },
          "gTIN": {
            "type": "string",
            "description": "GTIN for this variationvalue"
          },
          "weightOffset": {
            "type": "number",
            "description": "Offset for the weight of this variationvalue",
            "format": "decimal"
          },
          "descriptions": {
            "type": "array",
            "description": "Descriptions of this VariationValue in multiple Languages",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.Description"
            }
          },
          "surcharges": {
            "description": "Surcharges of this VariationValue",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationValueSurcharges"
          },
          "position": {
            "type": "integer",
            "description": "Position of this VariationValue in the List",
            "format": "int32"
          },
          "image": {
            "description": "Image for this variation value. This image will be used as the main image for the variation combination if this variation value is part of it and the variation combination doesn't have its own image.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.VariationValueSurcharges": {
        "type": "object",
        "description": "Model Class: VariationValueSurcharges ",
        "additionalProperties": false,
        "properties": {
          "defaultSurchargeNet": {
            "type": "number",
            "description": "Default Surcharge if there is none specified for a specific saleschannel + customergroup",
            "format": "decimal"
          },
          "customerGroupSurcharges": {
            "type": "array",
            "description": "Default Surcharges for specific customergroups in general, independent of saleschannel",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CustomerGroupSurcharge"
            }
          },
          "salesChannelSurcharges": {
            "type": "array",
            "description": "Surcharge for specific saleschannels + customergroups",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.SalesChannelSurcharge"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemOverview.ItemListItem": {
        "type": "object",
        "description": "A single row of the item overview.",
        "additionalProperties": false,
        "required": [
          "sKU",
          "isDeliveryTimeAutomatic",
          "salesPriceNet",
          "suggestedRetailPrice",
          "amazonPrice",
          "ebayPrice",
          "buffer",
          "allowNegativeStock",
          "isInventoryManagementActive",
          "isDivisible",
          "hasBatch",
          "hasBestBeforeDate",
          "isSerialNumberManaged",
          "isActive",
          "isOnPriceList",
          "isTopItem",
          "isNew",
          "isBillOfMaterials",
          "isBillOfMaterialsComponent",
          "isVariationParent",
          "isVariationChild",
          "hasMinimumStock",
          "isBlockedForOrderSuggestions",
          "isShopActive",
          "isOrderProcessProhibited",
          "isFulfillmentActive",
          "isFulfillmentOwn"
        ],
        "properties": {
          "id": {
            "description": "The ID of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "billOfMaterialsId": {
            "type": "integer",
            "description": "Bill of materials ID",
            "format": "int32"
          },
          "parentItemId": {
            "description": "Parent item ID (for variation children)",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "itemIdForCategoryItemId": {
            "description": "Item id for category search",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sKU": {
            "type": "string",
            "description": "Item number"
          },
          "sortNumber": {
            "type": "integer",
            "description": "Sort number for display ordering",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the item in the requested language"
          },
          "unit": {
            "type": "string",
            "description": "Sales unit name"
          },
          "description": {
            "type": "string",
            "description": "Item description (first 255 chars)"
          },
          "shortDescription": {
            "type": "string",
            "description": "Short description (first 255 chars)"
          },
          "notes": {
            "type": "string",
            "description": "Notes of the item"
          },
          "labels": {
            "type": "string",
            "description": "Label names"
          },
          "series": {
            "type": "string",
            "description": "Series name"
          },
          "gTIN": {
            "type": "string",
            "description": "GTIN (former EAN) of the item"
          },
          "manufacturerNumber": {
            "type": "string",
            "description": "Manufacturer number of the item"
          },
          "iSBN": {
            "type": "string",
            "description": "ISBN of the item"
          },
          "defaultAsin": {
            "type": "string",
            "description": "Default ASIN of the item"
          },
          "taricCode": {
            "type": "string",
            "description": "TaricCode of the item"
          },
          "uPC": {
            "type": "string",
            "description": "UPC of the item"
          },
          "uNNumber": {
            "type": "string",
            "description": "UNNumber of the item"
          },
          "hazardNumber": {
            "type": "string",
            "description": "HazardNumber of the item"
          },
          "amazonFnsku": {
            "type": "string",
            "description": "Amazon FNSKU"
          },
          "jfsku": {
            "type": "string",
            "description": "Identifier for JTL Fulfillment Network"
          },
          "countryOfOrigin": {
            "type": "string",
            "description": "Country of origin"
          },
          "manufacturerName": {
            "type": "string",
            "description": "Name of the manufacturer"
          },
          "deliveryStatus": {
            "type": "string",
            "description": "Delivery status name"
          },
          "isDeliveryTimeAutomatic": {
            "type": "boolean",
            "description": "Automatic delivery time calculation active"
          },
          "manualDeliveryTimeDays": {
            "type": "integer",
            "description": "Manual delivery time in days",
            "format": "int32"
          },
          "width": {
            "type": "number",
            "description": "Item width",
            "format": "decimal"
          },
          "height": {
            "type": "number",
            "description": "Item height",
            "format": "decimal"
          },
          "length": {
            "type": "number",
            "description": "Item length",
            "format": "decimal"
          },
          "shippingWeight": {
            "type": "number",
            "description": "Shipping weight",
            "format": "decimal"
          },
          "weight": {
            "type": "number",
            "description": "Item weight (without packaging)",
            "format": "decimal"
          },
          "createdDate": {
            "type": "string",
            "description": "Creation date of the item",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modification date (date only)",
            "format": "date-time"
          },
          "modifiedTimestamp": {
            "type": "string",
            "description": "Last modification timestamp (date and time)",
            "format": "date-time"
          },
          "releaseDate": {
            "type": "string",
            "description": "Release date of the item",
            "format": "date-time"
          },
          "lastPurchaseDate": {
            "type": "string",
            "description": "Date of last purchase",
            "format": "date-time"
          },
          "lastEditor": {
            "type": "string",
            "description": "Name of the last editor"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Item Net Price",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "Sales price gross (including tax)",
            "format": "decimal"
          },
          "suggestedRetailPrice": {
            "type": "number",
            "description": "UVP",
            "format": "decimal"
          },
          "averagePurchasePriceNet": {
            "type": "number",
            "description": "Average purchase price net",
            "format": "decimal"
          },
          "lastPurchasePrice": {
            "type": "number",
            "description": "Last Purchase Net Price",
            "format": "decimal"
          },
          "amazonPrice": {
            "type": "number",
            "description": "AmazonPrice Net Price",
            "format": "decimal"
          },
          "ebayPrice": {
            "type": "number",
            "description": "EbayPrice Net Price",
            "format": "decimal"
          },
          "profit": {
            "type": "number",
            "description": "Profit of this item",
            "format": "decimal"
          },
          "profitPercent": {
            "type": "number",
            "description": "Profit in percent",
            "format": "decimal"
          },
          "specialPriceStatus": {
            "type": "integer",
            "description": "Special price status (0 = no special price, 1 = expired, 2 = active)",
            "format": "int32"
          },
          "basePriceValue": {
            "type": "number",
            "description": "Base price value",
            "format": "decimal"
          },
          "basePriceUnit": {
            "type": "string",
            "description": "Base price unit display code"
          },
          "measurementUnit": {
            "type": "string",
            "description": "Measurement unit name"
          },
          "stockTotal": {
            "type": "number",
            "description": "Total stock in all warehouses",
            "format": "decimal"
          },
          "stockOwn": {
            "type": "number",
            "description": "Own Stock (without children/variations)",
            "format": "decimal"
          },
          "stockIncoming": {
            "type": "number",
            "description": "Stock incoming",
            "format": "decimal"
          },
          "stockOnPurchaseList": {
            "type": "number",
            "description": "Stock on purchase list",
            "format": "decimal"
          },
          "stockInOrders": {
            "type": "number",
            "description": "Total stock in orders",
            "format": "decimal"
          },
          "stockAvailable": {
            "type": "number",
            "description": "Available stock",
            "format": "decimal"
          },
          "stockReservedTotal": {
            "type": "number",
            "description": "Total stock reserved",
            "format": "decimal"
          },
          "stockInAmazonOffers": {
            "type": "integer",
            "description": "Stock in Amazon offers",
            "format": "int32"
          },
          "ebayStock": {
            "type": "number",
            "description": "Stock in eBay listings",
            "format": "decimal"
          },
          "minimumOrderQuantity": {
            "type": "number",
            "description": "Minimum order quantity",
            "format": "decimal"
          },
          "purchaseInterval": {
            "type": "number",
            "description": "Purchase interval",
            "format": "decimal"
          },
          "buffer": {
            "type": "integer",
            "description": "The item buffer",
            "format": "int32"
          },
          "minimumStock": {
            "type": "number",
            "description": "The Item minimum stock level",
            "format": "decimal"
          },
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Determines if negative stock is allowed for this item"
          },
          "isInventoryManagementActive": {
            "type": "boolean",
            "description": "Determines if the item is working with inventory management"
          },
          "isDivisible": {
            "type": "boolean",
            "description": "Determines if the item is working with split quantities in stock"
          },
          "hasBatch": {
            "type": "boolean",
            "description": "The Item HasBatch"
          },
          "hasBestBeforeDate": {
            "type": "boolean",
            "description": "Determines if the item is working with best before date (MHD)"
          },
          "isSerialNumberManaged": {
            "type": "boolean",
            "description": "If the item uses serial number management."
          },
          "serialNumberTrackingMode": {
            "description": "Serial number tracking flag",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemOverview.SerialNumberTrackingMode"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates if the item is active"
          },
          "isOnPriceList": {
            "type": "boolean",
            "description": "Is on price list flag"
          },
          "isTopItem": {
            "type": "boolean",
            "description": "Is top item flag"
          },
          "isNew": {
            "type": "boolean",
            "description": "Is new item flag"
          },
          "isBillOfMaterials": {
            "type": "boolean",
            "description": "Is bill of materials"
          },
          "isBillOfMaterialsComponent": {
            "type": "boolean",
            "description": "Is bill of materials component"
          },
          "isVariationParent": {
            "type": "boolean",
            "description": "Is variation parent"
          },
          "isVariationChild": {
            "type": "boolean",
            "description": "Is variation child"
          },
          "hasMinimumStock": {
            "type": "boolean",
            "description": "Has minimum stock level"
          },
          "isBlockedForOrderSuggestions": {
            "type": "boolean",
            "description": "Is blocked for order suggestions"
          },
          "isShopActive": {
            "type": "boolean",
            "description": "Is active in at least one shop"
          },
          "isOrderProcessProhibited": {
            "type": "boolean",
            "description": "No order process flag"
          },
          "salesPackagingUnit": {
            "type": "integer",
            "description": "Sales packaging unit (VPE)",
            "format": "int32"
          },
          "conditionId": {
            "description": "Condition ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZustandKey"
          },
          "conditionName": {
            "type": "string",
            "description": "Condition name"
          },
          "isFulfillmentActive": {
            "type": "boolean",
            "description": "Determines if the item is being shared in the JTL Fulfillment Network"
          },
          "isFulfillmentOwn": {
            "type": "boolean",
            "description": "Determines if the item is managed by this client"
          },
          "taxClassId": {
            "description": "Tax class ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxClassName": {
            "type": "string",
            "description": "Name of the tax class"
          },
          "manufacturerId": {
            "description": "Manufacturer ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.HerstellerKey"
          },
          "productGroupId": {
            "description": "Product group ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "productGroupName": {
            "type": "string",
            "description": "Name of the ProductGroup"
          },
          "defaultSupplierId": {
            "description": "Default supplier ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "defaultSupplier": {
            "type": "string",
            "description": "Name of the Default Supplier"
          },
          "shippingClassId": {
            "description": "Shipping class ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandklasseKey"
          },
          "shippingClassName": {
            "type": "string",
            "description": "Shipping class name"
          },
          "defaultImageId": {
            "description": "The id of the default image.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
          },
          "defaultImageUrl": {
            "type": "string",
            "description": "The url of the default image."
          },
          "additionalProcessingTime": {
            "type": "integer",
            "description": "Additional processing time in days",
            "format": "int32"
          },
          "metaDescription": {
            "type": "string",
            "description": "Meta description for SEO (first 255 chars)"
          },
          "titleTag": {
            "type": "string",
            "description": "Title tag for SEO (first 255 chars)"
          },
          "metaKeywords": {
            "type": "string",
            "description": "Meta keywords for SEO (first 255 chars)"
          },
          "languageId": {
            "description": "Language ID for descriptions",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "companyId": {
            "description": "Company ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemOverview.SerialNumberTrackingMode": {
        "type": "integer",
        "description": "0 = None, 1 = Outgoing, 2 = OutgoingIncoming, 3 = All",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Outgoing",
          "OutgoingIncoming",
          "All"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemSupplierOverview.ItemSupplierListItem": {
        "type": "object",
        "description": "A single row of the item supplier overview.",
        "additionalProperties": false,
        "required": [
          "id",
          "itemId",
          "supplierId"
        ],
        "properties": {
          "id": {
            "description": "The ID of the item supplier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenArtikelKey"
          },
          "itemId": {
            "description": "The ID of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "supplierId": {
            "description": "The ID of the supplier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "supplierName": {
            "type": "string",
            "description": "The name of the supplier."
          },
          "supplierItemName": {
            "type": "string",
            "description": "The name of the item at the supplier (max 255 characters)."
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "The item number at the supplier (max 255 characters)."
          },
          "deliveryPeriod": {
            "type": "string",
            "description": "Delivery period as text (max 255 characters)."
          },
          "supplierCurrency": {
            "type": "string",
            "description": "Currency used by the supplier"
          },
          "isDropshippingSupported": {
            "type": "boolean",
            "description": "Indicates if the supplier supports dropshipping."
          },
          "isDropshippingActive": {
            "type": "boolean",
            "description": "Indicates if this item uses dropshipping from the supplier."
          },
          "isDefaultSupplier": {
            "type": "boolean",
            "description": "Indicates if this supplier is the default supplier for the item."
          },
          "isDefaultDropshippingSupplier": {
            "type": "boolean",
            "description": "Indicates if this supplier is the default dropshipping supplier for the item."
          },
          "minimumPurchaseQuantity": {
            "type": "integer",
            "description": "Minimum purchase quantity of the item at the supplier.",
            "format": "int32"
          },
          "stockLevel": {
            "type": "number",
            "description": "Stock level of the item at the supplier.",
            "format": "decimal"
          },
          "averageDeliveryTime": {
            "type": "number",
            "description": "Average delivery time based on historical data.",
            "format": "decimal"
          },
          "stockLevelLastModified": {
            "type": "string",
            "description": "Date when the stock level was last updated.",
            "format": "date-time"
          },
          "includeSupplierStock": {
            "type": "boolean",
            "description": "Whether to include the supplier's stock in own inventory."
          },
          "supplierDeliveryTimeInDays": {
            "type": "integer",
            "description": "The delivery time of the supplier.",
            "format": "int32"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time for this item at the supplier (in days).",
            "format": "int32"
          },
          "useSupplierDeliveryTime": {
            "type": "boolean",
            "description": "Whether to use the supplier's delivery time directly."
          },
          "packageUnitDescription": {
            "type": "string",
            "description": "Description of the packaging unit."
          },
          "packageUnitQuantity": {
            "type": "number",
            "description": "Quantity per packaging unit.",
            "format": "decimal"
          },
          "notes": {
            "type": "string",
            "description": "Additional notes (max 512 characters)."
          },
          "purchaseInterval": {
            "type": "number",
            "description": "Purchase interval for this item at the supplier.",
            "format": "decimal"
          },
          "netPurchasePrice": {
            "type": "number",
            "description": "Net purchase price of the item at the supplier.",
            "format": "decimal"
          },
          "vatRate": {
            "type": "number",
            "description": "VAT rate of the item at the supplier.",
            "format": "decimal"
          },
          "scalePrices": {
            "type": "array",
            "description": "Scale prices defined by the supplier for this item.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemSupplierOverview.ItemSupplierPriceListItem"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemSupplierOverview.ItemSupplierPriceListItem": {
        "type": "object",
        "description": "Model Class: ItemSupplierPriceListItem ",
        "additionalProperties": false,
        "required": [
          "fromQuantity",
          "usePercentageDiscount"
        ],
        "properties": {
          "fromQuantity": {
            "type": "number",
            "description": "Quantity from which the price applies. This value is not editable. To change it, a new scale must be created.",
            "format": "decimal"
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for this scale.",
            "format": "decimal"
          },
          "usePercentageDiscount": {
            "type": "boolean",
            "description": "Indicates whether the scale uses a percentage discount of the NetPurchasePrice."
          },
          "percentageDiscount": {
            "type": "number",
            "description": "The percentage discount applied in this scale.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ItemTypes.ItemTypeListItem": {
        "type": "object",
        "description": "A single row of the item type information.",
        "additionalProperties": false,
        "required": [
          "id",
          "isStockItem",
          "hasStock",
          "isSerialNumberItem",
          "isDivisibleStock",
          "stockHasExpirationDate",
          "stockIsBatch",
          "isBillOfMaterials",
          "isBillOfMaterialsComponent",
          "isVariationCombinationParent",
          "isVariationCombinationChild",
          "hasVariations",
          "isVoucher",
          "isPackaging",
          "hasConfigurationGroup",
          "isConfigurationComponent"
        ],
        "properties": {
          "id": {
            "description": "The ID of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "isStockItem": {
            "type": "boolean",
            "description": "Indicates whether the item is managed as a stock item."
          },
          "hasStock": {
            "type": "boolean",
            "description": "Indicates whether the item currently has a positive stock quantity."
          },
          "isSerialNumberItem": {
            "type": "boolean",
            "description": "Indicates whether the item requires serial number tracking."
          },
          "isDivisibleStock": {
            "type": "boolean",
            "description": "Indicates whether the item can be divided into partial quantities."
          },
          "stockHasExpirationDate": {
            "type": "boolean",
            "description": "Indicates whether the item has an expiration or best-before date (MHD)."
          },
          "stockIsBatch": {
            "type": "boolean",
            "description": "Indicates whether the item is managed as a batch or lot item."
          },
          "isBillOfMaterials": {
            "type": "boolean",
            "description": "Indicates whether the item is a bill of materials (BOM / Stückliste)."
          },
          "isBillOfMaterialsComponent": {
            "type": "boolean",
            "description": "Indicates whether the item is used as a component within a bill of materials."
          },
          "isVariationCombinationParent": {
            "type": "boolean",
            "description": "Indicates whether the item is a parent of a variation combination."
          },
          "isVariationCombinationChild": {
            "type": "boolean",
            "description": "Indicates whether the item is a child (variant) of a variation combination."
          },
          "hasVariations": {
            "type": "boolean",
            "description": "Indicates whether the item has variations defined."
          },
          "isVoucher": {
            "type": "boolean",
            "description": "Indicates whether the item represents a voucher."
          },
          "isPackaging": {
            "type": "boolean",
            "description": "Indicates whether the item is a packaging item."
          },
          "hasConfigurationGroup": {
            "type": "boolean",
            "description": "Indicates whether the item has a configuration attached."
          },
          "isConfigurationComponent": {
            "type": "boolean",
            "description": "Indicates whether the item is a configuration component."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Manufacturer.ManufacturerListItem": {
        "type": "object",
        "description": "A single row of the manufacturer overview.",
        "additionalProperties": false,
        "required": [
          "id",
          "sortNumber",
          "name"
        ],
        "properties": {
          "id": {
            "description": "The ID of the manufacturer.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.HerstellerKey"
          },
          "sortNumber": {
            "type": "integer",
            "description": "The sort number of the manufacturer.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The default name of the manufacturer."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.CreateProductGroupsCommandRequest": {
        "type": "object",
        "description": "Creates new product groups. - Request",
        "additionalProperties": false,
        "required": [
          "names"
        ],
        "properties": {
          "names": {
            "type": "array",
            "description": "The names of the product groups.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.DeleteProductGroupsCommandRequest": {
        "type": "object",
        "description": "Deletes existing product groups. - Request",
        "additionalProperties": false,
        "required": [
          "ids"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "description": "The IDs of the product groups to be deleted.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.ProductGroupsListItem": {
        "type": "object",
        "description": "A single row of product group information.",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the product group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the product group."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.UpdateProductGroup": {
        "type": "object",
        "description": "Defines a product group.",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "The ID of the product group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "name": {
            "type": "string",
            "description": "The new name of the product group."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.UpdateProductGroupsCommandRequest": {
        "type": "object",
        "description": "Update the properties of product groups. - Request",
        "additionalProperties": false,
        "required": [
          "productGroups"
        ],
        "properties": {
          "productGroups": {
            "type": "array",
            "description": "The IDs of the product groups to be updated.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ProductGroups.UpdateProductGroup"
            }
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.SalesChannels.UpdateItemSalesChannelsCommandRequest": {
        "type": "object",
        "description": "Updates the active sales channels for a set of items. - Request",
        "additionalProperties": false,
        "required": [
          "itemKeys"
        ],
        "properties": {
          "itemKeys": {
            "type": "array",
            "description": "The items to update.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
            }
          },
          "activateSalesChannels": {
            "type": "array",
            "description": "The sales channels to activate for the item set.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          },
          "deactivateSalesChannels": {
            "type": "array",
            "description": "The sales channels to deactivate for the item set.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          },
          "applyToChildItems": {
            "type": "boolean",
            "description": "Should sales channel update be applied to child items."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.CreateShippingClassCommandRequest": {
        "type": "object",
        "description": "Creates a new shipping class. - Request",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the shipping class."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.CreateShippingClassCommandResponse": {
        "type": "object",
        "description": "Creates a new shipping class. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the newly created shipping class.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandklasseKey"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.ShippingClass.ShippingClassListItem": {
        "type": "object",
        "description": "A single row of the shipping class overview.",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "The ID of the shipping class.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandklasseKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the shipping class."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Stock.ItemStock": {
        "type": "object",
        "description": "An item's stock, aggregated over all warehouses.",
        "additionalProperties": false,
        "required": [
          "totalQuantity",
          "availableQuantity"
        ],
        "properties": {
          "totalQuantity": {
            "type": "number",
            "description": "The total quantity of an item: its total physical stock over all warehouses, including quantities that are reserved for orders or locked.",
            "format": "decimal"
          },
          "availableQuantity": {
            "type": "number",
            "description": "The available quantity of an item: the freely disposable quantity over all warehouses. For a plain stock item it consists of physical warehouse stock plus virtual and supplier stock, minus the quantity committed to open sales orders, minus stock locked for availability, plus stock currently being transferred out of a locked warehouse. The item's own buffer is NOT subtracted - subtract StorageConstraints.Buffer (on GET items/{itemId}) yourself if \"available minus buffer\" is what you need. This value is NOT derivable from TotalQuantity: the two are built from different terms - TotalQuantity excludes virtual stock while this value includes it, and this value additionally adds back stock inbound from a locked warehouse. It can therefore legitimately exceed TotalQuantity, and it may be negative for items that permit overselling. If the item has no stock management (StorageConstraints.IsInventoryManagementActive is false), this value is 0 by definition, regardless of any physical stock present. Parent items derive the value from their children, and the two parent kinds differ. For a bill-of-materials item it is the number of complete kits that can be built: the MINIMUM over its components of (the component's own available quantity minus that COMPONENT's buffer) divided by the quantity the component contributes per kit, rounded down unless the parent item is divisible; a component without stock management counts as unlimited. For a variation-combination parent it is the SUM over its variations, counting only variations that have stock management and a positive available quantity - so a variation without stock management, or with a negative quantity, contributes 0.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Category.CreateCategoryRequest": {
        "type": "object",
        "description": "Request model for CreateCategory command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "parentId": {
            "description": "The ID of the parent category of the category.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "sortNumber": {
            "type": "integer",
            "description": "The sort number of the category.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the category."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Category.DeleteCategoryRequest": {
        "type": "object",
        "description": "Request model for DeleteCategory command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Category.GetCategoryByIdRequest": {
        "type": "object",
        "description": "Request model for GetCategoryById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Category.QueryCategoriesRequest": {
        "type": "object",
        "description": "Request model for QueryCategories query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Category.UpdateCategoryRequest": {
        "type": "object",
        "description": "Request model for UpdateCategory command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "parentId": {
            "description": "The ID of the parent category of the category.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "sortNumber": {
            "type": "integer",
            "description": "The sort number of the category.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the category."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.CompanyOverview.QueryCompaniesRequest": {
        "type": "object",
        "description": "Request model for QueryCompanies query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.CustomFields.QueryCustomFieldsRequest": {
        "type": "object",
        "description": "Request model for QueryCustomFields query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.ChangeStockItemRequest": {
        "type": "object",
        "description": "Request model for ChangeStockItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "stockManagement": {
            "description": "The stock management settings to change. Omitted settings keep their current value.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.UpdateItemStockManagement"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.ConvertStandardItemToStockItemRequest": {
        "type": "object",
        "description": "Request model for ConvertStandardItemToStockItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "stockManagement"
        ],
        "properties": {
          "stockManagement": {
            "description": "The stock management configuration the item receives. All mandatory settings must be supplied.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemStockManagement"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.ConvertStockItemToStandardItemRequest": {
        "type": "object",
        "description": "Request model for ConvertStockItemToStandardItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "writeOffExistingStock": {
            "type": "boolean",
            "description": "Determines what happens when the item still has stock. When false or omitted, the conversion is rejected with HTTP 409 and the stock is left untouched. When true, the existing stock is written off as part of the conversion. Defaults to false, so stock is never written off implicitly."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Itemdetails.CreateStockItemRequest": {
        "type": "object",
        "description": "Request model for CreateStockItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "categories",
          "identifiers",
          "descriptions",
          "stockManagement"
        ],
        "properties": {
          "productGroupId": {
            "description": "The ID of the product group to which the item should be assigned. Product groups serve for categorical classification of items for reports and analyses.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "shippingClassId": {
            "description": "The ID of the shipping class to which the item should be assigned.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandklasseKey"
          },
          "manufacturerId": {
            "description": "The ID of the manufacturer to which the item should be assigned.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.HerstellerKey"
          },
          "categories": {
            "description": "Category assignments of the item. Defines all categories to which the item should be assigned for better organization and navigation.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCategories"
          },
          "identifiers": {
            "description": "Identifiers of the item with all relevant markings and numbers for unique identification of the item in various systems.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemIdentifiers"
          },
          "descriptions": {
            "description": "Descriptions of the item in different languages and for different platforms/sales channels. Includes names, short and long descriptions as well as SEO-relevant information.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemDescriptions"
          },
          "prices": {
            "description": "Price structures of the item for different sales channels, customer groups and individual customers. Includes sales prices, purchase prices and tier prices.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemPrices"
          },
          "suppliers": {
            "description": "Suppliers associated with the item including supplier-specific information such as purchase prices, delivery times and order intervals.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSuppliers"
          },
          "measurements": {
            "description": "Physical dimensions and weight specifications of the item for storage, shipping and product presentation. Important for shipping cost calculations and storage space optimization.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemMeasurements"
          },
          "customFields": {
            "description": "Custom fields defined for the item to store additional information. Useful for special requirements or integrations.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCustomFields"
          },
          "variations": {
            "description": "Variations of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemVariations"
          },
          "features": {
            "description": "Features of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemFeatures"
          },
          "attributes": {
            "description": "Attributes of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemAttributes"
          },
          "unitPricing": {
            "description": "UnitPricing information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemUnitPricing"
          },
          "specialPrices": {
            "description": "SpecialPrices information of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemSpecialPrices"
          },
          "crosssellingGroups": {
            "description": "CrosssellingGroups of an item",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemCrosssellingGroups"
          },
          "stockManagement": {
            "description": "Stock management configuration of the item. Mandatory - it is what makes this a stock item, and it replaces the optional storageConstraints block and its isInventoryManagementActive switch on POST /v2/items.",
            "$ref": "#/components/schemas/JTL.Wawi.Item.PublicApi.DataTransferObjects.V2.Itemdetails.CreateItemStockManagement"
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.ItemOverview.QueryItemsRequest": {
        "type": "object",
        "description": "Request model for QueryItems query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.ItemSupplierOverview.QueryItemSuppliersByIdRequest": {
        "type": "object",
        "description": "Request model for QueryItemSuppliersById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.ItemTypes.QueryItemTypesRequest": {
        "type": "object",
        "description": "Request model for QueryItemTypes query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Manufacturer.QueryManufacturersRequest": {
        "type": "object",
        "description": "Request model for QueryManufacturers query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.ProductGroups.QueryProductGroupsRequest": {
        "type": "object",
        "description": "Request model for QueryProductGroups query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.SalesChannels.ActivateSalesChannelForItemRequest": {
        "type": "object",
        "description": "Request model for ActivateSalesChannelForItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "includeItemImages": {
            "type": "boolean",
            "description": "Specifies whether all item images assigned to the item at the time of the call should be activated for the specified sales channel. Defaults to false when omitted. If the sales channel is already activated for the specified item, this setting has no effect. The activation of item images for a sales channel is retained even if the sales channel is deactivated for an item, in order to restore the original state when the channel is reactivated."
          }
        }
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.SalesChannels.DeactivateSalesChannelForItemRequest": {
        "type": "object",
        "description": "Request model for DeactivateSalesChannelForItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.ShippingClass.QueryShippingClassesRequest": {
        "type": "object",
        "description": "Request model for QueryShippingClasses query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Item.PublicApi.Endpoints.V2.Stock.GetStockByItemIdRequest": {
        "type": "object",
        "description": "Request model for GetStockByItemId query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Kundenverwaltung.Core.Contracts.CustomerDomain.Queries.CustomerSearchField": {
        "type": "integer",
        "description": "1 = Name, 2 = CompanyName, 3 = AdditionalCompanyLine, 4 = EmailAddress, 5 = EbayName, 6 = PhoneNumber, 7 = VatId, 8 = Street, 9 = City, 10 = PostalCode, 11 = CustomerNumber, 12 = MobilePhoneNumber",
        "format": "int32",
        "x-enumNames": [
          "Name",
          "CompanyName",
          "AdditionalCompanyLine",
          "EmailAddress",
          "EbayName",
          "PhoneNumber",
          "VatId",
          "Street",
          "City",
          "PostalCode",
          "CustomerNumber",
          "MobilePhoneNumber"
        ],
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      },
      "JTL.Wawi.Kundenverwaltung.Core.Contracts.CustomerDomain.Queries.CustomerSearchOperator": {
        "type": "integer",
        "description": "0 = StartsWith, 1 = Contains",
        "format": "int32",
        "x-enumNames": [
          "StartsWith",
          "Contains"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Channel.MarketplaceChannelInvoiceDocumentTransferType": {
        "type": "integer",
        "description": "0 = NotSupported, 1 = FromSeller, 2 = FromChannel",
        "format": "int32",
        "x-enumNames": [
          "NotSupported",
          "FromSeller",
          "FromChannel"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Channel.MarketplaceChannelListItem": {
        "type": "object",
        "description": "Flat read model of a marketplace channel catalog entry from SCX.tChannel.",
        "additionalProperties": false,
        "required": [
          "id",
          "channel",
          "displayName",
          "currency",
          "isVariationsSupported",
          "isRemainingQuantitySupported",
          "isQuantityPriceSupported",
          "isPriceUpdatesSupported",
          "isReturnTrackingRequired",
          "isAllowCombineOrders",
          "invoiceDocumentTransfer"
        ],
        "properties": {
          "id": {
            "description": "ID of the channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey"
          },
          "channel": {
            "type": "string",
            "description": "Unique channel name."
          },
          "displayName": {
            "type": "string",
            "description": "Channel name shown in the UI."
          },
          "currency": {
            "type": "string",
            "description": "Currency supported by the channel according to ISO 4217."
          },
          "isVariationsSupported": {
            "type": "boolean",
            "description": "Channel supports variations."
          },
          "isRemainingQuantitySupported": {
            "type": "boolean",
            "description": "Channel supports remaining quantity updates."
          },
          "isQuantityPriceSupported": {
            "type": "boolean",
            "description": "Channel supports quantity prices."
          },
          "isPriceUpdatesSupported": {
            "type": "boolean",
            "description": "Channel supports price updates."
          },
          "isReturnTrackingRequired": {
            "type": "boolean",
            "description": "Channel requires return tracking."
          },
          "isAllowCombineOrders": {
            "type": "boolean",
            "description": "Channel allows combining orders."
          },
          "invoiceDocumentTransfer": {
            "description": "Invoice document transfer mode.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Channel.MarketplaceChannelInvoiceDocumentTransferType"
          },
          "parentChannelId": {
            "description": "ID of the parent channel, or null for a platform channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ExcludeMarketplaceInvoiceCorrectionFromUploadCommandRequest": {
        "type": "object",
        "description": "Exclude marketplace invoice corrections from upload. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "Marketplace order keys of invoice corrections to exclude from upload.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ExcludeMarketplaceInvoiceCorrectionPdfFromUploadCommandRequest": {
        "type": "object",
        "description": "Exclude marketplace invoice correction PDFs from upload. - Request",
        "additionalProperties": false,
        "required": [
          "documentUploadQueueKeys"
        ],
        "properties": {
          "documentUploadQueueKeys": {
            "type": "array",
            "description": "Upload document IDs of invoice correction PDFs to exclude from upload.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxBelegUploadQueueKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ExcludeMarketplaceInvoicePdfFromUploadCommandRequest": {
        "type": "object",
        "description": "Exclude marketplace invoice PDFs from upload. - Request",
        "additionalProperties": false,
        "required": [
          "documentUploadQueueKeys"
        ],
        "properties": {
          "documentUploadQueueKeys": {
            "type": "array",
            "description": "Upload document IDs of invoice PDFs to exclude from upload.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxBelegUploadQueueKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionPdfUploadListItem": {
        "type": "object",
        "description": "Single row of the invoice correction PDF upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "shopId",
          "sellerId",
          "salesOrderId",
          "salesChannelDisplayName",
          "salesOrderNumber",
          "externalSalesOrderNumber",
          "invoiceCorrectionNumber",
          "invoiceCorrectionGrossAmount",
          "salesOrderGrossAmount",
          "createdAt",
          "printAttemptCount",
          "uploadAttemptCount",
          "printStatus",
          "uploadStatus",
          "status"
        ],
        "properties": {
          "id": {
            "description": "ID of the document upload queue entry.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxBelegUploadQueueKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "invoiceCorrectionNumber": {
            "type": "string",
            "description": "Invoice correction number."
          },
          "invoiceCorrectionCreatedAt": {
            "type": "string",
            "description": "Invoice correction creation timestamp.",
            "format": "date-time"
          },
          "invoiceCorrectionGrossAmount": {
            "type": "number",
            "description": "Invoice correction gross amount.",
            "format": "decimal"
          },
          "salesOrderGrossAmount": {
            "type": "number",
            "description": "Sales order gross amount.",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "UTC timestamp when the queue entry was created.",
            "format": "date-time"
          },
          "printAttemptCount": {
            "type": "integer",
            "description": "Number of print attempts.",
            "format": "int32"
          },
          "uploadAttemptCount": {
            "type": "integer",
            "description": "Number of upload attempts.",
            "format": "int32"
          },
          "printStartedAt": {
            "type": "string",
            "description": "UTC timestamp when PDF generation started.",
            "format": "date-time"
          },
          "printCompletedAt": {
            "type": "string",
            "description": "UTC timestamp when PDF generation finished.",
            "format": "date-time"
          },
          "uploadCompletedAt": {
            "type": "string",
            "description": "UTC timestamp when upload to the channel succeeded.",
            "format": "date-time"
          },
          "message": {
            "type": "string",
            "description": "Status message."
          },
          "printAttemptsRemaining": {
            "type": "integer",
            "description": "Remaining print attempts.",
            "format": "int32"
          },
          "printStatus": {
            "description": "Print status of the invoice correction PDF.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfPrintStatus"
          },
          "uploadAttemptsRemaining": {
            "type": "integer",
            "description": "Remaining upload attempts.",
            "format": "int32"
          },
          "uploadStatus": {
            "description": "Upload status of the invoice correction PDF.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfUploadStatus"
          },
          "status": {
            "description": "Overall queue status.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceUploadQueueStatus"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadLineItemListItem": {
        "type": "object",
        "description": "Single row of the invoice correction upload line item overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "orderId",
          "quantity",
          "amount"
        ],
        "properties": {
          "id": {
            "description": "ID of the order item.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderItemKey"
          },
          "orderId": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the line item.",
            "format": "decimal"
          },
          "articleNumber": {
            "type": "string",
            "description": "Article number."
          },
          "articleName": {
            "type": "string",
            "description": "Article name."
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "decimal"
          },
          "currency": {
            "type": "string",
            "description": "Currency."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadListItem": {
        "type": "object",
        "description": "Single row of the invoice correction upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "shopId",
          "sellerId",
          "salesOrderId",
          "salesChannelDisplayName",
          "salesOrderNumber",
          "invoiceCorrectionGrossAmount",
          "status"
        ],
        "properties": {
          "id": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "invoiceCorrectionNumber": {
            "type": "string",
            "description": "Invoice correction number."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "invoiceCorrectionGrossAmount": {
            "type": "number",
            "description": "Invoice correction gross amount.",
            "format": "decimal"
          },
          "refundUploadFailedAt": {
            "type": "string",
            "description": "Timestamp of the last failed refund upload in UTC.",
            "format": "date-time"
          },
          "refundUploadCount": {
            "type": "integer",
            "description": "Number of refund upload attempts.",
            "format": "int32"
          },
          "uploadCountRemaining": {
            "type": "integer",
            "description": "Remaining upload attempt count.",
            "format": "int32"
          },
          "status": {
            "description": "Status of the invoice correction upload.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadStatus"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoiceCorrectionUploadStatus": {
        "type": "integer",
        "description": "1 = WaitingForUpload, 2 = Error",
        "format": "int32",
        "x-enumNames": [
          "WaitingForUpload",
          "Error"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfPrintStatus": {
        "type": "integer",
        "description": "1 = HasRemainingAttempts, 2 = NoRemainingAttempts, 3 = PdfGenerated",
        "format": "int32",
        "x-enumNames": [
          "HasRemainingAttempts",
          "NoRemainingAttempts",
          "PdfGenerated"
        ],
        "enum": [
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfUploadListItem": {
        "type": "object",
        "description": "Single row of the invoice PDF upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "shopId",
          "sellerId",
          "salesOrderId",
          "salesChannelDisplayName",
          "salesOrderNumber",
          "externalSalesOrderNumber",
          "invoiceNumber",
          "invoiceCreatedAt",
          "invoiceGrossAmount",
          "salesOrderGrossAmount",
          "createdAt",
          "printAttemptCount",
          "uploadAttemptCount",
          "printStatus",
          "uploadStatus",
          "status"
        ],
        "properties": {
          "id": {
            "description": "ID of the document upload queue entry.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxBelegUploadQueueKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice number."
          },
          "invoiceCreatedAt": {
            "type": "string",
            "description": "Invoice creation timestamp.",
            "format": "date-time"
          },
          "invoiceGrossAmount": {
            "type": "number",
            "description": "Invoice gross amount.",
            "format": "decimal"
          },
          "salesOrderGrossAmount": {
            "type": "number",
            "description": "Sales order gross amount.",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "UTC timestamp when the queue entry was created.",
            "format": "date-time"
          },
          "printAttemptCount": {
            "type": "integer",
            "description": "Number of print attempts.",
            "format": "int32"
          },
          "uploadAttemptCount": {
            "type": "integer",
            "description": "Number of upload attempts.",
            "format": "int32"
          },
          "printStartedAt": {
            "type": "string",
            "description": "UTC timestamp when PDF generation started.",
            "format": "date-time"
          },
          "printCompletedAt": {
            "type": "string",
            "description": "UTC timestamp when PDF generation finished.",
            "format": "date-time"
          },
          "uploadCompletedAt": {
            "type": "string",
            "description": "UTC timestamp when upload to the channel succeeded.",
            "format": "date-time"
          },
          "message": {
            "type": "string",
            "description": "Status message."
          },
          "printAttemptsRemaining": {
            "type": "integer",
            "description": "Remaining print attempts.",
            "format": "int32"
          },
          "printStatus": {
            "description": "Print status of the invoice PDF.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfPrintStatus"
          },
          "uploadAttemptsRemaining": {
            "type": "integer",
            "description": "Remaining upload attempts.",
            "format": "int32"
          },
          "uploadStatus": {
            "description": "Upload status of the invoice PDF.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfUploadStatus"
          },
          "status": {
            "description": "Overall queue status.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceUploadQueueStatus"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceInvoicePdfUploadStatus": {
        "type": "integer",
        "description": "1 = HasRemainingAttempts, 2 = NoRemainingAttempts, 3 = UploadCompleted",
        "format": "int32",
        "x-enumNames": [
          "HasRemainingAttempts",
          "NoRemainingAttempts",
          "UploadCompleted"
        ],
        "enum": [
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.MarketplaceUploadQueueStatus": {
        "type": "integer",
        "description": "0 = WaitingForPdfGeneration, 1 = QueuedForPdfGeneration, 2 = PdfGenerationStarted, 3 = WaitingForUpload, 4 = UploadCompleted",
        "format": "int32",
        "x-enumNames": [
          "WaitingForPdfGeneration",
          "QueuedForPdfGeneration",
          "PdfGenerationStarted",
          "WaitingForUpload",
          "UploadCompleted"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ResetMarketplaceInvoiceCorrectionPdfUploadCounterCommandRequest": {
        "type": "object",
        "description": "Reset the upload counter for marketplace invoice correction PDFs. - Request",
        "additionalProperties": false,
        "required": [
          "documentUploadQueueKeys"
        ],
        "properties": {
          "documentUploadQueueKeys": {
            "type": "array",
            "description": "The invoice correction PDF upload queue entries for which the upload counter should be reset.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxBelegUploadQueueKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ResetMarketplaceInvoiceCorrectionUploadCounterCommandRequest": {
        "type": "object",
        "description": "Reset the upload counter for marketplace invoice corrections. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "The invoice corrections for which the upload counter should be reset.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Invoicing.ResetMarketplaceInvoicePdfPrintingCommandRequest": {
        "type": "object",
        "description": "Resets PDF generation for marketplace invoices/invoice corrections so they can be reprinted and uploaded again. - Request",
        "additionalProperties": false,
        "required": [
          "documentUploadQueueKeys"
        ],
        "properties": {
          "documentUploadQueueKeys": {
            "type": "array",
            "description": "Upload document IDs of the invoices/invoice corrections to reset PDF generation.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxBelegUploadQueueKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationDetailListItem": {
        "type": "object",
        "description": "Single row of the notification detail overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "notificationId"
        ],
        "properties": {
          "id": {
            "description": "ID of the notification detail.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationDetailKey"
          },
          "notificationId": {
            "description": "ID of the notification.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationKey"
          },
          "code": {
            "type": "string",
            "description": "Detail code of the notification."
          },
          "message": {
            "type": "string",
            "description": "Detailed message of the notification."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationListItem": {
        "type": "object",
        "description": "Single Row of the notification overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "eventId",
          "creationDate",
          "severity",
          "notificationType",
          "isRead",
          "shopId",
          "channel"
        ],
        "properties": {
          "id": {
            "description": "ID of the notification.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationKey"
          },
          "referenceId": {
            "description": "Reference key associated with the notification.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationReferenceKey"
          },
          "eventId": {
            "type": "string",
            "description": "Event identifier that triggered this notification."
          },
          "creationDate": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "severity": {
            "description": "Severity level of the notification.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationSeverity"
          },
          "notificationType": {
            "description": "Type of the notification.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationType"
          },
          "reference": {
            "type": "string",
            "description": "Optional reference string providing additional context."
          },
          "isRead": {
            "type": "boolean",
            "description": "Whether the notification has been read."
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "orderCancellationRequestId": {
            "type": "string",
            "description": "Optional order cancellation request identifier."
          },
          "shortMessage": {
            "type": "string",
            "description": "Optional short message summarizing the notification."
          },
          "channel": {
            "type": "string",
            "description": "Name of the marketplace channel."
          },
          "shopName": {
            "type": "string",
            "description": "Optional display name of the shop."
          },
          "offerTitle": {
            "type": "string",
            "description": "Optional title of the associated offer."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationSeverity": {
        "type": "integer",
        "description": "1 = Info, 2 = Warning, 3 = Error",
        "format": "int32",
        "x-enumNames": [
          "Info",
          "Warning",
          "Error"
        ],
        "enum": [
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Notifications.MarketplaceNotificationType": {
        "type": "integer",
        "description": "1 = Offers, 2 = Orders, 3 = Returns, 4 = CreditNotes, 5 = OutdatedCategoriesInOffers, 6 = Invoices, 7 = MetaDataChanged",
        "format": "int32",
        "x-enumNames": [
          "Offers",
          "Orders",
          "Returns",
          "CreditNotes",
          "OutdatedCategoriesInOffers",
          "Invoices",
          "MetaDataChanged"
        ],
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.AssignItemToMarketplaceOfferCommandRequest": {
        "type": "object",
        "description": "Assigns the specified item to the specified marketplace offer. - Request",
        "additionalProperties": false,
        "required": [
          "offerKey",
          "artikelKey",
          "categoryKey"
        ],
        "properties": {
          "offerKey": {
            "description": "Marketplace offer key identifying the offer the item will be assigned to.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
          },
          "artikelKey": {
            "description": "Article key identifying the item to assign to the marketplace offer.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "categoryKey": {
            "description": "Marketplace category key identifying the category the offer belongs to.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxCategoryKey"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.DeleteMarketplaceOfferCommandRequest": {
        "type": "object",
        "description": "Deletes the specified marketplace offers. - Request",
        "additionalProperties": false,
        "required": [
          "offerKeys",
          "removeDataFromItem"
        ],
        "properties": {
          "offerKeys": {
            "type": "array",
            "description": "Marketplace offer keys to delete.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          },
          "removeDataFromItem": {
            "type": "boolean",
            "description": "If true, related marketplace assignment data is removed from items as well."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.EndMarketplaceOfferCommandRequest": {
        "type": "object",
        "description": "Ends the specified marketplace offers for a shop. - Request",
        "additionalProperties": false,
        "required": [
          "shopKey",
          "offerKeys"
        ],
        "properties": {
          "shopKey": {
            "description": "Shop key identifying the shop where the offers are listed.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "offerKeys": {
            "type": "array",
            "description": "Marketplace offer keys to end.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferFailureListItem": {
        "type": "object",
        "description": "Single row of the offer failure list.",
        "additionalProperties": false,
        "required": [
          "id",
          "offerId",
          "code",
          "message",
          "createdAt"
        ],
        "properties": {
          "id": {
            "description": "ID of the offer failure.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferFailureKey"
          },
          "offerId": {
            "description": "ID of the associated offer.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
          },
          "code": {
            "type": "string",
            "description": "Error code."
          },
          "message": {
            "type": "string",
            "description": "Short error message."
          },
          "longMessage": {
            "type": "string",
            "description": "Detailed error message."
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp (UTC).",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferListItem": {
        "type": "object",
        "description": "Single row of the marketplace offer overview list.",
        "additionalProperties": false,
        "required": [
          "offerId",
          "shopId",
          "shopScxId",
          "quantity",
          "companyId",
          "offerType",
          "offerStatus",
          "isListed",
          "deletionIntervalPendingOffer",
          "isExtern",
          "stockUpdateEnabled"
        ],
        "properties": {
          "offerId": {
            "description": "ID of the offer.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
          },
          "itemId": {
            "description": "ID of the linked article.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sKU": {
            "type": "string",
            "description": "Stock keeping unit."
          },
          "productNumber": {
            "type": "string",
            "description": "Product number of the article."
          },
          "offerTitle": {
            "type": "string",
            "description": "Title of the offer."
          },
          "channelName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "channelId": {
            "description": "ID of the channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey"
          },
          "channel": {
            "type": "string",
            "description": "Internal channel identifier."
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "shopScxId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "quantity": {
            "type": "number",
            "description": "Current quantity.",
            "format": "decimal"
          },
          "expirationDate": {
            "type": "string",
            "description": "Expiration date of the offer.",
            "format": "date-time"
          },
          "categoryId": {
            "description": "ID of the channel category.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxCategoryKey"
          },
          "channelCategoryId": {
            "type": "string",
            "description": "Channel-specific category identifier."
          },
          "channelCategoryName": {
            "type": "string",
            "description": "Display name of the channel category."
          },
          "netPrice": {
            "type": "number",
            "description": "Net price of the offer.",
            "format": "decimal"
          },
          "percent": {
            "type": "number",
            "description": "Percentage discount.",
            "format": "decimal"
          },
          "priceId": {
            "description": "ID of the price entry.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.Artikel.PreisKey"
          },
          "customerGroupId": {
            "description": "ID of the customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "salePriceNet": {
            "type": "number",
            "description": "Net sale price from the article.",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "ID of the tax class.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "companyId": {
            "description": "ID of the company.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "currency": {
            "type": "string",
            "description": "Currency code of the channel."
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available stock quantity.",
            "format": "decimal"
          },
          "quantityInOrders": {
            "type": "number",
            "description": "Quantity reserved in orders.",
            "format": "decimal"
          },
          "inboundQuantity": {
            "type": "number",
            "description": "Expected inbound quantity.",
            "format": "decimal"
          },
          "gTIN": {
            "type": "string",
            "description": "Global Trade Item Number."
          },
          "productWeight": {
            "type": "number",
            "description": "Product weight.",
            "format": "decimal"
          },
          "mPN": {
            "type": "string",
            "description": "Manufacturer Part Number."
          },
          "iSBN": {
            "type": "string",
            "description": "International Standard Book Number."
          },
          "aSIN": {
            "type": "string",
            "description": "Amazon Standard Identification Number."
          },
          "manufacturer": {
            "type": "string",
            "description": "Name of the manufacturer."
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "Net purchase price.",
            "format": "decimal"
          },
          "activeSince": {
            "type": "string",
            "description": "Timestamp since the offer is active.",
            "format": "date-time"
          },
          "processingTime": {
            "type": "integer",
            "description": "Processing time in days.",
            "format": "int32"
          },
          "inboundAvailableAt": {
            "type": "string",
            "description": "Date when inbound stock becomes available.",
            "format": "date-time"
          },
          "offerType": {
            "description": "Type of the offer.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferType"
          },
          "offerStatus": {
            "description": "Combined lifecycle and action status of the offer.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferViewStatus"
          },
          "listingUrl": {
            "type": "string",
            "description": "URL of the offer listing on the channel."
          },
          "isListed": {
            "type": "boolean",
            "description": "Whether the offer is currently listed."
          },
          "salesChannelItemDataId": {
            "type": "integer",
            "description": "ID of the sales channel article data.",
            "format": "int32"
          },
          "minimumStock": {
            "type": "number",
            "description": "Minimum stock threshold.",
            "format": "decimal"
          },
          "maximumStock": {
            "type": "number",
            "description": "Maximum stock threshold.",
            "format": "decimal"
          },
          "lastUpload": {
            "type": "string",
            "description": "Timestamp of the last upload.",
            "format": "date-time"
          },
          "deletionIntervalPendingOffer": {
            "type": "integer",
            "description": "Number of days after which pending offers are deleted.",
            "format": "int32"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "isExtern": {
            "type": "boolean",
            "description": "Whether the offer is external."
          },
          "quantityUpdatedAt": {
            "type": "string",
            "description": "Timestamp when the quantity was last updated.",
            "format": "date-time"
          },
          "priceUpdatedAt": {
            "type": "string",
            "description": "Timestamp when the price was last updated. UTC.",
            "format": "date-time"
          },
          "statusReceivedAt": {
            "type": "string",
            "description": "Timestamp when the status was last received. UTC.",
            "format": "date-time"
          },
          "lastUploadedPrice": {
            "type": "number",
            "description": "Last uploaded price value.",
            "format": "decimal"
          },
          "stockUpdateEnabled": {
            "type": "boolean",
            "description": "Whether automatic stock updates are enabled for this seller."
          },
          "channelOfferId": {
            "type": "string",
            "description": "Channel-specific offer identifier."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferType": {
        "type": "integer",
        "description": "0 = WawiOffer, 1 = ExternalOffer",
        "format": "int32",
        "x-enumNames": [
          "WawiOffer",
          "ExternalOffer"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.MarketplaceOfferViewStatus": {
        "type": "integer",
        "description": "0 = NothingToDo, 1 = WaitingForUpload, 2 = Uploaded, 3 = InReview, 4 = Listed, 5 = Ended, 6 = Error, 100 = PendingCreation, 101 = PendingUpdate, 102 = PendingDeletion, 103 = TransferBlocked",
        "format": "int32",
        "x-enumNames": [
          "NothingToDo",
          "WaitingForUpload",
          "Uploaded",
          "InReview",
          "Listed",
          "Ended",
          "Error",
          "PendingCreation",
          "PendingUpdate",
          "PendingDeletion",
          "TransferBlocked"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          100,
          101,
          102,
          103
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.RemoveItemFromMarketplaceOfferCommandRequest": {
        "type": "object",
        "description": "Removes the item assignment from the specified marketplace offers. - Request",
        "additionalProperties": false,
        "required": [
          "offerKeys",
          "removeDataFromItem"
        ],
        "properties": {
          "offerKeys": {
            "type": "array",
            "description": "Marketplace offer keys identifying the offers from which the item assignment should be removed.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          },
          "removeDataFromItem": {
            "type": "boolean",
            "description": "If true, related marketplace assignment data is removed from items as well."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.SetMarketplaceOfferMaxQuantityCommandRequest": {
        "type": "object",
        "description": "Sets the maximum stock quantity for the specified marketplace offers. - Request",
        "additionalProperties": false,
        "required": [
          "offerKeys",
          "maxQuantity"
        ],
        "properties": {
          "offerKeys": {
            "type": "array",
            "description": "Marketplace offer keys to update.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          },
          "maxQuantity": {
            "type": "number",
            "description": "Maximum stock quantity to set for each specified marketplace offer.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.SetMarketplaceOfferMinQuantityCommandRequest": {
        "type": "object",
        "description": "Sets the minimum stock quantity for the specified marketplace offers. - Request",
        "additionalProperties": false,
        "required": [
          "offerKeys",
          "minQuantity"
        ],
        "properties": {
          "offerKeys": {
            "type": "array",
            "description": "Marketplace offer keys to update.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          },
          "minQuantity": {
            "type": "number",
            "description": "Minimum stock quantity to set for each specified marketplace offer.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.TriggerMarketplaceOfferSynchronisationCommandRequest": {
        "type": "object",
        "description": "Triggers offer synchronisation for the specified marketplace offers. - Request",
        "additionalProperties": false,
        "required": [
          "offerKeys"
        ],
        "properties": {
          "offerKeys": {
            "type": "array",
            "description": "Marketplace offer keys to include in the next offer synchronisation.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Offers.TriggerMarketplaceStockSynchronisationCommandRequest": {
        "type": "object",
        "description": "Triggers stock synchronisation for the specified marketplace offers. - Request",
        "additionalProperties": false,
        "required": [
          "offerKeys"
        ],
        "properties": {
          "offerKeys": {
            "type": "array",
            "description": "Marketplace offer keys to include in the next stock synchronisation.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.CancelMarketplaceOrderCancellationRequestUploadCommandRequest": {
        "type": "object",
        "description": "Cancel marketplace order cancellation request uploads. - Request",
        "additionalProperties": false,
        "required": [
          "orderCancellationEventKeys"
        ],
        "properties": {
          "orderCancellationEventKeys": {
            "type": "array",
            "description": "Marketplace order cancellation event keys whose upload should be cancelled.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderCancellationEventKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplaceOrderCancellationUploadFromUploadCommandRequest": {
        "type": "object",
        "description": "Exclude marketplace order cancellation uploads from upload. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "Marketplace order keys of cancellation uploads to exclude from upload.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplacePaymentUploadFromUploadCommandRequest": {
        "type": "object",
        "description": "Exclude marketplace payment uploads from upload. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "Marketplace order keys of payment uploads to exclude from upload.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplaceReturnUploadFromUploadCommandRequest": {
        "type": "object",
        "description": "Exclude marketplace return uploads from upload. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "Marketplace order keys of return uploads to exclude from upload.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ExcludeMarketplaceShippingInformationUploadFromUploadCommandRequest": {
        "type": "object",
        "description": "Exclude marketplace shipping information uploads from upload. - Request",
        "additionalProperties": false,
        "required": [
          "orderShippingKeys"
        ],
        "properties": {
          "orderShippingKeys": {
            "type": "array",
            "description": "Marketplace order shipping keys of shipping information uploads to exclude from upload.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderShippingKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentListItem": {
        "type": "object",
        "description": "Single row of the external document overview list.",
        "additionalProperties": false,
        "required": [
          "documentType",
          "origin",
          "grossTotal",
          "sellerId"
        ],
        "properties": {
          "invoiceId": {
            "description": "ID of the invoice.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "creditNoteId": {
            "description": "ID of the credit note.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "documentType": {
            "description": "Type of the external document.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentType"
          },
          "origin": {
            "description": "Origin of the external document.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentOrigin"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "invoiceDate": {
            "type": "string",
            "description": "Invoice date.",
            "format": "date-time"
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "grossTotal": {
            "type": "number",
            "description": "Gross total amount.",
            "format": "decimal"
          },
          "documentFileId": {
            "description": "ID of the associated document file.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FileKey"
          },
          "documentNumber": {
            "type": "string",
            "description": "Document number."
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "currency": {
            "type": "string",
            "description": "Currency code."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentOrigin": {
        "type": "integer",
        "description": "1 = Wawi, 2 = External",
        "format": "int32",
        "x-enumNames": [
          "Wawi",
          "External"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceExternalDocumentType": {
        "type": "integer",
        "description": "1 = Invoice, 2 = CreditNote",
        "format": "int32",
        "x-enumNames": [
          "Invoice",
          "CreditNote"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationRequestUploadListItem": {
        "type": "object",
        "description": "Single row of the order cancellation request upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "orderId",
          "shopId",
          "sellerId",
          "salesOrderNumber",
          "salesChannelDisplayName",
          "salesOrderId",
          "createdAt",
          "status",
          "uploadCount"
        ],
        "properties": {
          "id": {
            "description": "ID of the cancellation event.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderCancellationEventKey"
          },
          "orderId": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "uploadCountRemaining": {
            "type": "integer",
            "description": "Remaining upload attempt count.",
            "format": "int32"
          },
          "status": {
            "description": "Status of the cancellation request upload.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationRequestUploadStatus"
          },
          "uploadCount": {
            "type": "integer",
            "description": "Upload attempt count.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationRequestUploadStatus": {
        "type": "integer",
        "description": "1 = WaitingForUpload, 2 = Error",
        "format": "int32",
        "x-enumNames": [
          "WaitingForUpload",
          "Error"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationUploadListItem": {
        "type": "object",
        "description": "Single Row of the order cancellation upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "shopId",
          "sellerId",
          "cancellationUploadRequired",
          "salesOrderNumber",
          "salesChannelDisplayName",
          "salesOrderGrossAmount",
          "createdAt",
          "salesOrderId",
          "cancellationUploadCount",
          "uploadCountRemaining",
          "status"
        ],
        "properties": {
          "id": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "cancellationUploadRequired": {
            "type": "boolean",
            "description": "Indicates whether cancellation upload is required for the order."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "salesOrderGrossAmount": {
            "type": "number",
            "description": "Gross sales order amount.",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "cancellationUploadCount": {
            "type": "integer",
            "description": "Number of cancellation upload attempts.",
            "format": "int32"
          },
          "cancellationUploadFailedAt": {
            "type": "string",
            "description": "Timestamp of the last failed cancellation upload in UTC.",
            "format": "date-time"
          },
          "uploadCountRemaining": {
            "type": "integer",
            "description": "Remaining upload attempt count.",
            "format": "int32"
          },
          "status": {
            "description": "Status of the cancellation upload.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationUploadStatus"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceOrderCancellationUploadStatus": {
        "type": "integer",
        "description": "1 = WaitingForUpload, 2 = Error",
        "format": "int32",
        "x-enumNames": [
          "WaitingForUpload",
          "Error"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplacePaymentUploadListItem": {
        "type": "object",
        "description": "Single Row of the payment upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "shopId",
          "sellerId",
          "paymentUploadRequired",
          "salesOrderNumber",
          "salesChannelDisplayName",
          "salesOrderGrossAmount",
          "salesOrderPaymentGrossAmount",
          "createdAt",
          "salesOrderId",
          "paymentUploadCount",
          "uploadCountRemaining",
          "status"
        ],
        "properties": {
          "id": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "paymentUploadRequired": {
            "type": "boolean",
            "description": "Indicates whether payment upload is required for the order."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "salesOrderGrossAmount": {
            "type": "number",
            "description": "Gross sales order amount.",
            "format": "decimal"
          },
          "salesOrderPaymentGrossAmount": {
            "type": "number",
            "description": "Gross paid amount of the sales order.",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "paymentUploadCount": {
            "type": "integer",
            "description": "Number of payment upload attempts.",
            "format": "int32"
          },
          "paymentUploadFailedAt": {
            "type": "string",
            "description": "Timestamp of the last failed payment upload in UTC.",
            "format": "date-time"
          },
          "uploadCountRemaining": {
            "type": "integer",
            "description": "Remaining upload attempt count.",
            "format": "int32"
          },
          "status": {
            "description": "Status of the payment upload.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplacePaymentUploadStatus"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplacePaymentUploadStatus": {
        "type": "integer",
        "description": "1 = WaitingForUpload, 2 = Error",
        "format": "int32",
        "x-enumNames": [
          "WaitingForUpload",
          "Error"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadLineItemListItem": {
        "type": "object",
        "description": "Single row of the return upload line item overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "orderId",
          "returnId",
          "quantity",
          "creditNoteRequired"
        ],
        "properties": {
          "id": {
            "description": "ID of the return line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
          },
          "orderId": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "returnId": {
            "description": "ID of the return.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the return line item.",
            "format": "decimal"
          },
          "creditNoteRequired": {
            "type": "boolean",
            "description": "Indicates whether the line item is credited in the credit note."
          },
          "sku": {
            "type": "string",
            "description": "SKU of the item."
          },
          "name": {
            "type": "string",
            "description": "Name of the return line item."
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadListItem": {
        "type": "object",
        "description": "Single Row of the return upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "shopId",
          "sellerId",
          "returnUploadRequired",
          "salesOrderNumber",
          "returnNumber",
          "salesChannelDisplayName",
          "salesOrderGrossAmount",
          "createdAt",
          "salesOrderId",
          "returnUploadCount",
          "uploadCountRemaining",
          "status",
          "creditNoteGrossAmount",
          "returnId"
        ],
        "properties": {
          "id": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "returnUploadRequired": {
            "type": "boolean",
            "description": "Indicates whether return upload is required for the order."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "returnNumber": {
            "type": "string",
            "description": "Return number."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "salesOrderGrossAmount": {
            "type": "number",
            "description": "Gross sales order amount.",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "returnUploadCount": {
            "type": "integer",
            "description": "Number of return upload attempts.",
            "format": "int32"
          },
          "returnUploadFailedAt": {
            "type": "string",
            "description": "Timestamp of the last failed return upload in UTC.",
            "format": "date-time"
          },
          "uploadCountRemaining": {
            "type": "integer",
            "description": "Remaining upload attempt count.",
            "format": "int32"
          },
          "status": {
            "description": "Status of the return upload.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadStatus"
          },
          "creditNoteGrossAmount": {
            "type": "number",
            "description": "Gross amount of the linked credit note.",
            "format": "decimal"
          },
          "returnId": {
            "description": "ID of the return.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceReturnUploadStatus": {
        "type": "integer",
        "description": "1 = WaitingForUpload, 2 = Error",
        "format": "int32",
        "x-enumNames": [
          "WaitingForUpload",
          "Error"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceShippingInformationUploadListItem": {
        "type": "object",
        "description": "Single row of the shipping information upload overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "deliveryNoteId",
          "orderId",
          "shopId",
          "sellerId",
          "salesOrderId",
          "salesChannelDisplayName",
          "salesOrderNumber",
          "createdAt",
          "uploadCount",
          "uploadCountRemaining",
          "status"
        ],
        "properties": {
          "id": {
            "description": "ID of the shipping information upload entry.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderShippingKey"
          },
          "deliveryNoteId": {
            "description": "ID of the delivery note.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "orderId": {
            "description": "ID of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
          },
          "shopId": {
            "description": "ID of the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "sellerId": {
            "description": "ID of the seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey"
          },
          "salesOrderId": {
            "description": "ID of the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "shopName": {
            "type": "string",
            "description": "Name of the shop."
          },
          "salesChannelDisplayName": {
            "type": "string",
            "description": "Display name of the sales channel."
          },
          "deliveryNoteNumber": {
            "type": "string",
            "description": "Delivery note number."
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number."
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number."
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "uploadFailedAt": {
            "type": "string",
            "description": "Timestamp of the last failed upload in UTC.",
            "format": "date-time"
          },
          "uploadCount": {
            "type": "integer",
            "description": "Upload attempt count.",
            "format": "int32"
          },
          "uploadCountRemaining": {
            "type": "integer",
            "description": "Remaining upload attempt count.",
            "format": "int32"
          },
          "status": {
            "description": "Status of the shipping information upload.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceShippingInformationUploadStatus"
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.MarketplaceShippingInformationUploadStatus": {
        "type": "integer",
        "description": "1 = WaitingForUpload, 2 = Error",
        "format": "int32",
        "x-enumNames": [
          "WaitingForUpload",
          "Error"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.PrintMarketplaceExternalDocumentCommandRequest": {
        "type": "object",
        "description": "Physically print the stored PDF files of marketplace external documents using the configured PDF print template set. - Request",
        "additionalProperties": false,
        "required": [
          "documentFileIds"
        ],
        "properties": {
          "documentFileIds": {
            "type": "array",
            "description": "Document file ids of the external documents whose PDF files should be printed.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FileKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceOrderCancellationRequestUploadCounterCommandRequest": {
        "type": "object",
        "description": "Reset the upload counter for marketplace order cancellation request uploads. - Request",
        "additionalProperties": false,
        "required": [
          "orderCancellationEventKeys"
        ],
        "properties": {
          "orderCancellationEventKeys": {
            "type": "array",
            "description": "Marketplace order cancellation event keys whose upload counter should be reset.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderCancellationEventKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceOrderCancellationUploadCounterCommandRequest": {
        "type": "object",
        "description": "Reset the upload counter for marketplace order cancellation uploads. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "Marketplace order keys of cancellation uploads whose counter should be reset.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplacePaymentUploadCounterCommandRequest": {
        "type": "object",
        "description": "Reset the upload counter for marketplace payment uploads. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "Marketplace order keys of payment uploads whose counter should be reset.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceReturnUploadCounterCommandRequest": {
        "type": "object",
        "description": "Reset the upload counter for marketplace return uploads. - Request",
        "additionalProperties": false,
        "required": [
          "orderKeys"
        ],
        "properties": {
          "orderKeys": {
            "type": "array",
            "description": "Marketplace order keys of return uploads whose counter should be reset.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.DataTransferObjects.V2.Orders.ResetMarketplaceShippingInformationUploadCounterCommandRequest": {
        "type": "object",
        "description": "Reset the upload counter for marketplace shipping information uploads. - Request",
        "additionalProperties": false,
        "required": [
          "orderShippingKeys"
        ],
        "properties": {
          "orderShippingKeys": {
            "type": "array",
            "description": "Marketplace order shipping keys of shipping information uploads whose counter should be reset.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderShippingKey"
            }
          }
        }
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Channel.QueryMarketplaceChannelRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceChannel query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Invoicing.QueryMarketplaceInvoiceCorrectionPdfUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceInvoiceCorrectionPdfUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Invoicing.QueryMarketplaceInvoiceCorrectionUploadLineItemRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceInvoiceCorrectionUploadLineItem query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Invoicing.QueryMarketplaceInvoiceCorrectionUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceInvoiceCorrectionUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Invoicing.QueryMarketplaceInvoicePdfUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceInvoicePdfUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Notifications.QueryMarketplaceNotificationDetailRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceNotificationDetail query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Notifications.QueryMarketplaceNotificationRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceNotification query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Offers.QueryMarketplaceOfferFailureRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceOfferFailure query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Offers.QueryMarketplaceOfferRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceOffer query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Orders.QueryMarketplaceExternalDocumentRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceExternalDocument query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Orders.QueryMarketplaceOrderCancellationRequestUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceOrderCancellationRequestUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Orders.QueryMarketplaceOrderCancellationUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceOrderCancellationUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Orders.QueryMarketplacePaymentUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplacePaymentUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Orders.QueryMarketplaceReturnUploadLineItemRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceReturnUploadLineItem query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Orders.QueryMarketplaceReturnUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceReturnUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.PublicApi.Endpoints.V2.Orders.QueryMarketplaceShippingInformationUploadRequest": {
        "type": "object",
        "description": "Request model for QueryMarketplaceShippingInformationUpload query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxBelegUploadQueueKey": {
        "type": "string",
        "description": "Represents the key for the ScxBelegUploadQueue entity.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxCategoryKey": {
        "type": "string",
        "description": "Represents a key for a SCX category, used for identity and serialization.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey": {
        "type": "string",
        "description": "Represents a key for a SCX channel.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelPriceTypeKey": {
        "type": "string",
        "description": "Represents a key for the SCX channel price type.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxMetaDataChangedKey": {
        "type": "string",
        "description": "Represents a key for a SCX metadata changed entry.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationDetailKey": {
        "type": "string",
        "description": "Represents a key for SCX notifications.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationKey": {
        "type": "string",
        "description": "Represents a key for SCX notifications.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxNotificationReferenceKey": {
        "type": "string",
        "description": "Represents a key for SCX notification references.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferFailureKey": {
        "type": "string",
        "description": "Represents a key for identifying offer failures in the SCX report system.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOfferKey": {
        "type": "string",
        "description": "Represents a key for an SCX offer, used for identification and comparison.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderCancellationEventKey": {
        "type": "string",
        "description": "Represents a key for the Scx order cancellation event.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderItemKey": {
        "type": "string",
        "description": "Represents a key for an order item in the SCX context.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderKey": {
        "type": "string",
        "description": "Represents a key for an SCX order.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxOrderShippingKey": {
        "type": "string",
        "description": "Represents a key for identifying an order shipping entity in the SCX context.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxReportKey": {
        "type": "string",
        "description": "Represents a key for SCX reports, used for serialization and identification.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.Marketplace.Scx.Types.Keys.ScxShopKey": {
        "type": "string",
        "description": "Represents a key for a ScxShop entity.",
        "format": "uuid",
        "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
        "additionalProperties": false
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreateCreatePurchaseOrderItem": {
        "type": "object",
        "description": "One item position to create as part of a new purchase order.",
        "additionalProperties": false,
        "required": [
          "itemId",
          "quantity",
          "netPurchasePriceAmount",
          "vatRatePercentage"
        ],
        "properties": {
          "itemId": {
            "description": "ID of the item to order. Must already be assigned to the supplier; the API does not auto-assign it.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity to order. Must be greater than zero.",
            "format": "decimal"
          },
          "netPurchasePriceAmount": {
            "type": "number",
            "description": "Net purchase price per unit. Zero is allowed — it is the underlying column's own default.",
            "format": "decimal"
          },
          "vatRatePercentage": {
            "type": "number",
            "description": "VAT rate in percent. A sanity bound only — specific rates are not whitelisted.",
            "format": "decimal"
          },
          "note": {
            "type": "string",
            "description": "Free-text note on the position."
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "The supplier's article number for this position. When omitted, resolved from the supplier's own master data. A supplied value is always used as given, even when it differs from master data — this is a free-text snapshot, not a lookup key."
          },
          "deliveryDate": {
            "type": "string",
            "description": "The requested/expected delivery date for this position. When omitted, calculated from the supplier item's (or, failing that, the supplier's own) lead time in days, added to today.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreatePurchaseOrderAddress": {
        "type": "object",
        "description": "A postal address on a purchase order — delivery address or billing address. Shared between the read side and the create command (the same C# type backs both).",
        "additionalProperties": false,
        "properties": {
          "salutation": {
            "type": "string",
            "description": "Form of address (e.g. Mr., Mrs.)."
          },
          "title": {
            "type": "string",
            "description": "Academic or professional title."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact."
          },
          "companyName": {
            "type": "string",
            "description": "Company name."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company name line."
          },
          "street": {
            "type": "string",
            "description": "Street and house number."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address information."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City."
          },
          "state": {
            "type": "string",
            "description": "State or province."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (2 letters). When defaulted from a warehouse, this may be empty — the source column is a free-text country name that could not be resolved to an ISO code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address."
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreatePurchaseOrderCommandResponse": {
        "type": "object",
        "description": "Creates a new purchase order with item positions. - Response",
        "additionalProperties": false,
        "required": [
          "purchaseOrderId"
        ],
        "properties": {
          "purchaseOrderId": {
            "description": "Unique ID of the newly created purchase order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreatePurchaseOrderLineItemCommandResponse": {
        "type": "object",
        "description": "Adds one article position to an existing purchase order. The order must be Open or Released — from InProgress onwards the position would already be part of a goods receipt. The article must already be assigned to the order's supplier; this endpoint never creates that assignment. Fields the caller omits are resolved from the supplier's master data, so the smallest useful request carries the article, the quantity, the net price and the VAT rate. - Response",
        "additionalProperties": false,
        "required": [
          "lineItemId"
        ],
        "properties": {
          "lineItemId": {
            "description": "Unique ID of the newly created line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungPosKey"
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrder": {
        "type": "object",
        "description": "The full detail of a purchase order, including its line items, addresses and the supplier snapshot.",
        "additionalProperties": false,
        "required": [
          "purchaseOrderId",
          "supplierId",
          "status",
          "currencyIso",
          "currencyFactor",
          "isConfirmed",
          "lineItems"
        ],
        "properties": {
          "purchaseOrderId": {
            "description": "Unique ID of the purchase order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
          },
          "supplierId": {
            "description": "ID of the supplier the order was placed with.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "supplierName": {
            "type": "string",
            "description": "The supplier's current display name, resolved at read time. NULL if the supplier could not be resolved."
          },
          "orderNumber": {
            "type": "string",
            "description": "The order's own number."
          },
          "externalOrderNumber": {
            "type": "string",
            "description": "The buyer's own order number."
          },
          "referenceOrderNumber": {
            "type": "string",
            "description": "A reference order number."
          },
          "status": {
            "description": "The order's current status.",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderStatus"
          },
          "currencyIso": {
            "type": "string",
            "description": "ISO code of the order's currency."
          },
          "currencyFactor": {
            "type": "number",
            "description": "Conversion factor of the order's currency.",
            "format": "decimal"
          },
          "requestedDeliveryDate": {
            "type": "string",
            "description": "The delivery date requested from the supplier.",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "description": "Date the order was created.",
            "format": "date-time"
          },
          "isConfirmed": {
            "type": "boolean",
            "description": "Whether the order has been confirmed by the supplier."
          },
          "warehouseId": {
            "description": "Target warehouse of the incoming goods.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "companyId": {
            "description": "The company the order was placed for.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "internalComment": {
            "type": "string",
            "description": "Internal comment on the order, not communicated to the supplier."
          },
          "lineItems": {
            "type": "array",
            "description": "The order's line items.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderLineItem"
            }
          },
          "deliveryAddress": {
            "description": "Delivery address of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderAddress"
          },
          "billingAddress": {
            "description": "Billing address of the order.",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderAddress"
          },
          "supplier": {
            "description": "Snapshot of the supplier's master data at the time the order was created.",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderSupplierSnapshot"
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderAddress": {
        "type": "object",
        "description": "A postal address on a purchase order — delivery address or billing address. Shared between the read side and the create command (the same C# type backs both).",
        "additionalProperties": false,
        "properties": {
          "salutation": {
            "type": "string",
            "description": "Form of address (e.g. Mr., Mrs.)."
          },
          "title": {
            "type": "string",
            "description": "Academic or professional title."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact."
          },
          "companyName": {
            "type": "string",
            "description": "Company name."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company name line."
          },
          "street": {
            "type": "string",
            "description": "Street and house number."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address information."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City."
          },
          "state": {
            "type": "string",
            "description": "State or province."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (2 letters). When defaulted from a warehouse, this may be empty — the source column is a free-text country name that could not be resolved to an ISO code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address."
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderLineItem": {
        "type": "object",
        "description": "A single position of a purchase order.",
        "additionalProperties": false,
        "required": [
          "lineItemId",
          "lineItemType",
          "quantity",
          "deliveredQuantity",
          "openQuantity",
          "netPurchasePriceAmount",
          "vatRatePercentage",
          "sortOrder"
        ],
        "properties": {
          "lineItemId": {
            "description": "Unique ID of the line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungPosKey"
          },
          "lineItemType": {
            "description": "The kind of position (item, free position, shipping position, shipping surcharge, discount, small-quantity surcharge). Read-only discriminator; the create path only ever produces item positions. A NULL nPosTyp on the underlying row is coalesced to FreePosition — on this column NULL and 0 are the same fact, not \"unknown\" (human decision, resolves the legacy contradiction between accessors that documented it as either).",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderLineItemType"
          },
          "itemId": {
            "description": "ID of the ordered item, or NULL for a line item that never references one (shipping position, surcharge, discount, free position). The underlying kArtikel column is NOT NULL with no CHECK/foreign key; a non-item position is written with the literal 0, which is coalesced to NULL here (human decision, live GraphQL bug fix — exposing the raw 0 as an ID crashed the key-to-ID converter).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "itemNumber": {
            "type": "string",
            "description": "The item's own article number."
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "The supplier's article number for this item."
          },
          "name": {
            "type": "string",
            "description": "Name of the item."
          },
          "supplierItemName": {
            "type": "string",
            "description": "The supplier's own name/description for this item."
          },
          "quantity": {
            "type": "number",
            "description": "Ordered quantity.",
            "format": "decimal"
          },
          "deliveredQuantity": {
            "type": "number",
            "description": "Quantity delivered so far.",
            "format": "decimal"
          },
          "openQuantity": {
            "type": "number",
            "description": "Quantity not yet delivered.",
            "format": "decimal"
          },
          "netPurchasePriceAmount": {
            "type": "number",
            "description": "Net purchase price per unit.",
            "format": "decimal"
          },
          "vatRatePercentage": {
            "type": "number",
            "description": "VAT rate in percent.",
            "format": "decimal"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time in days.",
            "format": "int32"
          },
          "deliveryDate": {
            "type": "string",
            "description": "Requested delivery date for this position.",
            "format": "date-time"
          },
          "note": {
            "type": "string",
            "description": "Free-text note on the position."
          },
          "sortOrder": {
            "type": "integer",
            "description": "Position's sort order within the order.",
            "format": "int32"
          },
          "packagingUnit": {
            "type": "string",
            "description": "Packaging unit designation."
          },
          "packagingQuantity": {
            "type": "number",
            "description": "Quantity per packaging unit.",
            "format": "decimal"
          },
          "confirmedQuantity": {
            "type": "number",
            "description": "Quantity confirmed by the supplier for this line item. NULL when no confirmation has been received yet. Not settable on create; patchable through the update endpoint while the order is not Completed.",
            "format": "decimal"
          },
          "confirmedDeliveryDate": {
            "type": "string",
            "description": "Delivery date confirmed by the supplier for this line item. NULL when no confirmation has been received yet. Not settable on create; patchable through the update endpoint while the order is not Completed.",
            "format": "date-time"
          },
          "confirmedPrice": {
            "type": "number",
            "description": "Net price confirmed by the supplier for this line item. NULL when no confirmation has been received yet. Not settable on create; patchable through the update endpoint while the order is not Completed.",
            "format": "decimal"
          },
          "isLineItemConfirmed": {
            "type": "boolean",
            "description": "Whether the supplier has confirmed this line item. NULL when no confirmation status has been set, distinct from false (\"reviewed and not confirmed\"). Not settable on create; patchable through the update endpoint while the order is not Completed. Independent of the order header's IsConfirmed — neither flag is derived from the other."
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderLineItemType": {
        "type": "integer",
        "description": "0 = FreePosition, 1 = Item, 2 = ShippingPosition, 6 = ShippingSurcharge, 10 = Discount, 11 = SmallQuantitySurcharge",
        "format": "int32",
        "x-enumNames": [
          "FreePosition",
          "Item",
          "ShippingPosition",
          "ShippingSurcharge",
          "Discount",
          "SmallQuantitySurcharge"
        ],
        "enum": [
          0,
          1,
          2,
          6,
          10,
          11
        ]
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderListItem": {
        "type": "object",
        "description": "A single row of the purchase orders overview list.",
        "additionalProperties": false,
        "required": [
          "purchaseOrderId",
          "supplierId",
          "status"
        ],
        "properties": {
          "purchaseOrderId": {
            "description": "Unique ID of the purchase order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantenBestellungKey"
          },
          "supplierId": {
            "description": "ID of the supplier the order was placed with.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "supplierName": {
            "type": "string",
            "description": "The supplier's current display name, resolved server-side via a join. NULL if the supplier could not be resolved."
          },
          "orderNumber": {
            "type": "string",
            "description": "The order's own number."
          },
          "status": {
            "description": "The order's current status.",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderStatus"
          },
          "createdAt": {
            "type": "string",
            "description": "Date the order was created.",
            "format": "date-time"
          },
          "requestedDeliveryDate": {
            "type": "string",
            "description": "The delivery date requested from the supplier.",
            "format": "date-time"
          },
          "warehouseId": {
            "description": "Target warehouse of the incoming goods.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderStatus": {
        "type": "integer",
        "description": "0 = Open, 5 = Released, 20 = InProgress, 30 = PartiallyDelivered, 50 = Overdue, 500 = Completed",
        "format": "int32",
        "x-enumNames": [
          "Open",
          "Released",
          "InProgress",
          "PartiallyDelivered",
          "Overdue",
          "Completed"
        ],
        "enum": [
          0,
          5,
          20,
          30,
          50,
          500
        ]
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderSupplierSnapshot": {
        "type": "object",
        "description": "A snapshot of the supplier's master data as it was at the time the order was created (the supplier's own data may change afterward; this snapshot does not).",
        "additionalProperties": false,
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Supplier company name at the time of order."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company name line."
          },
          "street": {
            "type": "string",
            "description": "Street and house number."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address information."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City."
          },
          "state": {
            "type": "string",
            "description": "State or province."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (2 letters)."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address."
          },
          "contactSalutation": {
            "type": "string",
            "description": "Form of address of the supplier's contact person."
          },
          "contactFirstName": {
            "type": "string",
            "description": "First name of the supplier's contact person."
          },
          "contactLastName": {
            "type": "string",
            "description": "Last name of the supplier's contact person."
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.CreatePurchaseOrderLineItemRequest": {
        "type": "object",
        "description": "Request model for CreatePurchaseOrderLineItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "itemId",
          "quantity",
          "netPurchasePriceAmount",
          "vatRatePercentage"
        ],
        "properties": {
          "itemId": {
            "description": "The article to order. It must already be assigned to the order's supplier; the API never auto-assigns. Kit articles, inactive articles and variation parents are rejected, exactly as on the create-order endpoint.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "Ordered quantity; must be greater than zero.",
            "format": "decimal"
          },
          "netPurchasePriceAmount": {
            "type": "number",
            "description": "Net purchase price per unit. Zero is allowed — it is the underlying column's own default — but a negative price is not.",
            "format": "decimal"
          },
          "vatRatePercentage": {
            "type": "number",
            "description": "VAT rate in percent, between 0 and 100 inclusive. A sanity bound only; specific rates are not whitelisted.",
            "format": "decimal"
          },
          "supplierItemNumber": {
            "type": "string",
            "description": "The supplier's own article number for this position. When omitted, resolved from the supplier's master data. A supplied value is used as given even when it differs from master data, because this is a free-text snapshot rather than a lookup key."
          },
          "deliveryDate": {
            "type": "string",
            "description": "Expected delivery date of this position. When omitted, calculated from the article's (or, failing that, the supplier's) lead time in days, added to today.",
            "format": "date-time"
          },
          "note": {
            "type": "string",
            "description": "Free-text note on the position, at most 2000 characters."
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.CreatePurchaseOrderRequest": {
        "type": "object",
        "description": "Request model for CreatePurchaseOrder command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "supplierId",
          "requestedDeliveryDate",
          "items"
        ],
        "properties": {
          "supplierId": {
            "description": "ID of the supplier the order is placed with. Must reference an existing procurement supplier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "requestedDeliveryDate": {
            "type": "string",
            "description": "The delivery date requested from the supplier.",
            "format": "date-time"
          },
          "items": {
            "type": "array",
            "description": "Item positions of the order. At least one is required (enforced server-side; the list schema here has no declarative minimum-length constraint).",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreateCreatePurchaseOrderItem"
            }
          },
          "deliveryAddress": {
            "description": "Delivery address of the order. When omitted, it is defaulted from the effective warehouse's address (see WarehouseId). A country name that cannot be resolved to an ISO code yields an empty CountryIso rather than failing the create.",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreatePurchaseOrderAddress"
          },
          "billingAddress": {
            "description": "Billing address of the order. When omitted, it is defaulted from the effective company's address.",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.CreatePurchaseOrderAddress"
          },
          "externalOrderNumber": {
            "type": "string",
            "description": "The buyer's own external reference for this order (free text). Never generated by the server — contrast the order's own number, which the server assigns and which is not settable through this API."
          },
          "referenceOrderNumber": {
            "type": "string",
            "description": "A reference order number for this order — the \"Zugehörige Auftragsnummer\" field, free text, editable in the desktop UI."
          },
          "internalComment": {
            "type": "string",
            "description": "Internal comment on the order, not communicated to the supplier."
          },
          "warehouseId": {
            "description": "Target warehouse of the incoming goods. When omitted, the supplier's own default warehouse is used. When supplied (or defaulted from the supplier), it must reference an existing warehouse.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "disableAutomaticWorkflows": {
            "type": "boolean",
            "description": "Indicates whether automatic workflows should be disabled for this purchase order."
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.DeletePurchaseOrderLineItemRequest": {
        "type": "object",
        "description": "Request model for DeletePurchaseOrderLineItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.GetPurchaseOrderByIdRequest": {
        "type": "object",
        "description": "Request model for GetPurchaseOrderById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.QueryPurchaseOrdersRequest": {
        "type": "object",
        "description": "Request model for QueryPurchaseOrders query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.UpdatePurchaseOrderLineItemRequest": {
        "type": "object",
        "description": "Request model for UpdatePurchaseOrderLineItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Ordered quantity; must be greater than zero. Editable only while the order is Open or Released (structural tier), and only on a position of type FreePosition or Item.",
            "format": "decimal"
          },
          "netPurchasePriceAmount": {
            "type": "number",
            "description": "Net purchase price per unit. Editable only while the order is Open or Released (structural tier). Zero is allowed — it is the column's own default — on every position type, including the charge and discount types, whose amount this field carries.",
            "format": "decimal"
          },
          "deliveryDate": {
            "type": "string",
            "description": "Expected delivery date of this position. Editable only while the order is Open or Released (structural tier), and only on a position of type FreePosition or Item. An explicit null clears the date.",
            "format": "date-time"
          },
          "note": {
            "type": "string",
            "description": "Free-text note on the position, at most 2000 characters. Editable in every status including Completed (annotations tier)."
          },
          "confirmedQuantity": {
            "type": "number",
            "description": "Quantity confirmed by the supplier. Editable in every status except Completed (confirmations tier). An explicit null means \"no confirmation present\".",
            "format": "decimal"
          },
          "confirmedDeliveryDate": {
            "type": "string",
            "description": "Delivery date confirmed by the supplier. Editable in every status except Completed (confirmations tier). An explicit null means \"no confirmation present\".",
            "format": "date-time"
          },
          "confirmedPrice": {
            "type": "number",
            "description": "Net price confirmed by the supplier. Editable in every status except Completed (confirmations tier). An explicit null means \"no confirmation present\".",
            "format": "decimal"
          },
          "isLineItemConfirmed": {
            "type": "boolean",
            "description": "Whether the supplier confirmed this position. Editable in every status except Completed (confirmations tier), and bidirectional — an explicit false is a valid reset, while null means \"no confirmation status set\", a state distinct from false. Fully independent of the order header's IsConfirmed: setting this never changes the header flag and never raises the confirmation event."
          }
        }
      },
      "JTL.Wawi.PurchaseOrders.PublicApi.Endpoints.V2.PurchaseOrderDomain.UpdatePurchaseOrderRequest": {
        "type": "object",
        "description": "Request model for UpdatePurchaseOrder command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "internalComment": {
            "type": "string",
            "description": "Internal comment on the order, not communicated to the supplier. Editable in every status including Completed (annotations tier)."
          },
          "externalOrderNumber": {
            "type": "string",
            "description": "The buyer's own external reference for this order (free text, at most 255 characters). Editable in every status (annotations tier). Not the order's own number, which the server assigns and which this API never lets a client change."
          },
          "referenceOrderNumber": {
            "type": "string",
            "description": "The reference order number — the \"Zugehörige Auftragsnummer\" field, free text, at most 255 characters. Editable in every status (annotations tier)."
          },
          "requestedDeliveryDate": {
            "type": "string",
            "description": "The delivery date requested from the supplier. Editable in every status (annotations tier) — unlike a LINE ITEM's delivery date, the header date drives no stock posting of its own.",
            "format": "date-time"
          },
          "isConfirmed": {
            "type": "boolean",
            "description": "Whether the order as a whole is confirmed. Editable in every status except Completed (confirmations tier), and bidirectional — an explicit false is a valid reset. An independent flag, never derived from the line items' own confirmation flags; only a genuine false-to-true change raises the confirmation event."
          },
          "status": {
            "type": "integer",
            "description": "The status to transition the order into. Omit to leave the status untouched; setting the status the order already has is an accepted no-op. Permitted transitions are Open to Released, Open to InProgress, Released to InProgress, Released to Completed, InProgress to Completed, PartiallyDelivered to Completed and Overdue to Completed. Anything else is rejected with PURCHASE_ORDER_INVALID_STATUS_TRANSITION — in particular Open to Completed, any transition back to Released, and any transition out of Completed.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.PurchaseOrders.PublicApi.DataTransferObjects.V2.PurchaseOrderDomain.PurchaseOrderStatus"
          }
        }
      },
      "JTL.Wawi.Rest.Abstraction.Exceptions.ErrorResponse": {
        "type": "object",
        "description": "Represents an error response returned by the system in case of a failure or exception.",
        "additionalProperties": false,
        "properties": {
          "errorCode": {
            "type": "string",
            "description": "Gets or sets the error code that identifies the type of error encountered."
          },
          "validationErrors": {
            "type": "object",
            "description": "Gets or sets a dictionary containing validation errors associated with the request.",
            "deprecated": true,
            "x-deprecatedMessage": "Use Errors",
            "additionalProperties": {
              "type": "string"
            }
          },
          "errors": {
            "type": "object",
            "description": "Gets or sets a collection of errors associated with the response.",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "errorMessage": {
            "type": "string",
            "description": "Gets or sets the error message that provides details about the error encountered."
          },
          "stacktrace": {
            "type": "string",
            "description": "Gets or sets the stack trace associated with the error, providing detailed\ninformation about the sequence of method calls that led to the exception."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Delivery.PicklistReservations": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.PicklistReservations"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNote": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNote"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Extensibility.Extension": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.Extension"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Property.Property": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.Property"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyGroup": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyGroup"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Return.Return": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.Return"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Stock.Stock": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Stock.Stock"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Stock.StockChange": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Stock.StockChange"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.Warehouse.StorageLocation": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Warehouse.StorageLocation"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.WMS.PickList": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickList"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListTemplate": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListTemplate"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.SalesUnit": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.SalesUnit"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.PagedListOfJTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.UnitOfMeasurement": {
        "type": "object",
        "description": "Represents a paginated list of items",
        "additionalProperties": false,
        "required": [
          "totalItems",
          "pageNumber",
          "pageSize",
          "items"
        ],
        "properties": {
          "totalItems": {
            "type": "integer",
            "description": "Gets or sets the total number of items available in the data source.",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "description": "Gets or sets the current page number in the paginated list.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the number of items per page in the paginated list.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "description": "Gets or sets the collection of items contained in the paged list.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.UnitOfMeasurement"
            }
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets the total number of pages based on the total number of items and the page size.",
            "format": "int32"
          },
          "hasPreviousPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a previous page available in the paginated list."
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a next page available."
          },
          "nextPageNumber": {
            "type": "integer",
            "description": "Gets the number of the next page if there is one; otherwise, returns the total number of pages.",
            "format": "int32"
          },
          "previousPageNumber": {
            "type": "integer",
            "description": "Gets the number of the previous page. If there is no previous page, it returns 1.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.SalesChannelId": {
        "type": "string",
        "description": "Represents a unique identifier for a sales channel, encapsulating various platform-specific keys such as shop,\nuser, or channel identifiers.",
        "additionalProperties": false
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.AppToken": {
        "type": "object",
        "description": "Model Class: AppToken ",
        "additionalProperties": false,
        "required": [
          "apiKey"
        ],
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "Generated unique API key of the token"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.CreateAppRegistrationRequest": {
        "type": "object",
        "description": "Model Class: CreateAppRegistrationRequest ",
        "additionalProperties": false,
        "required": [
          "appId",
          "displayName",
          "description",
          "version",
          "providerName",
          "providerWebsite",
          "mandatoryApiScopes",
          "appIcon"
        ],
        "properties": {
          "appId": {
            "type": "string",
            "description": "Unique identifier of the application"
          },
          "displayName": {
            "type": "string",
            "description": "Default display name of the application"
          },
          "description": {
            "type": "string",
            "description": "Default description of the application"
          },
          "localizedDisplayNames": {
            "type": "array",
            "description": "Localized display names of the application",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateTranslation"
            }
          },
          "localizedDescriptions": {
            "type": "array",
            "description": "Localized descriptions of the application",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateTranslation"
            }
          },
          "version": {
            "type": "string",
            "description": "Version of the application to be registered"
          },
          "providerName": {
            "type": "string",
            "description": "Name of the application's provider"
          },
          "providerWebsite": {
            "type": "string",
            "description": "Website of the application's provider"
          },
          "mandatoryApiScopes": {
            "type": "array",
            "description": "Mandatory required API scopes for the application to work",
            "items": {
              "type": "string"
            }
          },
          "optionalApiScopes": {
            "type": "array",
            "description": "Optional (recommended) API scopes for the application",
            "items": {
              "type": "string"
            }
          },
          "appIcon": {
            "type": "string",
            "description": "Base64 encoded data of an image.",
            "format": "byte"
          },
          "registrationType": {
            "type": "integer",
            "description": "multiple instances of the application possible",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationType"
          },
          "signature": {
            "type": "string",
            "description": "The Signature of the App, it combines AppId.SignatureData like myApp/v1.2025-08-03T25:48:00 in UTC Time",
            "format": "byte"
          },
          "signatureData": {
            "type": "string",
            "description": "The Data as DateTimeOffset must be in a range from 10 Minutes equals, and is base for the Signature and must be in UTC Time",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.CreateLogin": {
        "type": "object",
        "description": "Model Class: CreateLogin ",
        "additionalProperties": false,
        "required": [
          "userName",
          "password"
        ],
        "properties": {
          "userName": {
            "type": "string",
            "description": "Username of the WAWI user"
          },
          "password": {
            "type": "string",
            "description": "Password of the WAWI user"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.Login": {
        "type": "object",
        "description": "Model Class: Login ",
        "additionalProperties": false,
        "required": [
          "sessionId"
        ],
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "Unique identifier of the current session"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationInformation": {
        "type": "object",
        "description": "Model Class: RegistrationInformation ",
        "additionalProperties": false,
        "required": [
          "requestStatusInfo"
        ],
        "properties": {
          "requestStatusInfo": {
            "description": "Status of the registration process (including the unique identifiers for application and registration request)",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationRequestStatusInfo"
          },
          "token": {
            "description": "Generated token for the application to access the API",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.AppToken"
          },
          "grantedScopes": {
            "type": "array",
            "description": "API scopes (both mandatory and optional) granted to the application",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationRequestStatusInfo": {
        "type": "object",
        "description": "Model Class: RegistrationRequestStatusInfo ",
        "additionalProperties": false,
        "required": [
          "appId",
          "registrationRequestId",
          "status"
        ],
        "properties": {
          "appId": {
            "type": "string",
            "description": "Unique identifier of the application"
          },
          "registrationRequestId": {
            "type": "string",
            "description": "Unique identifier of the registration request"
          },
          "status": {
            "description": "Status of the registration process",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationStatus"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationStatus": {
        "type": "integer",
        "description": "0 = Pending, 1 = Rejected, 2 = Accepted",
        "format": "int32",
        "x-enumNames": [
          "Pending",
          "Rejected",
          "Accepted"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationType": {
        "type": "integer",
        "description": "0 = OneInstance, 1 = MultiInstance, 2 = PerUserInstance, 3 = PerUserLoginInstance",
        "format": "int32",
        "x-enumNames": [
          "OneInstance",
          "MultiInstance",
          "PerUserInstance",
          "PerUserLoginInstance"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Authentication.UpdateAppRegistrationRequest": {
        "type": "object",
        "description": "Model Class: UpdateAppRegistrationRequest ",
        "additionalProperties": false,
        "properties": {
          "appId": {
            "type": "string",
            "description": "Unique identifier of the application"
          },
          "displayName": {
            "type": "string",
            "description": "Default display name of the application"
          },
          "description": {
            "type": "string",
            "description": "Default description of the application"
          },
          "localizedDisplayNames": {
            "type": "array",
            "description": "Localized display names of the application",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateTranslation"
            }
          },
          "localizedDescriptions": {
            "type": "array",
            "description": "Localized descriptions of the application",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateTranslation"
            }
          },
          "version": {
            "type": "string",
            "description": "Version of the application to be registered"
          },
          "providerName": {
            "type": "string",
            "description": "Name of the application's provider"
          },
          "providerWebsite": {
            "type": "string",
            "description": "Website of the application's provider"
          },
          "mandatoryApiScopes": {
            "type": "array",
            "description": "Mandatory required API scopes for the application to work",
            "items": {
              "type": "string"
            }
          },
          "optionalApiScopes": {
            "type": "array",
            "description": "Optional (recommended) API scopes for the application",
            "items": {
              "type": "string"
            }
          },
          "appIcon": {
            "type": "string",
            "description": "Base64 encoded data of an image.",
            "format": "byte"
          },
          "registrationType": {
            "type": "integer",
            "description": "multiple instances of the application possible",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Authentication.RegistrationType"
          },
          "signature": {
            "type": "string",
            "description": "The Signature of the App, it combines AppId.SignatureData like myApp/v1.2025-08-03T25:48:00 in UTC Time",
            "format": "byte"
          },
          "signatureData": {
            "type": "string",
            "description": "The Data as DateTimeOffset must be in a range from 10 Minutes equals, and is base for the Signature and must be in UTC Time",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Availability.Availability": {
        "type": "object",
        "description": "Model Class: Availability ",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify the availability state of an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferstatusKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the availability state."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.ColorCode.ColorCode": {
        "type": "object",
        "description": "Model Class: ColorCode ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "code"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a colour code.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the colour code."
          },
          "code": {
            "type": "string",
            "description": "Hexadecimal color code (e.g., \"#00FF00\" for green)."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.Address": {
        "type": "object",
        "description": "Model Class: Address ",
        "additionalProperties": false,
        "required": [
          "id",
          "company",
          "company2",
          "formOfAddress",
          "title",
          "firstName",
          "lastName",
          "street",
          "address2",
          "postalCode",
          "city",
          "state",
          "countryIso",
          "vatID",
          "phoneNumber",
          "mobilePhoneNumber",
          "emailAddress",
          "fax"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an address",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AdresseKey"
          },
          "company": {
            "type": "string",
            "description": "Description of the Company."
          },
          "company2": {
            "type": "string",
            "description": "Additional company information"
          },
          "formOfAddress": {
            "type": "string",
            "description": "Customer form of address"
          },
          "title": {
            "type": "string",
            "description": "Official title"
          },
          "firstName": {
            "type": "string",
            "description": "Customer first name"
          },
          "lastName": {
            "type": "string",
            "description": "Customer last name"
          },
          "street": {
            "type": "string",
            "description": "Street name in the customer's address"
          },
          "address2": {
            "type": "string",
            "description": "Additional address information"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the customer's address"
          },
          "city": {
            "type": "string",
            "description": "Name of city in the customer's address"
          },
          "state": {
            "type": "string",
            "description": "Name of state in the customer's address"
          },
          "countryIso": {
            "type": "string",
            "description": "Country ISO code"
          },
          "vatID": {
            "type": "string",
            "description": "Supplier VAT ID number"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Landline phone number"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number"
          },
          "emailAddress": {
            "type": "string",
            "description": "Email address"
          },
          "fax": {
            "type": "string",
            "description": "Fax number"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateFile": {
        "type": "object",
        "description": "Model Class: CreateFile ",
        "additionalProperties": false,
        "required": [
          "fileData",
          "fileDataType",
          "fileName"
        ],
        "properties": {
          "fileData": {
            "type": "string",
            "description": "Base64 encoded data of the file.",
            "format": "byte"
          },
          "fileDataType": {
            "type": "string",
            "description": "Type of file.",
            "maxLength": 2147483647
          },
          "fileName": {
            "type": "string",
            "description": "name of the file.",
            "maxLength": 2147483647
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateNote": {
        "type": "object",
        "description": "Model Class: CreateNote ",
        "additionalProperties": false,
        "required": [
          "noteBody"
        ],
        "properties": {
          "noteBody": {
            "type": "string",
            "description": "The text in the customer note."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateTranslation": {
        "type": "object",
        "description": "Model Class: CreateTranslation ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "name"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "The language ISO code"
          },
          "name": {
            "type": "string",
            "description": "The word in the corresponding language"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateWorkflowEvent": {
        "type": "object",
        "description": "Model Class: CreateWorkflowEvent ",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "ID of the workflow event",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomField": {
        "type": "object",
        "description": "Model Class: CustomField ",
        "additionalProperties": false,
        "required": [
          "customFieldId",
          "groupName",
          "name",
          "type",
          "possibleValues"
        ],
        "properties": {
          "attribut": {
            "$ref": "#/components/schemas/JTL.Entities.dbo.Table.AttributEntity"
          },
          "customFieldId": {
            "description": "Unique ID to identify a custom field.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "groupName": {
            "type": "string",
            "description": "The group name for this custom field."
          },
          "name": {
            "type": "string",
            "description": "The custom field name."
          },
          "type": {
            "description": "The custom field type.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomFieldType"
          },
          "possibleValues": {
            "type": "array",
            "description": "The possible values, when the custom field is a list.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomFieldType": {
        "type": "integer",
        "description": "0 = None, 1 = Integer, 2 = Decimal, 3 = Text, 4 = Checkbox, 5 = List, 6 = Url, 7 = Email, 8 = PhoneNumber, 9 = CountryIso, 10 = Price, 11 = Date, 12 = ShortText",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Integer",
          "Decimal",
          "Text",
          "Checkbox",
          "List",
          "Url",
          "Email",
          "PhoneNumber",
          "CountryIso",
          "Price",
          "Date",
          "ShortText"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.CustomFieldValue": {
        "type": "object",
        "description": "Model Class: CustomFieldValue ",
        "additionalProperties": false,
        "required": [
          "customFieldId",
          "value"
        ],
        "properties": {
          "customFieldId": {
            "description": "Unique ID to identifify a custom field.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "value": {
            "type": "object",
            "description": "The custom field value. The object should match the custom field type."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.Dimensions": {
        "type": "object",
        "description": "Model Class: Dimensions ",
        "additionalProperties": false,
        "required": [
          "length",
          "width",
          "height"
        ],
        "properties": {
          "length": {
            "type": "number",
            "description": "Length",
            "format": "decimal"
          },
          "width": {
            "type": "number",
            "description": "Width",
            "format": "decimal"
          },
          "height": {
            "type": "number",
            "description": "Height",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.Note": {
        "type": "object",
        "description": "Model Class: Note ",
        "additionalProperties": false,
        "required": [
          "noteId",
          "noteBody"
        ],
        "properties": {
          "noteId": {
            "description": "Unique ID to identify a customer note. A customer note always has a customer reference and may have a sales order reference as well.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.NotizKey"
          },
          "noteBody": {
            "type": "string",
            "description": "The text in the customer note."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.Translation": {
        "type": "object",
        "description": "Model Class: Translation ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "name"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "The language ISO code"
          },
          "name": {
            "type": "string",
            "description": "The word in the corresponding language"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateCustomFieldValue": {
        "type": "object",
        "description": "Model Class: UpdateCustomFieldValue ",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "value": {
            "type": "object",
            "description": "The custom field value. The object should match the custom field type."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateFile": {
        "type": "object",
        "description": "Model Class: UpdateFile ",
        "additionalProperties": false,
        "properties": {
          "fileData": {
            "type": "string",
            "description": "Base64 encoded data of the file.",
            "format": "byte"
          },
          "fileDataType": {
            "type": "string",
            "description": "Type of file."
          },
          "fileName": {
            "type": "string",
            "description": "name of the file."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateNote": {
        "type": "object",
        "description": "Model Class: UpdateNote ",
        "additionalProperties": false,
        "required": [
          "noteBody"
        ],
        "properties": {
          "noteBody": {
            "type": "string",
            "description": "The text in the customer note."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateTranslation": {
        "type": "object",
        "description": "Model Class: UpdateTranslation ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "name"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "The language ISO code"
          },
          "name": {
            "type": "string",
            "description": "The word in the corresponding language"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Common.WorkflowEvent": {
        "type": "object",
        "description": "Model Class: WorkflowEvent ",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "ID of the workflow event",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the workflow event"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Condition.Condition": {
        "type": "object",
        "description": "Model Class: Condition ",
        "additionalProperties": false,
        "required": [
          "id",
          "names"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a condition.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZustandKey"
          },
          "names": {
            "type": "array",
            "description": "The list of the condition names.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Condition.ConditionNames"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Condition.ConditionNames": {
        "type": "object",
        "description": "Model Class: ConditionNames ",
        "additionalProperties": false,
        "required": [
          "name",
          "languageIso"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of a condition."
          },
          "languageIso": {
            "type": "string",
            "description": "ISO code of the language of a condition."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Customer.CreateCustomerBankAccount": {
        "type": "object",
        "description": "Model Class: CreateCustomerBankAccount ",
        "additionalProperties": false,
        "required": [
          "accountHolder"
        ],
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "Name of the account holder of the customer's bank account.",
            "maxLength": 255
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number of the customer's bank account."
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code of the customer bank's account."
          },
          "iBAN": {
            "type": "string",
            "description": "International bank account number of the customer's bank account."
          },
          "bIC": {
            "type": "string",
            "description": "Bank identification code of the customer's bank account."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Customer.CreateCustomerContact": {
        "type": "object",
        "description": "Model Class: CreateCustomerContact ",
        "additionalProperties": false,
        "properties": {
          "department": {
            "type": "string",
            "description": "The contact person's department."
          },
          "honorific": {
            "type": "string",
            "description": "The contact person's form of address."
          },
          "firstName": {
            "type": "string",
            "description": "The contact person's first name."
          },
          "lastName": {
            "type": "string",
            "description": "The contact person's last name."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The contact person's landline phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The contact person's mobile number."
          },
          "emailAddress": {
            "type": "string",
            "description": "The contact person's email address."
          },
          "fax": {
            "type": "string",
            "description": "The contact person's fax number."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerBankAccount": {
        "type": "object",
        "description": "Model Class: CustomerBankAccount ",
        "additionalProperties": false,
        "required": [
          "id",
          "accountHolder",
          "bankName",
          "accountNumber",
          "bankCode",
          "iBAN",
          "bIC"
        ],
        "properties": {
          "id": {
            "description": "The unique ID to identify a customer's bank account.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KontoDatenKey"
          },
          "accountHolder": {
            "type": "string",
            "description": "Name of the account holder of the customer's bank account."
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number of the customer's bank account."
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code of the customer bank's account."
          },
          "iBAN": {
            "type": "string",
            "description": "International bank account number of the customer's bank account."
          },
          "bIC": {
            "type": "string",
            "description": "Bank identification code of the customer's bank account."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerContact": {
        "type": "object",
        "description": "Model Class: CustomerContact ",
        "additionalProperties": false,
        "required": [
          "id",
          "department",
          "honorific",
          "firstName",
          "lastName",
          "phoneNumber",
          "mobilePhoneNumber",
          "emailAddress",
          "fax"
        ],
        "properties": {
          "id": {
            "description": "The unique ID to identify a customer's main contact person.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AnsprechpartnerKey"
          },
          "department": {
            "type": "string",
            "description": "The contact person's department."
          },
          "honorific": {
            "type": "string",
            "description": "The contact person's form of address."
          },
          "firstName": {
            "type": "string",
            "description": "The contact person's first name."
          },
          "lastName": {
            "type": "string",
            "description": "The contact person's last name."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The contact person's landline phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The contact person's mobile number."
          },
          "emailAddress": {
            "type": "string",
            "description": "The contact person's email address."
          },
          "fax": {
            "type": "string",
            "description": "The contact person's fax number."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Customer.CustomerWorkflowEvent": {
        "type": "integer",
        "description": "1 = Created, 2 = Changed",
        "format": "int32",
        "x-enumNames": [
          "Created",
          "Changed"
        ],
        "enum": [
          1,
          2
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Customer.UpdateCustomerBankAccount": {
        "type": "object",
        "description": "Model Class: UpdateCustomerBankAccount ",
        "additionalProperties": false,
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "Name of the account holder of the customer's bank account."
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number of the customer's bank account."
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code of the customer bank's account."
          },
          "iBAN": {
            "type": "string",
            "description": "International bank account number of the customer's bank account."
          },
          "bIC": {
            "type": "string",
            "description": "Bank identification code of the customer's bank account."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Customer.UpdateCustomerContact": {
        "type": "object",
        "description": "Model Class: UpdateCustomerContact ",
        "additionalProperties": false,
        "properties": {
          "department": {
            "type": "string",
            "description": "The contact person's department."
          },
          "honorific": {
            "type": "string",
            "description": "The contact person's form of address."
          },
          "firstName": {
            "type": "string",
            "description": "The contact person's first name."
          },
          "lastName": {
            "type": "string",
            "description": "The contact person's last name."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The contact person's landline phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The contact person's mobile number."
          },
          "emailAddress": {
            "type": "string",
            "description": "The contact person's email address."
          },
          "fax": {
            "type": "string",
            "description": "The contact person's fax number."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.CreateCustomerCategory": {
        "type": "object",
        "description": "Model Class: CreateCustomerCategory ",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The customer category name.",
            "maxLength": 128
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.CustomerCategory": {
        "type": "object",
        "description": "Model Class: CustomerCategory ",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "Unique internal ID of the customer category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenKategorieKey"
          },
          "name": {
            "type": "string",
            "description": "The customer category name."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.CustomerCategory.UpdateCustomerCategory": {
        "type": "object",
        "description": "Model Class: UpdateCustomerCategory ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "The customer category name."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.CreateCustomerGroup": {
        "type": "object",
        "description": "Model Class: CreateCustomerGroup ",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the customer group.",
            "maxLength": 255
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the customer group is the default group. Only one group can be selected as the default group."
          },
          "discount": {
            "type": "number",
            "description": "The discounted percentage for the customer group.",
            "format": "decimal"
          },
          "isNetPrice": {
            "type": "boolean",
            "description": "Indicates if the customer group sees the net price in the online shop."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.CustomerGroup": {
        "type": "object",
        "description": "Model Class: CustomerGroup ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isDefault",
          "discount",
          "isNetPrice"
        ],
        "properties": {
          "id": {
            "description": "Unique internal ID of the customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the customer group."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the customer group is the default group. Only one group can be selected as the default group."
          },
          "discount": {
            "type": "number",
            "description": "The discounted percentage for the customer group.",
            "format": "decimal"
          },
          "isNetPrice": {
            "type": "boolean",
            "description": "Indicates if the customer group sees the net price in the online shop."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.CustomerGroup.UpdateCustomerGroup": {
        "type": "object",
        "description": "Model Class: UpdateCustomerGroup ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the customer group."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the customer group is the default group. Only one group can be selected as the default group."
          },
          "discount": {
            "type": "number",
            "description": "The discounted percentage for the customer group.",
            "format": "decimal"
          },
          "isNetPrice": {
            "type": "boolean",
            "description": "Indicates if the customer group sees the net price in the online shop."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateCancelReservationRequest": {
        "type": "object",
        "description": "Model Class: CreateCancelReservationRequest ",
        "additionalProperties": false,
        "required": [
          "picklistIds"
        ],
        "properties": {
          "picklistIds": {
            "type": "array",
            "description": "Pick list IDs to cancel",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverOptions": {
        "type": "object",
        "description": "Model Class: CreateDeliverOptions ",
        "additionalProperties": false,
        "properties": {
          "isDelilveryNotePerWarehouse": {
            "type": "boolean",
            "description": "Create a deliverynote for each Warehouse"
          },
          "isSetDispatch": {
            "type": "boolean",
            "description": "Change the status of the salesorder to dispatched"
          },
          "isCreateInvoice": {
            "type": "boolean",
            "description": "Create an invoice for the salesorder"
          },
          "isInvoiceForOnlySendItems": {
            "type": "boolean",
            "description": "Create an invoice only for send items"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverRequest": {
        "type": "object",
        "description": "Model Class: CreateDeliverRequest ",
        "additionalProperties": false,
        "required": [
          "picklistIds",
          "deliveryPackage",
          "isPartialDelivery"
        ],
        "properties": {
          "picklistIds": {
            "type": "array",
            "description": "Picklist IDs",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
            }
          },
          "deliveryPackage": {
            "type": "array",
            "description": "List of Packages",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliveryPackage"
            }
          },
          "isPartialDelivery": {
            "type": "boolean",
            "description": "deliver the sales order partially"
          },
          "deliverOptions": {
            "description": "Options for the delivery",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverOptions"
          },
          "deliveryPositionNotes": {
            "type": "array",
            "description": "the note for the delivery position",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliveryPositionNotes"
            }
          },
          "deliverySerialNumbers": {
            "type": "array",
            "description": "the serialNumbers of the items",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverySerialNumber"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliveryPackage": {
        "type": "object",
        "description": "Model Class: CreateDeliveryPackage ",
        "additionalProperties": false,
        "required": [
          "salesOrderId",
          "shippingMethodId",
          "weight"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Sales Order Id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "shippingMethodId": {
            "description": "Id of the shipping method",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "weight": {
            "type": "number",
            "description": "the weight of the package",
            "format": "decimal"
          },
          "shippingDate": {
            "type": "string",
            "description": "The shipping date",
            "format": "date-time"
          },
          "trackingId": {
            "type": "string",
            "description": "The tracking id of the package"
          },
          "enclosedReturnIdentCode": {
            "type": "string",
            "description": "idk"
          },
          "note": {
            "type": "string",
            "description": "A note in the package"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliveryPositionNotes": {
        "type": "object",
        "description": "Model Class: CreateDeliveryPositionNotes ",
        "additionalProperties": false,
        "properties": {
          "salesOrderPositionId": {
            "description": "Id of the sales order position",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "note": {
            "type": "string",
            "description": "the note to the sales order position"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverySerialNumber": {
        "type": "object",
        "description": "Model Class: CreateDeliverySerialNumber ",
        "additionalProperties": false,
        "properties": {
          "serialNumber": {
            "type": "string",
            "description": "The serial number"
          },
          "pickpositionId": {
            "description": "The ID of the pick position with the serial number item",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
          },
          "description1": {
            "type": "string",
            "description": "Primary description of the serial number item"
          },
          "description2": {
            "type": "string",
            "description": "Secondary description of the serial number item"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverySource": {
        "type": "object",
        "description": "Delivery Source Object",
        "additionalProperties": false,
        "required": [
          "type",
          "priority"
        ],
        "properties": {
          "type": {
            "description": "Type of the Delivery source (Warehouse, Supplier, Cheapest Supplier, Fastest Supplier, Standard Supplier",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.DeliverySourceType"
          },
          "id": {
            "type": "integer",
            "description": "Id of the Delivery Source",
            "format": "int32"
          },
          "contactPersonId": {
            "type": "integer",
            "description": "Id of the Contact Person for the Supplier",
            "format": "int32"
          },
          "priority": {
            "type": "integer",
            "description": "Priority of the DeliverySource",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreatePicklistReserveOptions": {
        "type": "object",
        "description": "Model Class: CreatePicklistReserveOptions ",
        "additionalProperties": false,
        "required": [
          "picklistPerOrder"
        ],
        "properties": {
          "picklistPerOrder": {
            "type": "boolean",
            "description": "Pick list per order"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateReassignRequest": {
        "type": "object",
        "description": "Model Class: CreateReassignRequest ",
        "additionalProperties": false,
        "required": [
          "deliverySources",
          "salesOrderPositions",
          "picklistReserveOptions"
        ],
        "properties": {
          "deliverySources": {
            "type": "array",
            "description": "DeliverySource to consider",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverySource"
            }
          },
          "salesOrderPositions": {
            "type": "array",
            "description": "Positions to reassign",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateSalesOrderPosition"
            }
          },
          "picklistReserveOptions": {
            "description": "Reservation options",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreatePicklistReserveOptions"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateReserveRequest": {
        "type": "object",
        "description": "Model Class: CreateReserveRequest ",
        "additionalProperties": false,
        "required": [
          "salesOrders",
          "deliverySources",
          "picklistReserveOptions"
        ],
        "properties": {
          "salesOrders": {
            "type": "array",
            "description": "List of sales orders",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateSalesOrder"
            }
          },
          "deliverySources": {
            "type": "array",
            "description": "List of preferred warehouses and suppliers",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateDeliverySource"
            }
          },
          "picklistReserveOptions": {
            "description": "Reservation options",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreatePicklistReserveOptions"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateSalesOrder": {
        "type": "object",
        "description": "Model Class: CreateSalesOrder ",
        "additionalProperties": false,
        "required": [
          "salesOrderId"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Sales order ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.CreateSalesOrderPosition": {
        "type": "object",
        "description": "Model Class: CreateSalesOrderPosition ",
        "additionalProperties": false,
        "required": [
          "salesOrderPositionId",
          "amount"
        ],
        "properties": {
          "salesOrderPositionId": {
            "description": "Position ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "amount": {
            "type": "number",
            "description": "Quantity",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.DeliverResponse": {
        "type": "object",
        "description": "Model Class: DeliverResponse ",
        "additionalProperties": false,
        "required": [
          "splitOrders",
          "newOrders",
          "newPicklists",
          "newDeliveryNotes",
          "processedPicklists",
          "deliveredOrders",
          "newSupplierOrders",
          "newFulfillmentOrders"
        ],
        "properties": {
          "splitOrders": {
            "type": "array",
            "description": "Orders that has been splitted",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "newOrders": {
            "type": "array",
            "description": "Newly created orders",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "newPicklists": {
            "type": "array",
            "description": "Newly created orders",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "newDeliveryNotes": {
            "type": "array",
            "description": "Newly created orders",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "processedPicklists": {
            "type": "array",
            "description": "Newly created orders",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "deliveredOrders": {
            "type": "array",
            "description": "Newly created orders",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "newSupplierOrders": {
            "type": "array",
            "description": "Newly created orders",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "newFulfillmentOrders": {
            "type": "array",
            "description": "Newly created orders",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.DeliverySourceType": {
        "type": "integer",
        "description": "0 = Warehouse, 1 = Supplier, 2 = CheapestSupplier, 3 = FastestSupplier, 4 = StandardSupplier",
        "format": "int32",
        "x-enumNames": [
          "Warehouse",
          "Supplier",
          "CheapestSupplier",
          "FastestSupplier",
          "StandardSupplier"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.OrderReservation": {
        "type": "object",
        "description": "Model Class: OrderReservation ",
        "additionalProperties": false,
        "required": [
          "salesOrderId",
          "completelyReserved",
          "reservations"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Sales order ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "completelyReserved": {
            "type": "boolean",
            "description": "True if fully reserved"
          },
          "reservations": {
            "type": "array",
            "description": "Assigned reservations",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.Reservation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.Picklist": {
        "type": "object",
        "description": "Model Class: Picklist ",
        "additionalProperties": false,
        "required": [
          "picklistId"
        ],
        "properties": {
          "picklistId": {
            "description": "ID of the pick list",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.PicklistReservationOrder": {
        "type": "object",
        "description": "Model Class: PicklistReservationOrder ",
        "additionalProperties": false,
        "required": [
          "salesOrderId",
          "reservations"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Sales order ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "reservations": {
            "type": "array",
            "description": "Assigned reservations",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.PicklistReservationOrderPosition"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.PicklistReservationOrderPosition": {
        "type": "object",
        "description": "Model Class: PicklistReservationOrderPosition ",
        "additionalProperties": false,
        "required": [
          "salesOrderPositionId",
          "pickPositionId",
          "itemId",
          "amount"
        ],
        "properties": {
          "salesOrderPositionId": {
            "description": "Position ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "pickPositionId": {
            "description": "PickPosition ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
          },
          "itemId": {
            "description": "The reserved item Id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "amount": {
            "type": "number",
            "description": "Reserved quantity",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.PicklistReservations": {
        "type": "object",
        "description": "Model Class: PicklistReservations ",
        "additionalProperties": false,
        "required": [
          "picklistId",
          "warehouseId",
          "sessionId",
          "timestamp",
          "supplierId",
          "contactPersonId",
          "orders"
        ],
        "properties": {
          "picklistId": {
            "description": "Sales order ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
          },
          "warehouseId": {
            "description": "Warehouse ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "sessionId": {
            "type": "integer",
            "description": "Session Id of the Picklist",
            "format": "int32"
          },
          "timestamp": {
            "type": "string",
            "description": "Reservation timestamp",
            "format": "date-time"
          },
          "supplierId": {
            "description": "Supplier Id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "contactPersonId": {
            "description": "Contact Person Id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AnsprechpartnerKey"
          },
          "orders": {
            "type": "array",
            "description": "List of reserved orders",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.PicklistReservationOrder"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.ReassignResponse": {
        "type": "object",
        "description": "Model Class: ReassignResponse ",
        "additionalProperties": false,
        "required": [
          "picklists",
          "salesOrderPositions"
        ],
        "properties": {
          "picklists": {
            "type": "array",
            "description": "Updated pick lists",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.Picklist"
            }
          },
          "salesOrderPositions": {
            "type": "array",
            "description": "New reservations",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.SalesOrderPositionReservation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.Reservation": {
        "type": "object",
        "description": "Model Class: Reservation ",
        "additionalProperties": false,
        "required": [
          "salesOrderPositionId",
          "warehouseId",
          "amount",
          "supplierId",
          "contactPersonId"
        ],
        "properties": {
          "salesOrderPositionId": {
            "description": "Position ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "warehouseId": {
            "description": "Warehouse ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "amount": {
            "type": "number",
            "description": "Reserved quantity",
            "format": "decimal"
          },
          "supplierId": {
            "description": "Supplier Id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "contactPersonId": {
            "type": "integer",
            "description": "Contact Person Id",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.ReserveResponse": {
        "type": "object",
        "description": "Model Class: ReserveResponse ",
        "additionalProperties": false,
        "required": [
          "picklists",
          "orderReservations"
        ],
        "properties": {
          "picklists": {
            "type": "array",
            "description": "Generated pick lists",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.Picklist"
            }
          },
          "orderReservations": {
            "type": "array",
            "description": "Reservation results",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.OrderReservation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Delivery.SalesOrderPositionReservation": {
        "type": "object",
        "description": "Model Class: SalesOrderPositionReservation ",
        "additionalProperties": false,
        "required": [
          "salesOrderPositionId",
          "reservations"
        ],
        "properties": {
          "salesOrderPositionId": {
            "description": "Position ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "reservations": {
            "type": "array",
            "description": "Reassigned reservations",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Delivery.Reservation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.CreateDeliveryNotePackagePosting": {
        "type": "object",
        "description": "Model Class: CreateDeliveryNotePackagePosting ",
        "additionalProperties": false,
        "required": [
          "trackingID"
        ],
        "properties": {
          "shippedDate": {
            "type": "string",
            "description": "The date when the package was shipped.",
            "format": "date-time"
          },
          "trackingID": {
            "type": "string",
            "description": "The tracking Id of the package."
          },
          "comment": {
            "type": "string",
            "description": "The comment of the package."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNote": {
        "type": "object",
        "description": "Model Class: DeliveryNote ",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "deliveryNoteDate",
          "packages"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a delivery note.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "number": {
            "type": "string",
            "description": "The number of the delivery note."
          },
          "deliveryNoteDate": {
            "type": "string",
            "description": "The date when the delivery note was created.",
            "format": "date-time"
          },
          "packages": {
            "type": "array",
            "description": "All packages that are created with the delivery note.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNotePackage"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNotePackage": {
        "type": "object",
        "description": "Model Class: DeliveryNotePackage ",
        "additionalProperties": false,
        "required": [
          "id",
          "packageDate",
          "trackingID",
          "weights",
          "shippingMethodId",
          "shippedDate",
          "trackingUrl",
          "comment"
        ],
        "properties": {
          "id": {
            "description": "The id of the package.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandKey"
          },
          "packageDate": {
            "type": "string",
            "description": "The date when the package was created.",
            "format": "date-time"
          },
          "trackingID": {
            "type": "string",
            "description": "The tracking Id of the package."
          },
          "weights": {
            "type": "number",
            "description": "The weight of the package.",
            "format": "decimal"
          },
          "shippingMethodId": {
            "description": "The shipping method of the package.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shippedDate": {
            "type": "string",
            "description": "The date when the package was shipped.",
            "format": "date-time"
          },
          "trackingUrl": {
            "type": "string",
            "description": "The tracking url of the package."
          },
          "comment": {
            "type": "string",
            "description": "The comment of the package."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.DeliveryNoteWorkflowEvent": {
        "type": "integer",
        "description": "1 = Created, 2 = Deleted, 3 = Shipped",
        "format": "int32",
        "x-enumNames": [
          "Created",
          "Deleted",
          "Shipped"
        ],
        "enum": [
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.DeliveryNote.UpdateDeliveryNotePackagePosting": {
        "type": "object",
        "description": "Model Class: UpdateDeliveryNotePackagePosting ",
        "additionalProperties": false,
        "required": [
          "trackingID"
        ],
        "properties": {
          "shippedDate": {
            "type": "string",
            "description": "The date when the package was shipped.",
            "format": "date-time"
          },
          "trackingID": {
            "type": "string",
            "description": "The tracking Id of the package."
          },
          "comment": {
            "type": "string",
            "description": "The comment of the package."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.CreateExtension": {
        "type": "object",
        "description": "Model Class: CreateExtension ",
        "additionalProperties": false,
        "required": [
          "extensionId",
          "version",
          "manifestHash"
        ],
        "properties": {
          "extensionId": {
            "type": "string",
            "description": "The Unique Identifier of the Extension"
          },
          "version": {
            "type": "string",
            "description": "The Version of Extension."
          },
          "manifestHash": {
            "type": "string",
            "description": "The Hash of the Manifest Hexadeimcal Sha512"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.Extension": {
        "type": "object",
        "description": "Model Class: Extension ",
        "additionalProperties": false,
        "required": [
          "id",
          "extensionId",
          "version",
          "created",
          "lastChanged",
          "manifestHash",
          "status"
        ],
        "properties": {
          "id": {
            "description": "The Identifier of the Extension.",
            "$ref": "#/components/schemas/JTL.Wawi.Extensibility.Core.Contracts.Domain.Keys.ExtensionKey"
          },
          "extensionId": {
            "type": "string",
            "description": "The Unique Identifier of the Extension"
          },
          "version": {
            "type": "string",
            "description": "The Version of Extension."
          },
          "created": {
            "type": "string",
            "description": "The Date of Creation the Extension in the Wawi",
            "format": "date-time"
          },
          "lastChanged": {
            "type": "string",
            "description": "The Date of the last changeof the Extension information",
            "format": "date-time"
          },
          "manifestHash": {
            "type": "string",
            "description": "The Hash of the Manifest Hexadeimcal Sha512"
          },
          "status": {
            "description": "The status of the Extension",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.ExtensionRegistrationStatus"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.ExtensionRegistrationStatus": {
        "type": "integer",
        "description": "0 = Disabled, 1 = Pending, 2 = Active",
        "format": "int32",
        "x-enumNames": [
          "Disabled",
          "Pending",
          "Active"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.PutExtensionManifest": {
        "type": "object",
        "description": "Model Class: PutExtensionManifest ",
        "additionalProperties": false,
        "required": [
          "manifest",
          "signature"
        ],
        "properties": {
          "manifest": {
            "type": "string",
            "description": "The Data of the Extension Manifest",
            "format": "byte"
          },
          "signature": {
            "type": "string",
            "description": "The Signature of the Manifest",
            "format": "byte"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.UpdateExtension": {
        "type": "object",
        "description": "Model Class: UpdateExtension ",
        "additionalProperties": false,
        "properties": {
          "version": {
            "type": "string",
            "description": "The Version of Extension."
          },
          "manifestHash": {
            "type": "string",
            "description": "The Hash of the Manifest Hexadeimcal Sha512"
          },
          "status": {
            "type": "integer",
            "description": "The status of the Extension",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Extensibility.ExtensionRegistrationStatus"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Features.FeatureInfo": {
        "type": "object",
        "description": "Model Class: FeatureInfo ",
        "additionalProperties": false,
        "required": [
          "feature",
          "version",
          "release",
          "isUsable"
        ],
        "properties": {
          "feature": {
            "type": "string",
            "description": "The Identifier of the Feature."
          },
          "version": {
            "type": "integer",
            "description": "The Version of API.",
            "format": "int32"
          },
          "release": {
            "type": "string",
            "description": "The releasestate of the Feature"
          },
          "isUsable": {
            "type": "boolean",
            "description": "The endpoint is possible to use"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Info.Status": {
        "type": "object",
        "description": "Model Class: Status ",
        "additionalProperties": false,
        "required": [
          "version",
          "timestamp",
          "tenant",
          "type"
        ],
        "properties": {
          "version": {
            "type": "string",
            "description": "The Version of Wawi."
          },
          "timestamp": {
            "type": "string",
            "description": "The current Server Time",
            "format": "date-time"
          },
          "tenant": {
            "type": "string",
            "description": "The name of the current Database Tenant"
          },
          "type": {
            "type": "string",
            "description": "Constant Identifier of API"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.Invoice": {
        "type": "object",
        "description": "Model Class: Invoice ",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "externalNumber",
          "companyId",
          "departureCountry",
          "customerId",
          "billingAddress",
          "shipmentAddress",
          "invoiceDate",
          "invoicePaymentDetails",
          "colorcodeId",
          "dunningBlock",
          "isExternalInvoice",
          "comment",
          "customerComment",
          "isCancelled",
          "languageIso",
          "cancellationDetails"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an invoice.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "number": {
            "type": "string",
            "description": "The number of the invoice."
          },
          "externalNumber": {
            "type": "string",
            "description": "The external number of the sales order."
          },
          "companyId": {
            "description": "The company ID on the invoice.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "departureCountry": {
            "description": "The departure country information on the invoice. If none is indicated, it will be determined from the company's information.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceDepartureCountry"
          },
          "customerId": {
            "description": "The customer ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "billingAddress": {
            "description": "The address to which the invoice is issued.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Address"
          },
          "shipmentAddress": {
            "description": "The adress to which the goods are shipped.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Address"
          },
          "invoiceDate": {
            "type": "string",
            "description": "The date when the invoice was created.",
            "format": "date-time"
          },
          "invoicePaymentDetails": {
            "description": "Payment-specific information of the sales invoice.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoicePaymentDetail"
          },
          "colorcodeId": {
            "description": "The colour code of the invoice.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "dunningBlock": {
            "type": "boolean",
            "description": "The creation of dunning letters is blocked."
          },
          "isExternalInvoice": {
            "type": "boolean",
            "description": "Indicates if the invoice of the sales order was created in an external system like Amazon VCS."
          },
          "comment": {
            "type": "string",
            "description": "A comment on the sales order."
          },
          "customerComment": {
            "type": "string",
            "description": "A customer comment on the sales order."
          },
          "isCancelled": {
            "type": "boolean",
            "description": "Indicates if the invoice has been cancelled."
          },
          "languageIso": {
            "type": "string",
            "description": "The language of the invoice."
          },
          "cancellationDetails": {
            "description": "The cancellation details in case the invoice has been cancelled.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceCancellationDetails"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceCancellationDetails": {
        "type": "object",
        "description": "Model Class: InvoiceCancellationDetails ",
        "additionalProperties": false,
        "required": [
          "cancellationReasonId",
          "cancellationComment",
          "date"
        ],
        "properties": {
          "cancellationReasonId": {
            "description": "The ID of the reason for cancelling the invoice.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungStornogrundKey"
          },
          "cancellationComment": {
            "type": "string",
            "description": "A comment that adds further information to the cancellation."
          },
          "date": {
            "type": "string",
            "description": "The DateTime of Cancellation.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceDepartureCountry": {
        "type": "object",
        "description": "Model Class: InvoiceDepartureCountry ",
        "additionalProperties": false,
        "required": [
          "countryISO",
          "state",
          "currencyIso",
          "currencyFactor"
        ],
        "properties": {
          "countryISO": {
            "type": "string",
            "description": "ISO code of the departure country."
          },
          "state": {
            "type": "string",
            "description": "Name of the state in the departure country."
          },
          "currencyIso": {
            "type": "string",
            "description": "ISO code of the currency of the departure country."
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency factor of the departure country.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceLineItem": {
        "type": "object",
        "description": "Model Class: InvoiceLineItem ",
        "additionalProperties": false,
        "required": [
          "id",
          "invoiceId",
          "salesOrderId",
          "salesOrderLineItemId",
          "itemId",
          "name",
          "sKU",
          "type",
          "quantity",
          "salesUnit",
          "salesPriceNet",
          "salesPriceGross",
          "discount",
          "purchasePriceNet",
          "taxRate"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an invoice line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungPositionKey"
          },
          "invoiceId": {
            "description": "Unique ID to identify an invoice.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "salesOrderId": {
            "description": "Unique ID to identify a sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "salesOrderLineItemId": {
            "description": "Unique ID to identify a sales order line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the item."
          },
          "sKU": {
            "type": "string",
            "description": "SKU of the sales invoice item."
          },
          "type": {
            "description": "Type of the sales invoice item.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceLineItemType"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The measurement unit in which the line item is sold."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the line item.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The gross sales price of the line item.",
            "format": "decimal"
          },
          "discount": {
            "type": "number",
            "description": "The discount applied to the line item.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The price for which the merchant has bought the item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceLineItemType": {
        "type": "integer",
        "description": "0 = CustomLineItem, 1 = Item, 2 = Shipping, 3 = Coupon, 4 = Voucher, 5 = Payment, 6 = ShippingSurcharge, 7 = NewCustomerCoupon, 8 = CashOnDelivery, 9 = ShippingSurchargeItem, 10 = GiftWrapping, 11 = GiftForFree, 12 = TrustedShops, 13 = InterestPremium, 14 = ProcessingFee, 15 = Carton, 16 = ReturnDelivery, 17 = MultiPurposeVoucher, 18 = MultiPurposeVoucherDigital, 19 = SinglePurposeVoucher, 20 = SinglePurposeVoucherDigital, 21 = SinglePurposeVoucherRedemption",
        "format": "int32",
        "x-enumNames": [
          "CustomLineItem",
          "Item",
          "Shipping",
          "Coupon",
          "Voucher",
          "Payment",
          "ShippingSurcharge",
          "NewCustomerCoupon",
          "CashOnDelivery",
          "ShippingSurchargeItem",
          "GiftWrapping",
          "GiftForFree",
          "TrustedShops",
          "InterestPremium",
          "ProcessingFee",
          "Carton",
          "ReturnDelivery",
          "MultiPurposeVoucher",
          "MultiPurposeVoucherDigital",
          "SinglePurposeVoucher",
          "SinglePurposeVoucherDigital",
          "SinglePurposeVoucherRedemption"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoicePaymentDetail": {
        "type": "object",
        "description": "Model Class: InvoicePaymentDetail ",
        "additionalProperties": false,
        "required": [
          "paymentMethodId",
          "paymentStatus",
          "totalGrossAmount",
          "currencyIso",
          "currencyFactor",
          "stillToPay",
          "paymentTarget",
          "cashDiscount",
          "cashDiscountDays",
          "stopPaymentRequest",
          "dunningLevel",
          "nextDueDate"
        ],
        "properties": {
          "paymentMethodId": {
            "description": "The payment method whith which the invoice was paid.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "paymentStatus": {
            "description": "The payment status of the invoice.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoicePaymentStatus"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "The total gross amount of the invoice.",
            "format": "decimal"
          },
          "currencyIso": {
            "type": "string",
            "description": "ISO code of the currency of the invoice."
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency factor for the sales order at the time the sales order has been created.",
            "format": "decimal"
          },
          "stillToPay": {
            "type": "number",
            "description": "The amount that is left to pay for this invoice.",
            "format": "decimal"
          },
          "paymentTarget": {
            "type": "integer",
            "description": "The due date for payment of the sales order in days.",
            "format": "int32"
          },
          "cashDiscount": {
            "type": "number",
            "description": "The cash discount of the sales order.",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The days that the cash discount is valid.",
            "format": "int32"
          },
          "stopPaymentRequest": {
            "type": "boolean",
            "description": "The creation of dunning letters is blocked."
          },
          "dunningLevel": {
            "type": "integer",
            "description": "The stage at which dunning currently is",
            "format": "int32"
          },
          "nextDueDate": {
            "type": "string",
            "description": "The next due date",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoicePaymentStatus": {
        "type": "integer",
        "description": "0 = UnPayed, 1 = PartialPayed, 2 = Payed",
        "format": "int32",
        "x-enumNames": [
          "UnPayed",
          "PartialPayed",
          "Payed"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Invoice.InvoiceWorkflowEvent": {
        "type": "integer",
        "description": "1 = Created, 3 = CompletePaid, 6 = Canceled",
        "format": "int32",
        "x-enumNames": [
          "Created",
          "CompletePaid",
          "Canceled"
        ],
        "enum": [
          1,
          3,
          6
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Item.ItemWorkflowEvent": {
        "type": "integer",
        "description": "1 = Created, 2 = Changed, 3 = Deleted",
        "format": "int32",
        "x-enumNames": [
          "Created",
          "Changed",
          "Deleted"
        ],
        "enum": [
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.CreateNumberRangeItem": {
        "type": "object",
        "description": "A Individuel NumberRange",
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "properties": {
          "prefix": {
            "type": "string",
            "description": "The Number Prefix for the NumberRange"
          },
          "currentNumber": {
            "type": "integer",
            "description": "The Current Number of the NumberRange",
            "format": "int32"
          },
          "suffix": {
            "type": "string",
            "description": "The Number Suffix for the NumberRange"
          },
          "companyId": {
            "description": "The internal ID of the company associated with the customer. This is configured in the company and email settings in JTL-Wawi",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeCurrentNumberItem": {
        "type": "object",
        "description": "The CurrentValue of Individuel NumberRange",
        "additionalProperties": false,
        "required": [
          "nextNumber",
          "isPreview"
        ],
        "properties": {
          "nextNumber": {
            "type": "string",
            "description": "The Next Number of the NumberRange"
          },
          "isPreview": {
            "type": "boolean",
            "description": "Can the Number is only a Preview Number"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.NumberRangeItem": {
        "type": "object",
        "description": "A Individuel NumberRange",
        "additionalProperties": false,
        "required": [
          "identifier",
          "name",
          "description",
          "prefix",
          "currentNumber",
          "suffix",
          "maxLength",
          "exampleNumber",
          "isDeletable"
        ],
        "properties": {
          "identifier": {
            "description": "The Unique Identifier of a Sync",
            "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey"
          },
          "name": {
            "type": "string",
            "description": "The Name of the Number Range"
          },
          "description": {
            "type": "string",
            "description": "The Name of the Number Range"
          },
          "prefix": {
            "type": "string",
            "description": "The Number Prefix for the NumberRange"
          },
          "currentNumber": {
            "type": "integer",
            "description": "The Current Number of the NumberRange",
            "format": "int32"
          },
          "suffix": {
            "type": "string",
            "description": "The Number Suffix for the NumberRange"
          },
          "maxLength": {
            "type": "integer",
            "description": "The Max Length of an Number Range",
            "format": "int32"
          },
          "companyId": {
            "description": "The internal ID of the company associated with the customer. This is configured in the company and email settings in JTL-Wawi",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "exampleNumber": {
            "type": "string",
            "description": "The Example of a Number"
          },
          "isDeletable": {
            "type": "boolean",
            "description": "Can the Number Range be deleted"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.NumberRanges.PutNumberRangeItem": {
        "type": "object",
        "description": "A Individuel NumberRange",
        "additionalProperties": false,
        "properties": {
          "prefix": {
            "type": "string",
            "description": "The Number Prefix for the NumberRange"
          },
          "currentNumber": {
            "type": "integer",
            "description": "The Current Number of the NumberRange",
            "format": "int32"
          },
          "suffix": {
            "type": "string",
            "description": "The Number Suffix for the NumberRange"
          },
          "companyId": {
            "description": "The internal ID of the company associated with the customer. This is configured in the company and email settings in JTL-Wawi",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.OnHoldReason.OnHoldReason": {
        "type": "object",
        "description": "Model Class: OnHoldReason ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isMergeable",
          "itemsNotUsedForPurchaseList"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an on hold reason.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the on hold reason."
          },
          "isMergeable": {
            "type": "boolean",
            "description": "Indicates if orders with an on hold reason are allowed to be merged with other orders from the same customer."
          },
          "itemsNotUsedForPurchaseList": {
            "type": "boolean",
            "description": "If this option is enabled, then the items in this order are not used for calculating the purchase list."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.CreateProperty": {
        "type": "object",
        "description": "Model Class: CreateProperty ",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the property in the standard language."
          },
          "translations": {
            "type": "array",
            "description": "Different terms for the property in the non-default languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateTranslation"
            }
          },
          "propertyGroups": {
            "type": "array",
            "description": "IDs of property groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalGruppeKey"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.CreatePropertyGroup": {
        "type": "object",
        "description": "Model Class: CreatePropertyGroup ",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the property group."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.CreatePropertyValue": {
        "type": "object",
        "description": "Model Class: CreatePropertyValue ",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the property value in the default language."
          },
          "description": {
            "type": "string",
            "description": "Description of the property value in the default language."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.CreatePropertyValueDescription": {
        "type": "object",
        "description": "Model Class: CreatePropertyValueDescription ",
        "additionalProperties": false,
        "required": [
          "propertyValueId",
          "name",
          "languageIso"
        ],
        "properties": {
          "propertyValueId": {
            "description": "Unique ID to identify a property value.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
          },
          "name": {
            "type": "string",
            "description": "The property value name in the given language."
          },
          "description": {
            "type": "string",
            "description": "The property value description in the given language."
          },
          "seoPath": {
            "type": "string",
            "description": "The SEO path in the given language."
          },
          "seoMetaDescription": {
            "type": "string",
            "description": "The SEO metadescription in the given language."
          },
          "seoTitleTag": {
            "type": "string",
            "description": "The title tag (SEO) in the given language."
          },
          "seoMetaKeywords": {
            "type": "string",
            "description": "The meta keywords in the given language."
          },
          "languageIso": {
            "type": "string",
            "description": "The ISO code of the language of the description."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.Property": {
        "type": "object",
        "description": "Model Class: Property ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "translations",
          "propertyGroups"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a property.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the property in the standard language."
          },
          "translations": {
            "type": "array",
            "description": "Different terms for the property in the non-default languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Translation"
            }
          },
          "propertyGroups": {
            "type": "array",
            "description": "IDs of property groups.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalGruppeKey"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyGroup": {
        "type": "object",
        "description": "Model Class: PropertyGroup ",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a property group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalGruppeKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the property group."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyValue": {
        "type": "object",
        "description": "Model Class: PropertyValue ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "description"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify the property value.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the property value in the default language."
          },
          "description": {
            "type": "string",
            "description": "Description of the property value in the default language."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.PropertyValueDescription": {
        "type": "object",
        "description": "Model Class: PropertyValueDescription ",
        "additionalProperties": false,
        "required": [
          "propertyValueId",
          "name",
          "description",
          "seoPath",
          "seoMetaDescription",
          "seoTitleTag",
          "seoMetaKeywords",
          "languageIso"
        ],
        "properties": {
          "propertyValueId": {
            "description": "Unique ID to identify a property value.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MerkmalWertKey"
          },
          "name": {
            "type": "string",
            "description": "The property value name in the given language."
          },
          "description": {
            "type": "string",
            "description": "The property value description in the given language."
          },
          "seoPath": {
            "type": "string",
            "description": "The SEO path in the given language."
          },
          "seoMetaDescription": {
            "type": "string",
            "description": "The SEO metadescription in the given language."
          },
          "seoTitleTag": {
            "type": "string",
            "description": "The title tag (SEO) in the given language."
          },
          "seoMetaKeywords": {
            "type": "string",
            "description": "The meta keywords in the given language."
          },
          "languageIso": {
            "type": "string",
            "description": "The ISO code of the language of the description."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.UpdatePropertyValue": {
        "type": "object",
        "description": "Model Class: UpdatePropertyValue ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the property value in the default language."
          },
          "description": {
            "type": "string",
            "description": "Description of the property value in the default language."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Property.UpdatePropertyValueDescription": {
        "type": "object",
        "description": "Model Class: UpdatePropertyValueDescription ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "The property value name in the given language."
          },
          "description": {
            "type": "string",
            "description": "The property value description in the given language."
          },
          "seoPath": {
            "type": "string",
            "description": "The SEO path in the given language."
          },
          "seoMetaDescription": {
            "type": "string",
            "description": "The SEO metadescription in the given language."
          },
          "seoTitleTag": {
            "type": "string",
            "description": "The title tag (SEO) in the given language."
          },
          "seoMetaKeywords": {
            "type": "string",
            "description": "The meta keywords in the given language."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Refund.RefundCancellationReason": {
        "type": "object",
        "description": "Model Class: RefundCancellationReason ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isCommentRequired"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a cancellation reason",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftStornogrundKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the cancellation reason"
          },
          "isCommentRequired": {
            "type": "boolean",
            "description": "Indicates if a comment is required when this cancellation reason is used"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.ResponsiblePerson.ResponsiblePerson": {
        "type": "object",
        "description": "Model Class: ResponsiblePerson ",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "description",
          "address",
          "created",
          "lastChanged",
          "isActive",
          "languageKey"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a Contact.",
            "$ref": "#/components/schemas/JTL.Wawi.ContactManagement.Core.Contracts.Domain.Keys.ContactKey"
          },
          "number": {
            "type": "string",
            "description": "Unique Number of the ResponsiblePerson."
          },
          "description": {
            "type": "string",
            "description": "Manufacturer description."
          },
          "address": {
            "description": "The customer's default address.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Address"
          },
          "created": {
            "type": "string",
            "description": "The DateTime of Creation.",
            "format": "date-time"
          },
          "lastChanged": {
            "type": "string",
            "description": "The DateTime of the Lastchange.",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean",
            "description": "The ResponsiblePerson is active"
          },
          "languageKey": {
            "description": "The Default Language of the ResponsiblePerson",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Return.CreateReturn": {
        "type": "object",
        "description": "Model Class: CreateReturn ",
        "additionalProperties": false,
        "required": [
          "companyId",
          "salesOrderId",
          "warehouseId",
          "items"
        ],
        "properties": {
          "returnDate": {
            "type": "string",
            "description": "The date when the return was created.",
            "format": "date-time"
          },
          "externalNumber": {
            "type": "string",
            "description": "An arbitrary external reference number for identifying the return, provided only during creation and cannot be changed afterward."
          },
          "companyId": {
            "description": "The company of the corresponding sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "salesOrderId": {
            "description": "The id of the sales order if the return has exactly on corresponding sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "warehouseId": {
            "description": "Id of the Warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "externalComment": {
            "type": "string",
            "description": "The external comment of the sales order."
          },
          "internalComment": {
            "type": "string",
            "description": "The internal comment of the sales order."
          },
          "contact": {
            "type": "string",
            "description": "The contact of the return."
          },
          "items": {
            "type": "array",
            "description": "List of items included in the return.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.CreateReturnLineItem"
            }
          },
          "packages": {
            "type": "array",
            "description": "List of packages included in the return.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.CreateReturnPackage"
            }
          },
          "transmitToSalesChannel": {
            "type": "boolean",
            "description": "Indicates whether the return should be transmitted to the sales channel (e.g. SCX or Amazon)."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Return.CreateReturnLineItem": {
        "type": "object",
        "description": "Model Class: CreateReturnLineItem ",
        "additionalProperties": false,
        "required": [
          "quantity",
          "returnReasonId"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal",
            "maximum": 2147483647,
            "minimum": 0.000001
          },
          "returnReasonId": {
            "description": "Unique ID to identify a return reason.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckgabegrundKey"
          },
          "returnReasonComment": {
            "type": "string",
            "description": "The comment corresponding to the return line item reason."
          },
          "credit": {
            "type": "boolean",
            "description": "Indicates whether this return line item should be credited. If omitted on creation, defaults to false."
          },
          "salesOrderLineItemId": {
            "description": "Unique ID to identify a sales order item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "deliveryNoteLineItemId": {
            "description": "Unique ID to identify a delivery note item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinPosKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Return.CreateReturnPackage": {
        "type": "object",
        "description": "Model Class: CreateReturnPackage ",
        "additionalProperties": false,
        "required": [
          "trackingID"
        ],
        "properties": {
          "trackingID": {
            "type": "string",
            "description": "The tracking Id of the package."
          },
          "shippingMethodId": {
            "description": "The shipping method.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shippingMethodCustom": {
            "type": "string",
            "description": "The custom shipping method name used for the return. This value may only be set if ShippingMethodId is not provided."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Return.Return": {
        "type": "object",
        "description": "Model Class: Return ",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "returnDate",
          "customerId",
          "externalNumber",
          "origin",
          "companyId",
          "salesOrderId",
          "stateId",
          "warehouseId",
          "externalComment",
          "internalComment",
          "contact",
          "transmitToSalesChannel"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a return.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
          },
          "number": {
            "type": "string",
            "description": "The number of the return."
          },
          "returnDate": {
            "type": "string",
            "description": "The date when the return was created.",
            "format": "date-time"
          },
          "customerId": {
            "description": "The customer ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "externalNumber": {
            "type": "string",
            "description": "An arbitrary external reference number for identifying the return, provided only during creation and cannot be changed afterward."
          },
          "origin": {
            "description": "Indicates the origin of the return, specifying where or how the return was initiated.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Return.ReturnOrigin"
          },
          "companyId": {
            "description": "The company of the corresponding sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "salesOrderId": {
            "description": "The id of the sales order if the return has exactly on corresponding sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "stateId": {
            "description": "The id of the return state.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
          },
          "warehouseId": {
            "description": "Id of the Warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "externalComment": {
            "type": "string",
            "description": "The external comment of the sales order."
          },
          "internalComment": {
            "type": "string",
            "description": "The internal comment of the sales order."
          },
          "contact": {
            "type": "string",
            "description": "The contact of the return."
          },
          "transmitToSalesChannel": {
            "type": "boolean",
            "description": "Indicates whether the return should be transmitted to the sales channel (e.g. SCX or Amazon)."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Return.ReturnLineItem": {
        "type": "object",
        "description": "Model Class: ReturnLineItem ",
        "additionalProperties": false,
        "required": [
          "id",
          "returnId",
          "stateId",
          "itemId",
          "name",
          "sKU",
          "quantity",
          "returnReasonId",
          "conditionId",
          "conditionComment",
          "credit",
          "salesOrderId",
          "salesOrderLineItemId",
          "deliveryNoteLineItemId"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a return line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
          },
          "returnId": {
            "description": "Unique ID to identify a return.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
          },
          "stateId": {
            "description": "The id of the return line item state.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "sKU": {
            "type": "string",
            "description": "SKU of the line item."
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "returnReasonId": {
            "description": "Unique ID to identify a return reason.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckgabegrundKey"
          },
          "returnReasonComment": {
            "type": "string",
            "description": "The comment corresponding to the return line item reason."
          },
          "conditionId": {
            "description": "Unique ID to identify a condition.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZustandKey"
          },
          "conditionComment": {
            "type": "string",
            "description": "The comment corresponding to the return line item condition."
          },
          "credit": {
            "type": "boolean",
            "description": "Indicates whether this return line item should be credited. If omitted on creation, defaults to false."
          },
          "salesOrderId": {
            "description": "Unique ID to identify a sales order file.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "salesOrderLineItemId": {
            "description": "Unique ID to identify a sales order item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "deliveryNoteLineItemId": {
            "description": "Unique ID to identify a delivery note item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinPosKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Return.ReturnOrigin": {
        "type": "integer",
        "description": "0 = None, 1 = Email, 2 = Manual, 3 = Phone, 4 = Fax, 5 = FFN, 6 = SCX, 7 = RestAPI",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Email",
          "Manual",
          "Phone",
          "Fax",
          "FFN",
          "SCX",
          "RestAPI"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Return.ReturnPackage": {
        "type": "object",
        "description": "Model Class: ReturnPackage ",
        "additionalProperties": false,
        "required": [
          "id",
          "returnId",
          "trackingID"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a return package.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureEtikettKey"
          },
          "returnId": {
            "description": "Unique ID to identify a return.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
          },
          "trackingID": {
            "type": "string",
            "description": "The tracking Id of the package."
          },
          "shippingMethodId": {
            "description": "The shipping method.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shippingMethodCustom": {
            "type": "string",
            "description": "The custom shipping method name used for the return. This value may only be set if ShippingMethodId is not provided."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.ReturnReason.ReturnReason": {
        "type": "object",
        "description": "Model Class: ReturnReason ",
        "additionalProperties": false,
        "required": [
          "id",
          "translations"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an return reason.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckgabegrundKey"
          },
          "translations": {
            "type": "array",
            "description": "The list of the condition names.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Translation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.ReturnState.ReturnState": {
        "type": "object",
        "description": "Model Class: ReturnState ",
        "additionalProperties": false,
        "required": [
          "id",
          "isActive",
          "translations"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an return state.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates if the state is active."
          },
          "translations": {
            "type": "array",
            "description": "The list of the return state.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Translation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesInvoiceCorrection.SalesInvoiceCorrectionCancellationReason": {
        "type": "object",
        "description": "Model Class: SalesInvoiceCorrectionCancellationReason ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isCommentRequired"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a cancellation reason",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftStornogrundKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the cancellation reason"
          },
          "isCommentRequired": {
            "type": "boolean",
            "description": "Indicates if a comment is required when this cancellation reason is used"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.CreateSalesOrderCancellationDetails": {
        "type": "object",
        "description": "Model Class: CreateSalesOrderCancellationDetails ",
        "additionalProperties": false,
        "required": [
          "cancellationReasonId"
        ],
        "properties": {
          "cancellationReasonId": {
            "description": "The id of the reason for cancelling the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AuftragStornogrundKey"
          },
          "cancellationComment": {
            "type": "string",
            "description": "A comment that adds further information to the cancellation."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.CreateSalesOrderLineItem": {
        "type": "object",
        "description": "Model Class: CreateSalesOrderLineItem ",
        "additionalProperties": false,
        "required": [
          "quantity"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID to identify an item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "sKU": {
            "type": "string",
            "description": "SKU of the sales order line item."
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The gross sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "discount": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "notice": {
            "type": "string",
            "description": "Notice for the line item."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderCancellationReason": {
        "type": "object",
        "description": "Model Class: SalesOrderCancellationReason ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isCommentRequired"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a cancellation reason",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AuftragStornogrundKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the cancellation reason"
          },
          "isCommentRequired": {
            "type": "boolean",
            "description": "Indicates if a comment is required when this cancellation reason is used"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderFile": {
        "type": "object",
        "description": "Model Class: SalesOrderFile ",
        "additionalProperties": false,
        "required": [
          "id",
          "salesOrderId",
          "fileId",
          "fileDataType",
          "size",
          "createdAt",
          "fileName"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a sales order file.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragFileKey"
          },
          "salesOrderId": {
            "description": "Unique ID to identify a sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "fileId": {
            "description": "Unique ID to identify a file.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FileKey"
          },
          "fileDataType": {
            "type": "string",
            "description": "Type of file."
          },
          "size": {
            "type": "number",
            "description": "Image size.",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "Date when the file was created in the system.",
            "format": "date-time"
          },
          "fileName": {
            "type": "string",
            "description": "name of the file."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItem": {
        "type": "object",
        "description": "Model Class: SalesOrderLineItem ",
        "additionalProperties": false,
        "required": [
          "id",
          "salesOrderId",
          "itemId",
          "name",
          "sKU",
          "type",
          "quantity",
          "quantityDelivered",
          "quantityReturned",
          "salesUnit",
          "salesPriceNet",
          "salesPriceGross",
          "discount",
          "purchasePriceNet",
          "taxRate",
          "notice"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a sales order item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "salesOrderId": {
            "description": "Unique ID to identify a sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "sKU": {
            "type": "string",
            "description": "SKU of the sales order line item."
          },
          "type": {
            "description": "Type of the sales order line item. Type 0 -> free-text position | Type 1 -> item position",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItemType"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "quantityDelivered": {
            "type": "number",
            "description": "The quantity of the line item that has been delivered.",
            "format": "decimal"
          },
          "quantityReturned": {
            "type": "number",
            "description": "The quantity of the line item that has been returned.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The gross sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "discount": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "notice": {
            "type": "string",
            "description": "Notice for the line item."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItemFile": {
        "type": "object",
        "description": "Model Class: SalesOrderLineItemFile ",
        "additionalProperties": false,
        "required": [
          "id",
          "salesOrderLineItemId",
          "salesOrderId",
          "fileId",
          "fileDataType",
          "size",
          "createdAt",
          "fileName"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a sales order line item file.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionFileKey"
          },
          "salesOrderLineItemId": {
            "description": "Unique ID to identify a sales order item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "salesOrderId": {
            "description": "Unique ID to identify a sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "fileId": {
            "description": "Unique ID to identify a file.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FileKey"
          },
          "fileDataType": {
            "type": "string",
            "description": "Type of file."
          },
          "size": {
            "type": "number",
            "description": "Image size.",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "Date when the file was created in the system.",
            "format": "date-time"
          },
          "fileName": {
            "type": "string",
            "description": "name of the file."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderLineItemType": {
        "type": "integer",
        "description": "0 = Blank, 1 = Item, 2 = Shipping, 3 = Coupon, 4 = Voucher, 5 = Payment, 6 = ShippingSurcharge, 7 = NewCustomerCoupon, 8 = CashOnDelivery, 9 = ShippingSurchargeItem, 10 = Packing, 11 = GiftForFree, 12 = TrustedShops, 13 = InterestPremium, 14 = ProcessingFee, 15 = Carton, 16 = ReturnDelivery, 17 = MultiPurposeVoucher, 18 = MultiPurposeVoucherDigital, 19 = SinglePurposeVoucher, 20 = SinglePurposeVoucherDigital, 21 = SinglePurposeVoucherRedemption",
        "format": "int32",
        "x-enumNames": [
          "Blank",
          "Item",
          "Shipping",
          "Coupon",
          "Voucher",
          "Payment",
          "ShippingSurcharge",
          "NewCustomerCoupon",
          "CashOnDelivery",
          "ShippingSurchargeItem",
          "Packing",
          "GiftForFree",
          "TrustedShops",
          "InterestPremium",
          "ProcessingFee",
          "Carton",
          "ReturnDelivery",
          "MultiPurposeVoucher",
          "MultiPurposeVoucherDigital",
          "SinglePurposeVoucher",
          "SinglePurposeVoucherDigital",
          "SinglePurposeVoucherRedemption"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.SalesOrderWorkflowEvent": {
        "type": "integer",
        "description": "1 = Created, 2 = Deleted, 3 = Changed, 4 = Delievered, 5 = Canceled, 6 = Joined, 7 = Splittet, 9 = WithOutShipping, 10 = CompletePaid",
        "format": "int32",
        "x-enumNames": [
          "Created",
          "Deleted",
          "Changed",
          "Delievered",
          "Canceled",
          "Joined",
          "Splittet",
          "WithOutShipping",
          "CompletePaid"
        ],
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          9,
          10
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.UpdateSalesOrderLineItem": {
        "type": "object",
        "description": "Model Class: UpdateSalesOrderLineItem ",
        "additionalProperties": false,
        "properties": {
          "itemId": {
            "description": "Unique ID to identify an item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "sKU": {
            "type": "string",
            "description": "SKU of the sales order line item."
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The gross sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "discount": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "notice": {
            "type": "string",
            "description": "Notice for the line item."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.SalesOrder.UpdateSalesOrderLineItemFile": {
        "type": "object",
        "description": "Model Class: UpdateSalesOrderLineItemFile ",
        "additionalProperties": false,
        "properties": {
          "fileData": {
            "type": "string",
            "description": "Base64 encoded data of the file.",
            "format": "byte"
          },
          "fileDataType": {
            "type": "string",
            "description": "Type of file."
          },
          "fileName": {
            "type": "string",
            "description": "name of the file."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Stock.CreateStock": {
        "type": "object",
        "description": "Model Class: CreateStock ",
        "additionalProperties": false,
        "required": [
          "warehouseId",
          "itemId",
          "quantity"
        ],
        "properties": {
          "warehouseId": {
            "description": "Warehouse ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "storageLocationId": {
            "description": "Storage location ID if the warehouse type is JTL-WMS.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "itemId": {
            "description": "Id of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "shelfLifeExpirationDate": {
            "type": "string",
            "description": "Shelf life expiration date of the item, if applicable.",
            "format": "date-time"
          },
          "batchNumber": {
            "type": "string",
            "description": "Batch number of the item if, the item is a batch item."
          },
          "quantity": {
            "type": "number",
            "description": "The quantity that should be added to this storage location.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "serialNumbers": {
            "type": "array",
            "description": "Serial numbers of the item. The amount of serial numbers must match the quantity and no serial numbers that are already in stock are allowed.",
            "items": {
              "type": "string"
            }
          },
          "comment": {
            "type": "string",
            "description": "Comment for this stock change."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Stock.Stock": {
        "type": "object",
        "description": "Model Class: Stock ",
        "additionalProperties": false,
        "required": [
          "warehouseId",
          "storageLocationId",
          "storageLocationName",
          "itemId",
          "shelfLifeExpirationDate",
          "batchNumber",
          "quantityTotal",
          "quantityLockedForShipment",
          "quantityLockedForAvailability",
          "quantityInPickingLists"
        ],
        "properties": {
          "warehouseId": {
            "description": "Warehouse ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "storageLocationId": {
            "description": "Storage location ID if the warehouse type is JTL-WMS.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "storageLocationName": {
            "type": "string",
            "description": "Name of the storage location."
          },
          "itemId": {
            "description": "Id of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "shelfLifeExpirationDate": {
            "type": "string",
            "description": "Shelf life expiration date of the item, if applicable.",
            "format": "date-time"
          },
          "batchNumber": {
            "type": "string",
            "description": "Batch number of the item if, the item is a batch item."
          },
          "quantityTotal": {
            "type": "number",
            "description": "Total quantity of this item at this storage location.",
            "format": "decimal"
          },
          "quantityLockedForShipment": {
            "type": "number",
            "description": "Quantity at this storage location that is locked for shipment, f.e. because the storage location or warehouse is locked for shipment.",
            "format": "decimal"
          },
          "quantityLockedForAvailability": {
            "type": "number",
            "description": "Quantity at this storage location that is locked for availability, f.e. because the storage location or warehouse is locked for availability.",
            "format": "decimal"
          },
          "quantityInPickingLists": {
            "type": "number",
            "description": "Quantity at this storage location that is on picking lists.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Stock.StockChange": {
        "type": "object",
        "description": "Model Class: StockChange ",
        "additionalProperties": false,
        "required": [
          "itemId",
          "warehouseId",
          "storageLocationId",
          "quantity",
          "changedDate",
          "shelfLifeExpirationDate",
          "batchNumber",
          "comment",
          "username"
        ],
        "properties": {
          "itemId": {
            "description": "Id of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "warehouseId": {
            "description": "Id of the Warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "storageLocationId": {
            "description": "Id of the storage location.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity that was changed.",
            "format": "decimal"
          },
          "changedDate": {
            "type": "string",
            "description": "The date when the stock change took place.",
            "format": "date-time"
          },
          "shelfLifeExpirationDate": {
            "type": "string",
            "description": "Shelf life expiration date of the item if the item has one.",
            "format": "date-time"
          },
          "batchNumber": {
            "type": "string",
            "description": "Batch number of the item if the item is a batch item."
          },
          "comment": {
            "type": "string",
            "description": "Comment for this stock change."
          },
          "username": {
            "type": "string",
            "description": "Name of the user who made this stock change."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Tax.TaxRate": {
        "type": "object",
        "description": "Model Class: TaxRate ",
        "additionalProperties": false,
        "required": [
          "rate",
          "taxClassId",
          "departureCountryISO",
          "shipmentCountryISO"
        ],
        "properties": {
          "rate": {
            "type": "number",
            "description": "The given Rate",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The ID of the tax class.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "departureCountryISO": {
            "type": "string",
            "description": "Country ISO code of the address."
          },
          "shipmentCountryISO": {
            "type": "string",
            "description": "Country ISO code of the address."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.TransactionStatus.TransactionStatus": {
        "type": "object",
        "description": "Model Class: TransactionStatus ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isValidForSalesQuotation",
          "isValidForSalesOrder",
          "isValidForSubscription"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique ID to identify a transaction's status.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the transaction status."
          },
          "isValidForSalesQuotation": {
            "type": "boolean",
            "description": "Indicates if a transaction status can be used for sales quotations."
          },
          "isValidForSalesOrder": {
            "type": "boolean",
            "description": "Indicates if a transaction status can be used for sales orders."
          },
          "isValidForSubscription": {
            "type": "boolean",
            "description": "Indicates if a transaction status can be used for subscriptions."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Warehouse.StorageLocation": {
        "type": "object",
        "description": "Model Class: StorageLocation ",
        "additionalProperties": false,
        "required": [
          "id",
          "warehouseId",
          "name",
          "storageLocationType",
          "sortNumber",
          "priority",
          "lockForShipment",
          "lockForAvailability",
          "comment",
          "dimensions"
        ],
        "properties": {
          "id": {
            "description": "Unique ID of the storage location or bin.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "warehouseId": {
            "description": "ID of the warehouse where the storage location is located.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the storage bin. This identifies the exact location inside the warehouse."
          },
          "storageLocationType": {
            "description": "Type of the storage location.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Warehouse.StorageLocationType"
          },
          "sortNumber": {
            "type": "integer",
            "description": "Sort number for the storage location. Used for creating picking lists.",
            "format": "int32"
          },
          "priority": {
            "type": "integer",
            "description": "Priority of the storage location.",
            "format": "int32"
          },
          "lockForShipment": {
            "type": "boolean",
            "description": "Declares if the warehouse is locked for shipment."
          },
          "lockForAvailability": {
            "type": "boolean",
            "description": "Declares is the warehouse is locked for stock availabilites."
          },
          "comment": {
            "type": "string",
            "description": "Comment for the storage bin."
          },
          "dimensions": {
            "description": "Dimentions of the storage bin.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Dimensions"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Warehouse.StorageLocationType": {
        "type": "object",
        "description": "Model Class: StorageLocationType ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "description",
          "scope"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique Id of the storage location type as UUID."
          },
          "name": {
            "type": "string",
            "description": "Name of the storage location type."
          },
          "description": {
            "type": "string",
            "description": "Description of the storage location type."
          },
          "scope": {
            "type": "array",
            "description": "List of Scopes with permissions",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.Warehouse.WarehouseType": {
        "type": "object",
        "description": "Model Class: WarehouseType ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "description",
          "scope"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique Id of the warehouse type as UUID."
          },
          "name": {
            "type": "string",
            "description": "Name of the warehouse type."
          },
          "description": {
            "type": "string",
            "description": "Description of the warehouse type."
          },
          "scope": {
            "type": "array",
            "description": "List of Scopes with permissions",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.ChangeReservation": {
        "type": "object",
        "description": "Model Class: ChangeReservation ",
        "additionalProperties": false,
        "required": [
          "error",
          "updatedPositions"
        ],
        "properties": {
          "error": {
            "description": "todo",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.ChangeReservationError"
          },
          "updatedPositions": {
            "type": "array",
            "description": "todo",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListPosition"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.ChangeReservationError": {
        "type": "integer",
        "description": "0 = None, 1 = Unknown, 2 = PartialReserved, 3 = NothingReserved",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Unknown",
          "PartialReserved",
          "NothingReserved"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.CreatePickList": {
        "type": "object",
        "description": "Model Class: CreatePickList ",
        "additionalProperties": false,
        "required": [
          "pickListTemplateId"
        ],
        "properties": {
          "pickListTemplateId": {
            "description": "Id of the pick list template that created the pick list.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteVorlageKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickList": {
        "type": "object",
        "description": "Model Class: PickList ",
        "additionalProperties": false,
        "required": [
          "id",
          "warehouseId",
          "picklistNumber",
          "pickListTemplateId",
          "pickListTemplateName",
          "status",
          "createdAt"
        ],
        "properties": {
          "id": {
            "description": "Internal unique id of the pick list. This is not the same as the pick list number.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
          },
          "warehouseId": {
            "description": "Id of the Warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "picklistNumber": {
            "type": "string",
            "description": "Number of the pick list. This can be resetted in JTL-Wawi, but is always used for printing and showing the pick list in the UI."
          },
          "pickListTemplateId": {
            "description": "Id of the pick list template that created the pick list.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteVorlageKey"
          },
          "pickListTemplateName": {
            "type": "string",
            "description": "Name of the pick list template that created the pick list."
          },
          "status": {
            "description": "Status of the pick list.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListStatus"
          },
          "createdAt": {
            "type": "string",
            "description": "Time when the pick list was created.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListPosition": {
        "type": "object",
        "description": "Model Class: PickListPosition ",
        "additionalProperties": false,
        "required": [
          "id",
          "warehouseId",
          "picklistId",
          "storageLocationId",
          "itemId",
          "quantity",
          "status",
          "priority",
          "salesOrderLineItemId",
          "createdAt",
          "salesOrderId"
        ],
        "properties": {
          "id": {
            "description": "Id of the pick list position.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
          },
          "warehouseId": {
            "description": "Id of the warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "picklistId": {
            "description": "Id of the pick list.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
          },
          "storageLocationId": {
            "description": "Id of the storage location from where the pick should happen.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "itemId": {
            "description": "Id of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity to pick.",
            "format": "decimal"
          },
          "status": {
            "description": "Status of the position.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListStatus"
          },
          "priority": {
            "type": "integer",
            "description": "Priority of the position.",
            "format": "int32"
          },
          "salesOrderLineItemId": {
            "description": "Id of the corresponding order position.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "createdAt": {
            "type": "string",
            "description": "Time when the pick list was created.",
            "format": "date-time"
          },
          "salesOrderId": {
            "description": "Search for a specific sales order Id.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListStatus": {
        "type": "integer",
        "description": "10 = Created, 11 = InProgress, 20 = Picked, 30 = InShippingBox, 40 = Completed",
        "format": "int32",
        "x-enumNames": [
          "Created",
          "InProgress",
          "Picked",
          "InShippingBox",
          "Completed"
        ],
        "enum": [
          10,
          11,
          20,
          30,
          40
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListTemplate": {
        "type": "object",
        "description": "Model Class: PickListTemplate ",
        "additionalProperties": false,
        "required": [
          "pickListTemplateId",
          "name"
        ],
        "properties": {
          "pickListTemplateId": {
            "description": "Id of the pick list template.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteVorlageKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the pick list template."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.UpdateChangeReservation": {
        "type": "object",
        "description": "Model Class: UpdateChangeReservation ",
        "additionalProperties": false,
        "properties": {
          "storageLocationList": {
            "type": "array",
            "description": "Id of the storage location from where the pick should happen.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V1.WMS.UpdatePickPosition": {
        "type": "object",
        "description": "Model Class: UpdatePickPosition ",
        "additionalProperties": false,
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Quantity to pick.",
            "format": "decimal"
          },
          "shelfLifeExpirationDate": {
            "type": "string",
            "description": "Shelf life expiration date of the item, if applicable.",
            "format": "date-time"
          },
          "batchNumber": {
            "type": "string",
            "description": "Batch number of the item if, the item is a batch item."
          },
          "serialNumbers": {
            "type": "array",
            "description": "Serial numbers of the item. The amount of serial numbers must match the quantity and no serial numbers that are already in stock are allowed.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.Attribute": {
        "type": "object",
        "description": "Model Class: Attribute ",
        "additionalProperties": false,
        "required": [
          "id",
          "attributeId",
          "groupName",
          "description",
          "names",
          "possibleValues",
          "activeSalesChannels",
          "sortNumber",
          "relationType",
          "fieldType"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an attribute.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AttributKey"
          },
          "attributeId": {
            "type": "string",
            "description": "Unique ID to identify an attribute. Setting this field will make the attribute a functional attribute."
          },
          "groupName": {
            "type": "string",
            "description": "The Name of the group to which the attribute belongs."
          },
          "description": {
            "type": "string",
            "description": "Internal attribute description."
          },
          "names": {
            "description": "Attribute names for a given language.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeNames"
          },
          "possibleValues": {
            "description": "Attribute value lists for a given language.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributePossibleValues"
          },
          "activeSalesChannels": {
            "type": "array",
            "description": "Shops in which the attribute will be available.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          },
          "sortNumber": {
            "type": "integer",
            "description": "The attribute sort number used in some sales channels for arranging the attributes.",
            "format": "int32"
          },
          "relationType": {
            "description": "Determines to which kind of object the attribute can assigend.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeRelationType"
          },
          "fieldType": {
            "description": "Determines the data type of the attribute.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeFieldType"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeFieldType": {
        "type": "integer",
        "description": "0 = None, 1 = Integer, 2 = Decimal, 3 = Text, 4 = Checkbox, 5 = List, 6 = Url, 7 = Email, 8 = PhoneNumber, 9 = CountryIso, 10 = Price, 11 = Date, 12 = ShortText",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Integer",
          "Decimal",
          "Text",
          "Checkbox",
          "List",
          "Url",
          "Email",
          "PhoneNumber",
          "CountryIso",
          "Price",
          "Date",
          "ShortText"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeNames": {
        "type": "object",
        "description": "Model Class: AttributeNames ",
        "additionalProperties": false,
        "required": [
          "names"
        ],
        "properties": {
          "names": {
            "type": "array",
            "description": "Attribute names in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Translation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributePossibleValues": {
        "type": "object",
        "description": "Model Class: AttributePossibleValues ",
        "additionalProperties": false,
        "required": [
          "possibleValues"
        ],
        "properties": {
          "possibleValues": {
            "type": "array",
            "description": "Attribute values in the specified language",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.PossibleValueTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeRelationType": {
        "type": "integer",
        "description": "0 = Product, 1 = Category",
        "format": "int32",
        "x-enumNames": [
          "Product",
          "Category"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreateAttribute": {
        "type": "object",
        "description": "Model Class: CreateAttribute ",
        "additionalProperties": false,
        "required": [
          "groupName",
          "names",
          "relationType",
          "fieldType"
        ],
        "properties": {
          "attributeId": {
            "type": "string",
            "description": "Unique ID to identify an attribute. Setting this field will make the attribute a functional attribute."
          },
          "groupName": {
            "type": "string",
            "description": "The Name of the group to which the attribute belongs."
          },
          "description": {
            "type": "string",
            "description": "Internal attribute description."
          },
          "names": {
            "description": "Attribute names for a given language.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreateAttributeNames"
          },
          "possibleValues": {
            "description": "Attribute value lists for a given language.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreateAttributePossibleValues"
          },
          "activeSalesChannels": {
            "type": "array",
            "description": "Shops in which the attribute will be available.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          },
          "sortNumber": {
            "type": "integer",
            "description": "The attribute sort number used in some sales channels for arranging the attributes.",
            "format": "int32"
          },
          "relationType": {
            "description": "Determines to which kind of object the attribute can assigend.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeRelationType"
          },
          "fieldType": {
            "description": "Determines the data type of the attribute.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeFieldType"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreateAttributeNames": {
        "type": "object",
        "description": "Model Class: CreateAttributeNames ",
        "additionalProperties": false,
        "required": [
          "names"
        ],
        "properties": {
          "names": {
            "type": "array",
            "description": "Attribute names in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreateAttributePossibleValues": {
        "type": "object",
        "description": "Model Class: CreateAttributePossibleValues ",
        "additionalProperties": false,
        "required": [
          "possibleValues"
        ],
        "properties": {
          "possibleValues": {
            "type": "array",
            "description": "Attribute values in the specified language",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreatePossibleValueTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreateFunctionAttribute": {
        "type": "object",
        "description": "Model Class: CreateFunctionAttribute ",
        "additionalProperties": false,
        "required": [
          "attributeId",
          "groupName",
          "name",
          "relationType",
          "fieldType"
        ],
        "properties": {
          "attributeId": {
            "type": "string",
            "description": "Unique ID to identify an attribute. Setting this field will make the attribute a functional attribute."
          },
          "groupName": {
            "type": "string",
            "description": "The Name of the group to which the attribute belongs."
          },
          "description": {
            "type": "string",
            "description": "Internal attribute description."
          },
          "name": {
            "type": "string",
            "description": "Attribute name."
          },
          "possibleValues": {
            "type": "array",
            "description": "Attribute value list.",
            "items": {
              "type": "string"
            }
          },
          "activeSalesChannels": {
            "type": "array",
            "description": "Shops in which the attribute will be available.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          },
          "sortNumber": {
            "type": "integer",
            "description": "The attribute sort number used in some sales channels for arranging the attributes.",
            "format": "int32"
          },
          "relationType": {
            "description": "Determines to which kind of object the attribute can assigend.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeRelationType"
          },
          "fieldType": {
            "description": "Determines the data type of the attribute.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeFieldType"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.CreatePossibleValueTranslation": {
        "type": "object",
        "description": "Model Class: CreatePossibleValueTranslation ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "possibleValues"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "The language ISO code"
          },
          "possibleValues": {
            "type": "array",
            "description": "The list of possible values in the corresponding language",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.FunctionAttribute": {
        "type": "object",
        "description": "Model Class: FunctionAttribute ",
        "additionalProperties": false,
        "required": [
          "id",
          "attributeId",
          "groupName",
          "description",
          "name",
          "possibleValues",
          "activeSalesChannels",
          "sortNumber",
          "relationType",
          "fieldType"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an attribute.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AttributKey"
          },
          "attributeId": {
            "type": "string",
            "description": "Unique ID to identify an attribute. Setting this field will make the attribute a functional attribute."
          },
          "groupName": {
            "type": "string",
            "description": "The Name of the group to which the attribute belongs."
          },
          "description": {
            "type": "string",
            "description": "Internal attribute description."
          },
          "name": {
            "type": "string",
            "description": "Attribute name."
          },
          "possibleValues": {
            "type": "array",
            "description": "Attribute value list.",
            "items": {
              "type": "string"
            }
          },
          "activeSalesChannels": {
            "type": "array",
            "description": "Shops in which the attribute will be available.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          },
          "sortNumber": {
            "type": "integer",
            "description": "The attribute sort number used in some sales channels for arranging the attributes.",
            "format": "int32"
          },
          "relationType": {
            "description": "Determines to which kind of object the attribute can assigend.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeRelationType"
          },
          "fieldType": {
            "description": "Determines the data type of the attribute.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.AttributeFieldType"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.PossibleValueTranslation": {
        "type": "object",
        "description": "Model Class: PossibleValueTranslation ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "possibleValues"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "The language ISO code"
          },
          "possibleValues": {
            "type": "array",
            "description": "The list of possible values in the corresponding language",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.UpdateAttribute": {
        "type": "object",
        "description": "Model Class: UpdateAttribute ",
        "additionalProperties": false,
        "properties": {
          "attributeId": {
            "type": "string",
            "description": "Unique ID to identify an attribute. Setting this field will make the attribute a functional attribute."
          },
          "groupName": {
            "type": "string",
            "description": "The Name of the group to which the attribute belongs."
          },
          "description": {
            "type": "string",
            "description": "Internal attribute description."
          },
          "names": {
            "description": "Attribute names for a given language.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.UpdateAttributeNames"
          },
          "possibleValues": {
            "description": "Attribute value lists for a given language.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.UpdateAttributePossibleValues"
          },
          "activeSalesChannels": {
            "type": "array",
            "description": "Shops in which the attribute will be available.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
            }
          },
          "sortNumber": {
            "type": "integer",
            "description": "The attribute sort number used in some sales channels for arranging the attributes.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.UpdateAttributeNames": {
        "type": "object",
        "description": "Model Class: UpdateAttributeNames ",
        "additionalProperties": false,
        "required": [
          "names"
        ],
        "properties": {
          "names": {
            "type": "array",
            "description": "Attribute names in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.UpdateAttributePossibleValues": {
        "type": "object",
        "description": "Model Class: UpdateAttributePossibleValues ",
        "additionalProperties": false,
        "required": [
          "possibleValues"
        ],
        "properties": {
          "possibleValues": {
            "type": "array",
            "description": "Attribute values in the specified language",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Attributes.UpdatePossibleValueTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Attributes.UpdatePossibleValueTranslation": {
        "type": "object",
        "description": "Model Class: UpdatePossibleValueTranslation ",
        "additionalProperties": false,
        "required": [
          "languageIso",
          "possibleValues"
        ],
        "properties": {
          "languageIso": {
            "type": "string",
            "description": "The language ISO code"
          },
          "possibleValues": {
            "type": "array",
            "description": "The list of possible values in the corresponding language",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Common.CreatePaymentRequest": {
        "type": "object",
        "description": "Model Class: CreatePaymentRequest ",
        "additionalProperties": false,
        "required": [
          "amount",
          "paymentDate",
          "paymentMethodId"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "description": "Payment amount",
            "format": "decimal"
          },
          "paymentDate": {
            "type": "string",
            "description": "Date when the payment was made",
            "format": "date-time"
          },
          "paymentMethodId": {
            "description": "Payment method identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "distribute": {
            "type": "boolean",
            "description": "Whether to distribute the payment to associated orders"
          },
          "comment": {
            "type": "string",
            "description": "Optional comment for the payment"
          },
          "sendMail": {
            "type": "boolean",
            "description": "Whether to send a confirmation email after payment processing"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Common.Payment": {
        "type": "object",
        "description": "Model Class: Payment ",
        "additionalProperties": false,
        "required": [
          "id",
          "amount",
          "assignmentInfo",
          "assignmentRating",
          "assignmentType",
          "date",
          "externalTransactionId",
          "isAdvancePayment",
          "manualSKR",
          "name",
          "noExport",
          "note",
          "paymentType",
          "salesInvoiceCorrectionId",
          "salesInvoiceId",
          "paymentMethodId",
          "salesOrderId",
          "userId"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a payment",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungKey"
          },
          "amount": {
            "type": "number",
            "description": "The Payment Amount",
            "format": "decimal"
          },
          "assignmentInfo": {
            "type": "string",
            "description": "The Payment AssignmentInfo"
          },
          "assignmentRating": {
            "type": "integer",
            "description": "The Payment AssignmentRating",
            "format": "int32"
          },
          "assignmentType": {
            "type": "integer",
            "description": "The Payment AssignmentType",
            "format": "int32"
          },
          "date": {
            "type": "string",
            "description": "The Payment Date",
            "format": "date-time"
          },
          "externalTransactionId": {
            "type": "string",
            "description": "The Payment ExternalTransactionId"
          },
          "isAdvancePayment": {
            "type": "boolean",
            "description": "The Payment IsAdvancePayment"
          },
          "manualSKR": {
            "type": "string",
            "description": "The Payment ManualSKR"
          },
          "name": {
            "type": "string",
            "description": "The Payment Name"
          },
          "noExport": {
            "type": "integer",
            "description": "The Payment NoExport",
            "format": "int32"
          },
          "note": {
            "type": "string",
            "description": "The Payment Note"
          },
          "paymentType": {
            "type": "integer",
            "description": "The Payment PaymentType",
            "format": "int32"
          },
          "salesInvoiceCorrectionId": {
            "description": "The Id of the sales invoice correction",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
          },
          "salesInvoiceId": {
            "description": "The Id of the sales invoice associated with the payment",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "paymentMethodId": {
            "description": "The Payment PaymentMethodId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "salesOrderId": {
            "description": "The Id of the sales order associated with the payment",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "userId": {
            "description": "The id of the user who processed the payment",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.CustomField.CreateCustomField": {
        "type": "object",
        "description": "Model Class: CreateCustomField ",
        "additionalProperties": false,
        "required": [
          "name",
          "groupName",
          "dataType",
          "displayLocation",
          "referenceType"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The custom field name."
          },
          "groupName": {
            "type": "string",
            "description": "The group name for this custom field."
          },
          "dataType": {
            "description": "The custom field data type.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.CustomFieldDataType"
          },
          "displayLocation": {
            "description": "Where the field should be displayed (EigeneFelder or specific location).",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.DisplayLocationType"
          },
          "referenceType": {
            "description": "The reference type this field belongs to (Item, Category, Customer, etc.).",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.ReferenceType"
          },
          "description": {
            "type": "string",
            "description": "Description of the custom field purpose."
          },
          "isRequired": {
            "type": "boolean",
            "description": "Whether this field is required."
          },
          "isHidden": {
            "type": "boolean",
            "description": "Whether this field should be hidden in the UI."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order within the group.",
            "format": "int32"
          },
          "possibleValues": {
            "type": "array",
            "description": "The possible values when the custom field is a list type.",
            "items": {
              "type": "string"
            }
          },
          "productGroups": {
            "type": "array",
            "description": "Product groups where this field is visible (only for Item reference type).",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.CustomField.CustomField": {
        "type": "object",
        "description": "Model Class: CustomField ",
        "additionalProperties": false,
        "required": [
          "customFieldId",
          "name",
          "groupName",
          "dataType",
          "displayLocation",
          "referenceType",
          "description",
          "isRequired",
          "isHidden",
          "sortOrder",
          "possibleValues",
          "productGroups"
        ],
        "properties": {
          "customFieldId": {
            "description": "Unique ID to identify a custom field.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "name": {
            "type": "string",
            "description": "The custom field name."
          },
          "groupName": {
            "type": "string",
            "description": "The group name for this custom field."
          },
          "dataType": {
            "description": "The custom field data type.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.CustomFieldDataType"
          },
          "displayLocation": {
            "description": "Where the field should be displayed (EigeneFelder or specific location).",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.DisplayLocationType"
          },
          "referenceType": {
            "description": "The reference type this field belongs to (Item, Category, Customer, etc.).",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.ReferenceType"
          },
          "description": {
            "type": "string",
            "description": "Description of the custom field purpose."
          },
          "isRequired": {
            "type": "boolean",
            "description": "Whether this field is required."
          },
          "isHidden": {
            "type": "boolean",
            "description": "Whether this field should be hidden in the UI."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order within the group.",
            "format": "int32"
          },
          "possibleValues": {
            "type": "array",
            "description": "The possible values when the custom field is a list type.",
            "items": {
              "type": "string"
            }
          },
          "productGroups": {
            "type": "array",
            "description": "Product groups where this field is visible (only for Item reference type).",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.CustomField.CustomFieldDataType": {
        "type": "integer",
        "description": "0 = None, 1 = Integer, 2 = Decimal, 3 = Text, 4 = Checkbox, 5 = List, 6 = Url, 7 = Email, 8 = PhoneNumber, 9 = CountryIso, 10 = Price, 11 = Date, 12 = ShortText",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Integer",
          "Decimal",
          "Text",
          "Checkbox",
          "List",
          "Url",
          "Email",
          "PhoneNumber",
          "CountryIso",
          "Price",
          "Date",
          "ShortText"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.CustomField.CustomFieldGroup": {
        "type": "object",
        "description": "Model Class: CustomFieldGroup ",
        "additionalProperties": false,
        "required": [
          "groupName",
          "customFields"
        ],
        "properties": {
          "groupName": {
            "type": "string",
            "description": "The name of the custom field group."
          },
          "customFields": {
            "type": "array",
            "description": "List of custom fields in this group.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.CustomField"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.CustomField.DisplayLocationType": {
        "type": "integer",
        "description": "0 = CustomFields, 1 = General",
        "format": "int32",
        "x-enumNames": [
          "CustomFields",
          "General"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.CustomField.ReferenceType": {
        "type": "integer",
        "description": "0 = Item, 1 = Category, 2 = Wawi, 3 = Customer, 4 = SalesOrder, 5 = Company, 6 = ProductionOrder, 7 = Operations, 8 = Resource, 9 = ProductionFacility, 10 = ProductionItem, 11 = SalesOrderLineItem",
        "format": "int32",
        "x-enumNames": [
          "Item",
          "Category",
          "Wawi",
          "Customer",
          "SalesOrder",
          "Company",
          "ProductionOrder",
          "Operations",
          "Resource",
          "ProductionFacility",
          "ProductionItem",
          "SalesOrderLineItem"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.CustomField.UpdateCustomField": {
        "type": "object",
        "description": "Model Class: UpdateCustomField ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "The custom field name."
          },
          "groupName": {
            "type": "string",
            "description": "The group name for this custom field."
          },
          "displayLocation": {
            "type": "integer",
            "description": "Where the field should be displayed (EigeneFelder or specific location).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.CustomField.DisplayLocationType"
          },
          "description": {
            "type": "string",
            "description": "Description of the custom field purpose."
          },
          "isRequired": {
            "type": "boolean",
            "description": "Whether this field is required."
          },
          "isHidden": {
            "type": "boolean",
            "description": "Whether this field should be hidden in the UI."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order within the group.",
            "format": "int32"
          },
          "possibleValues": {
            "type": "array",
            "description": "The possible values when the custom field is a list type.",
            "items": {
              "type": "string"
            }
          },
          "productGroups": {
            "type": "array",
            "description": "Product groups where this field is visible (only for Item reference type).",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.BomItem": {
        "type": "object",
        "description": "Model Class: BomItem ",
        "additionalProperties": false,
        "required": [
          "itemId",
          "amount",
          "notes",
          "position"
        ],
        "properties": {
          "itemId": {
            "description": "Id of the bomitem",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "amount": {
            "type": "number",
            "description": "Amount of the itembom that is needed",
            "format": "decimal"
          },
          "notes": {
            "type": "string",
            "description": "Notes for the itembom"
          },
          "position": {
            "type": "integer",
            "description": "Position of this item inside the bom",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.BundleItem": {
        "type": "object",
        "description": "Model Class: BundleItem ",
        "additionalProperties": false,
        "required": [
          "bundleId",
          "eAN",
          "quantity",
          "uPC",
          "unitId"
        ],
        "properties": {
          "bundleId": {
            "description": "Id of the bundle item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GebindeKey"
          },
          "eAN": {
            "type": "string",
            "description": "The ItemBundle EAN"
          },
          "quantity": {
            "type": "number",
            "description": "The ItemBundle Quantity",
            "format": "decimal"
          },
          "uPC": {
            "type": "string",
            "description": "The ItemBundle UPC"
          },
          "unitId": {
            "description": "The Unit to measure the bundle with",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.ConfigurationGroup": {
        "type": "object",
        "description": "Model Class: ConfigurationGroup ",
        "additionalProperties": false,
        "required": [
          "configurationGroupId"
        ],
        "properties": {
          "configurationGroupId": {
            "description": "Id of the configurationGroup",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KonfiggruppeKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.CustomerGroupOrderingConstraint": {
        "type": "object",
        "description": "Model Class: CustomerGroupOrderingConstraint ",
        "additionalProperties": false,
        "required": [
          "customerGroupid",
          "isActive",
          "orderingAmount"
        ],
        "properties": {
          "customerGroupid": {
            "description": "Identifies the customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "isActive": {
            "type": "boolean",
            "description": "If this constraint is active."
          },
          "orderingAmount": {
            "description": "Constraints for this customergroup",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.OrderingAmount"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.ItemBom": {
        "type": "object",
        "description": "Model Class: ItemBom ",
        "additionalProperties": false,
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "description": "Contains all items in the itembom",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.BomItem"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.ItemBundles": {
        "type": "object",
        "description": "Model Class: ItemBundles ",
        "additionalProperties": false,
        "required": [
          "bundleItems"
        ],
        "properties": {
          "bundleItems": {
            "type": "array",
            "description": "Contains all items of the bundle",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.BundleItem"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.ItemConfigurationGroups": {
        "type": "object",
        "description": "Model Class: ItemConfigurationGroups ",
        "additionalProperties": false,
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "description": "Contains all configurationgroups",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.ConfigurationGroup"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.ItemOrderingConstraints": {
        "type": "object",
        "description": "Model Class: ItemOrderingConstraints ",
        "additionalProperties": false,
        "required": [
          "defaultOrderingConstraint",
          "customerGroupOrderingConstraints"
        ],
        "properties": {
          "defaultOrderingConstraint": {
            "description": "Defaultconstraints for all customergroups",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.OrderingAmount"
          },
          "customerGroupOrderingConstraints": {
            "type": "array",
            "description": "The customergroup specific ordering restraints.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.CustomerGroupOrderingConstraint"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.ItemResponse": {
        "type": "object",
        "description": "Model Class: ItemResponse ",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "The ID of the item that was created or updated.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.ItemWarehouseConstraints": {
        "type": "object",
        "description": "Model Class: ItemWarehouseConstraints ",
        "additionalProperties": false,
        "required": [
          "warehouses"
        ],
        "properties": {
          "warehouses": {
            "type": "array",
            "description": "This option allows you to sell a higher quantity of the item than is actually in stock. Activates this feature but needs to be specified for platforms aswell.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.WarehouseConstraint"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.OrderingAmount": {
        "type": "object",
        "description": "Model Class: OrderingAmount ",
        "additionalProperties": false,
        "required": [
          "minimumOrderQuantity",
          "purchaseIncrement"
        ],
        "properties": {
          "minimumOrderQuantity": {
            "type": "number",
            "description": "Minimum Amount when purchasing this item.",
            "format": "decimal"
          },
          "purchaseIncrement": {
            "type": "number",
            "description": "The increasementsteps when increasing ordering amount.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.StorageLocation": {
        "type": "object",
        "description": "Model Class: StorageLocation ",
        "additionalProperties": false,
        "required": [
          "storageLocationId",
          "note1",
          "note2"
        ],
        "properties": {
          "storageLocationId": {
            "description": "Identifies the storagelocation",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "note1": {
            "type": "string",
            "description": "Field for notes"
          },
          "note2": {
            "type": "string",
            "description": "Field for notes"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateBomItem": {
        "type": "object",
        "description": "Model Class: UpdateBomItem ",
        "additionalProperties": false,
        "required": [
          "itemId",
          "amount"
        ],
        "properties": {
          "itemId": {
            "description": "Id of the bomitem",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "amount": {
            "type": "number",
            "description": "Amount of the itembom that is needed",
            "format": "decimal"
          },
          "notes": {
            "type": "string",
            "description": "Notes for the itembom"
          },
          "position": {
            "type": "integer",
            "description": "Position of this item inside the bom",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateBundleItem": {
        "type": "object",
        "description": "Model Class: UpdateBundleItem ",
        "additionalProperties": false,
        "properties": {
          "bundleId": {
            "description": "Id of the bundle item",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GebindeKey"
          },
          "eAN": {
            "type": "string",
            "description": "The ItemBundle EAN"
          },
          "quantity": {
            "type": "number",
            "description": "The ItemBundle Quantity",
            "format": "decimal"
          },
          "uPC": {
            "type": "string",
            "description": "The ItemBundle UPC"
          },
          "unitId": {
            "description": "The Unit to measure the bundle with",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EinheitKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateConfigurationGroup": {
        "type": "object",
        "description": "Model Class: UpdateConfigurationGroup ",
        "additionalProperties": false,
        "required": [
          "configurationGroupId"
        ],
        "properties": {
          "configurationGroupId": {
            "description": "Id of the configurationGroup",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KonfiggruppeKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateCustomerGroupOrderingConstraint": {
        "type": "object",
        "description": "Model Class: UpdateCustomerGroupOrderingConstraint ",
        "additionalProperties": false,
        "required": [
          "customerGroupid"
        ],
        "properties": {
          "customerGroupid": {
            "description": "Identifies the customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "isActive": {
            "type": "boolean",
            "description": "If this constraint is active."
          },
          "orderingAmount": {
            "description": "Constraints for this customergroup",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateOrderingAmount"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateItemBom": {
        "type": "object",
        "description": "Model Class: UpdateItemBom ",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "description": "Contains all items in the itembom",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateBomItem"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateItemBundles": {
        "type": "object",
        "description": "Model Class: UpdateItemBundles ",
        "additionalProperties": false,
        "properties": {
          "bundleItems": {
            "type": "array",
            "description": "Contains all items of the bundle",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateBundleItem"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateItemConfigurationGroups": {
        "type": "object",
        "description": "Model Class: UpdateItemConfigurationGroups ",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "description": "Contains all configurationgroups",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateConfigurationGroup"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateItemOrderingConstraints": {
        "type": "object",
        "description": "Model Class: UpdateItemOrderingConstraints ",
        "additionalProperties": false,
        "properties": {
          "defaultOrderingConstraint": {
            "description": "Defaultconstraints for all customergroups",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateOrderingAmount"
          },
          "customerGroupOrderingConstraints": {
            "type": "array",
            "description": "The customergroup specific ordering restraints.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateCustomerGroupOrderingConstraint"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateItemWarehouseConstraints": {
        "type": "object",
        "description": "Model Class: UpdateItemWarehouseConstraints ",
        "additionalProperties": false,
        "properties": {
          "warehouses": {
            "type": "array",
            "description": "This option allows you to sell a higher quantity of the item than is actually in stock. Activates this feature but needs to be specified for platforms aswell.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateWarehouseConstraint"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateOrderingAmount": {
        "type": "object",
        "description": "Model Class: UpdateOrderingAmount ",
        "additionalProperties": false,
        "properties": {
          "minimumOrderQuantity": {
            "type": "number",
            "description": "Minimum Amount when purchasing this item.",
            "format": "decimal"
          },
          "purchaseIncrement": {
            "type": "number",
            "description": "The increasementsteps when increasing ordering amount.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateStorageLocation": {
        "type": "object",
        "description": "Model Class: UpdateStorageLocation ",
        "additionalProperties": false,
        "properties": {
          "storageLocationId": {
            "description": "Identifies the storagelocation",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "note1": {
            "type": "string",
            "description": "Field for notes"
          },
          "note2": {
            "type": "string",
            "description": "Field for notes"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateWarehouseConstraint": {
        "type": "object",
        "description": "Model Class: UpdateWarehouseConstraint ",
        "additionalProperties": false,
        "properties": {
          "warehouseId": {
            "description": "Identifies the warehouse",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "minStock": {
            "type": "number",
            "description": "The minimal stock for this item in this warehouse.",
            "format": "decimal"
          },
          "maxStock": {
            "type": "number",
            "description": "The maximum stock for this item in this warehouse.",
            "format": "decimal"
          },
          "storagelocations": {
            "type": "array",
            "description": "Locations in the warehouse where the item is placed",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.UpdateStorageLocation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Item.WarehouseConstraint": {
        "type": "object",
        "description": "Model Class: WarehouseConstraint ",
        "additionalProperties": false,
        "required": [
          "warehouseId",
          "minStock",
          "maxStock",
          "storagelocations"
        ],
        "properties": {
          "warehouseId": {
            "description": "Identifies the warehouse",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "minStock": {
            "type": "number",
            "description": "The minimal stock for this item in this warehouse.",
            "format": "decimal"
          },
          "maxStock": {
            "type": "number",
            "description": "The maximum stock for this item in this warehouse.",
            "format": "decimal"
          },
          "storagelocations": {
            "type": "array",
            "description": "Locations in the warehouse where the item is placed",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Item.StorageLocation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Label.CreateLabel": {
        "type": "object",
        "description": "Model Class: CreateLabel ",
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "integer",
            "description": "Label type.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Label.LabelType"
          },
          "name": {
            "type": "string",
            "description": "Label name."
          },
          "colorCode": {
            "type": "string",
            "description": "Label color."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Label.Label": {
        "type": "object",
        "description": "Model Class: Label ",
        "additionalProperties": false,
        "required": [
          "id",
          "type",
          "name",
          "colorCode"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a label.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LabelKey"
          },
          "type": {
            "description": "Label type.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Label.LabelType"
          },
          "name": {
            "type": "string",
            "description": "Label name."
          },
          "colorCode": {
            "type": "string",
            "description": "Label color."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Label.LabelType": {
        "type": "integer",
        "description": "1 = Article, 2 = Customer, 6 = ProductionOperation, 7 = ProductionOrder, 8 = Resource",
        "format": "int32",
        "x-enumNames": [
          "Article",
          "Customer",
          "ProductionOperation",
          "ProductionOrder",
          "Resource"
        ],
        "enum": [
          1,
          2,
          6,
          7,
          8
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Label.QueryLabelsResponse": {
        "type": "object",
        "description": "Model Class: QueryLabelsResponse ",
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "array",
            "description": "The labels.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Label.Label"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Label.UpdateLabel": {
        "type": "object",
        "description": "Model Class: UpdateLabel ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Label name."
          },
          "colorCode": {
            "type": "string",
            "description": "Label color."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.AddressType": {
        "type": "integer",
        "description": "0 = Global, 1 = Delivery, 2 = Billing, 3 = PickUpAddress, 4 = Other",
        "format": "int32",
        "x-enumNames": [
          "Global",
          "Delivery",
          "Billing",
          "PickUpAddress",
          "Other"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.CreateManufacturer": {
        "type": "object",
        "description": "Model Class: CreateManufacturer ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the manufacturer."
          },
          "homepageUrl": {
            "type": "string",
            "description": "Homepage url of the manufacturer."
          },
          "position": {
            "type": "integer",
            "description": "Sorting position of the manufacturer.",
            "format": "int32"
          },
          "manufacturerLanguages": {
            "type": "array",
            "description": "Language translation of the manufacturer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.CreateManufacturerLanguage"
            }
          },
          "contact": {
            "description": "Address of the manufacturer.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.CreateManufacturerContactAddress"
          },
          "imageId": {
            "description": "Unique ID to identify a manufacturer image.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.CreateManufacturerContactAddress": {
        "type": "object",
        "description": "Model Class: CreateManufacturerContactAddress ",
        "additionalProperties": false,
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Company name of the contact."
          },
          "salutation": {
            "type": "integer",
            "description": "Stalutation of the contact.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.Salutation"
          },
          "academicTitle": {
            "type": "string",
            "description": "Academic title of the contact."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact."
          },
          "street": {
            "type": "string",
            "description": "Street name."
          },
          "houseNumber": {
            "type": "string",
            "description": "House number."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO country code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "mobileNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number."
          },
          "companyAdditionalName": {
            "type": "string",
            "description": "Additional company name."
          },
          "addressSupplement": {
            "type": "string",
            "description": "Address supplement (e.g. floor or unit)."
          },
          "eMailAddress": {
            "type": "string",
            "description": "Email address."
          },
          "state": {
            "type": "string",
            "description": "Full state name if no ISO code is available."
          },
          "stateIso": {
            "type": "string",
            "description": "ISO 3166-2 code for the state/province."
          },
          "type": {
            "type": "integer",
            "description": "Type of the address.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.AddressType"
          },
          "homepage": {
            "type": "string",
            "description": "Homepage of the contact."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the address is the default address."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.CreateManufacturerLanguage": {
        "type": "object",
        "description": "Model Class: CreateManufacturerLanguage ",
        "additionalProperties": false,
        "properties": {
          "languageId": {
            "description": "Unique ID to identify a language.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "metaTitle": {
            "type": "string",
            "description": "Meta title of the manufacturer."
          },
          "metaKeywords": {
            "type": "string",
            "description": "Meta keywords of the manufacturer."
          },
          "metaDescription": {
            "type": "string",
            "description": "Meta description of the manufacturer."
          },
          "description": {
            "type": "string",
            "description": "Manufacturer description."
          },
          "seo": {
            "type": "string",
            "description": "The SEO text in the given language."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.Manufacturer": {
        "type": "object",
        "description": "Model Class: Manufacturer ",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "homepageUrl",
          "position",
          "manufacturerLanguages",
          "contact",
          "imageId"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a manufacturer.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.HerstellerKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the manufacturer."
          },
          "homepageUrl": {
            "type": "string",
            "description": "Homepage url of the manufacturer."
          },
          "position": {
            "type": "integer",
            "description": "Sorting position of the manufacturer.",
            "format": "int32"
          },
          "manufacturerLanguages": {
            "type": "array",
            "description": "Language translation of the manufacturer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.ManufacturerLanguage"
            }
          },
          "contact": {
            "description": "Address of the manufacturer.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.ManufacturerContactAddress"
          },
          "imageId": {
            "description": "Unique ID to identify a manufacturer image.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.ManufacturerContactAddress": {
        "type": "object",
        "description": "Model Class: ManufacturerContactAddress ",
        "additionalProperties": false,
        "required": [
          "companyName",
          "salutation",
          "academicTitle",
          "lastName",
          "firstName",
          "street",
          "houseNumber",
          "postalCode",
          "city",
          "countryIso",
          "phoneNumber",
          "mobileNumber",
          "faxNumber",
          "companyAdditionalName",
          "addressSupplement",
          "eMailAddress",
          "state",
          "stateIso",
          "type",
          "homepage",
          "isDefault"
        ],
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Company name of the contact."
          },
          "salutation": {
            "description": "Stalutation of the contact.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.Salutation"
          },
          "academicTitle": {
            "type": "string",
            "description": "Academic title of the contact."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact."
          },
          "street": {
            "type": "string",
            "description": "Street name."
          },
          "houseNumber": {
            "type": "string",
            "description": "House number."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO country code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "mobileNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number."
          },
          "companyAdditionalName": {
            "type": "string",
            "description": "Additional company name."
          },
          "addressSupplement": {
            "type": "string",
            "description": "Address supplement (e.g. floor or unit)."
          },
          "eMailAddress": {
            "type": "string",
            "description": "Email address."
          },
          "state": {
            "type": "string",
            "description": "Full state name if no ISO code is available."
          },
          "stateIso": {
            "type": "string",
            "description": "ISO 3166-2 code for the state/province."
          },
          "type": {
            "description": "Type of the address.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.AddressType"
          },
          "homepage": {
            "type": "string",
            "description": "Homepage of the contact."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the address is the default address."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.ManufacturerLanguage": {
        "type": "object",
        "description": "Model Class: ManufacturerLanguage ",
        "additionalProperties": false,
        "required": [
          "languageId",
          "metaTitle",
          "metaKeywords",
          "metaDescription",
          "description",
          "seo"
        ],
        "properties": {
          "languageId": {
            "description": "Unique ID to identify a language.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "metaTitle": {
            "type": "string",
            "description": "Meta title of the manufacturer."
          },
          "metaKeywords": {
            "type": "string",
            "description": "Meta keywords of the manufacturer."
          },
          "metaDescription": {
            "type": "string",
            "description": "Meta description of the manufacturer."
          },
          "description": {
            "type": "string",
            "description": "Manufacturer description."
          },
          "seo": {
            "type": "string",
            "description": "The SEO text in the given language."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.Salutation": {
        "type": "integer",
        "description": "0 = Company, 1 = Mr, 2 = Mrs, 3 = Divers",
        "format": "int32",
        "x-enumNames": [
          "Company",
          "Mr",
          "Mrs",
          "Divers"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.UpdateManufacturer": {
        "type": "object",
        "description": "Model Class: UpdateManufacturer ",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the manufacturer."
          },
          "homepageUrl": {
            "type": "string",
            "description": "Homepage url of the manufacturer."
          },
          "position": {
            "type": "integer",
            "description": "Sorting position of the manufacturer.",
            "format": "int32"
          },
          "manufacturerLanguages": {
            "type": "array",
            "description": "Language translation of the manufacturer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.UpdateManufacturerLanguage"
            }
          },
          "contact": {
            "description": "Address of the manufacturer.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.UpdateManufacturerContactAddress"
          },
          "imageId": {
            "description": "Unique ID to identify a manufacturer image.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BildKey"
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.UpdateManufacturerContactAddress": {
        "type": "object",
        "description": "Model Class: UpdateManufacturerContactAddress ",
        "additionalProperties": false,
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Company name of the contact."
          },
          "salutation": {
            "type": "integer",
            "description": "Stalutation of the contact.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.Salutation"
          },
          "academicTitle": {
            "type": "string",
            "description": "Academic title of the contact."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact."
          },
          "street": {
            "type": "string",
            "description": "Street name."
          },
          "houseNumber": {
            "type": "string",
            "description": "House number."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO country code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "mobileNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number."
          },
          "companyAdditionalName": {
            "type": "string",
            "description": "Additional company name."
          },
          "addressSupplement": {
            "type": "string",
            "description": "Address supplement (e.g. floor or unit)."
          },
          "eMailAddress": {
            "type": "string",
            "description": "Email address."
          },
          "state": {
            "type": "string",
            "description": "Full state name if no ISO code is available."
          },
          "stateIso": {
            "type": "string",
            "description": "ISO 3166-2 code for the state/province."
          },
          "type": {
            "type": "integer",
            "description": "Type of the address.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.AddressType"
          },
          "homepage": {
            "type": "string",
            "description": "Homepage of the contact."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if the address is the default address."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.Manufacturer.UpdateManufacturerLanguage": {
        "type": "object",
        "description": "Model Class: UpdateManufacturerLanguage ",
        "additionalProperties": false,
        "properties": {
          "languageId": {
            "description": "Unique ID to identify a language.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "metaTitle": {
            "type": "string",
            "description": "Meta title of the manufacturer."
          },
          "metaKeywords": {
            "type": "string",
            "description": "Meta keywords of the manufacturer."
          },
          "metaDescription": {
            "type": "string",
            "description": "Meta description of the manufacturer."
          },
          "description": {
            "type": "string",
            "description": "Manufacturer description."
          },
          "seo": {
            "type": "string",
            "description": "The SEO text in the given language."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.ProductGroup.CreateProductGroup": {
        "type": "object",
        "description": "Model Class: CreateProductGroup ",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the item group.",
            "maxLength": 255
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.ProductGroup.ProductGroup": {
        "type": "object",
        "description": "Model Class: ProductGroup ",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an item group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the item group."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.ProductGroup.UpdateProductGroup": {
        "type": "object",
        "description": "Model Class: UpdateProductGroup ",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify an item group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the item group.",
            "maxLength": 255
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.CreateSalesUnit": {
        "type": "object",
        "description": "Model Class: CreateSalesUnit ",
        "additionalProperties": false,
        "required": [
          "translations"
        ],
        "properties": {
          "translations": {
            "type": "array",
            "description": "List of translations for the sales unit in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.CreateUnitOfMeasurement": {
        "type": "object",
        "description": "Model Class: CreateUnitOfMeasurement ",
        "additionalProperties": false,
        "required": [
          "displayCode",
          "translations"
        ],
        "properties": {
          "displayCode": {
            "type": "string",
            "description": "Display code for the unit of measurement."
          },
          "translations": {
            "type": "array",
            "description": "List of translations for the unit of measurement in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.CreateTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.SalesUnit": {
        "type": "object",
        "description": "Model Class: SalesUnit ",
        "additionalProperties": false,
        "required": [
          "id",
          "translations"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a sales unit.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufsEinheitKey"
          },
          "translations": {
            "type": "array",
            "description": "List of translations for the sales unit in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Translation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.UnitOfMeasurement": {
        "type": "object",
        "description": "Model Class: UnitOfMeasurement ",
        "additionalProperties": false,
        "required": [
          "id",
          "displayCode",
          "translations"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a unit of measurement.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.MassEinheitKey"
          },
          "displayCode": {
            "type": "string",
            "description": "Display code for the unit of measurement."
          },
          "translations": {
            "type": "array",
            "description": "List of translations for the unit of measurement in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.Translation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.UpdateSalesUnit": {
        "type": "object",
        "description": "Model Class: UpdateSalesUnit ",
        "additionalProperties": false,
        "required": [
          "translations"
        ],
        "properties": {
          "translations": {
            "type": "array",
            "description": "List of translations for the sales unit in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.UnitsOfMeasure.UpdateUnitOfMeasurement": {
        "type": "object",
        "description": "Model Class: UpdateUnitOfMeasurement ",
        "additionalProperties": false,
        "required": [
          "displayCode",
          "translations"
        ],
        "properties": {
          "displayCode": {
            "type": "string",
            "description": "Display code for the unit of measurement."
          },
          "translations": {
            "type": "array",
            "description": "List of translations for the unit of measurement in different languages.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.Common.UpdateTranslation"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppAddress": {
        "type": "object",
        "description": "Model Class: CreateWawiAppAddress ",
        "additionalProperties": false,
        "required": [
          "street",
          "city",
          "countryIso2"
        ],
        "properties": {
          "addressType": {
            "type": "integer",
            "description": "Art der Adresse (z.B. Rechnungsadresse, Lieferadresse).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.WawiAppAddressType"
          },
          "isStandard": {
            "type": "boolean",
            "description": "Gibt an, ob es sich um die Standardadresse handelt."
          },
          "street": {
            "type": "string",
            "description": "Straßenname und Hausnummer."
          },
          "city": {
            "type": "string",
            "description": "Name der Stadt."
          },
          "countryIso2": {
            "type": "string",
            "description": "ISO 2-stelliger Ländercode."
          },
          "honorific": {
            "type": "string",
            "description": "Anrede (z.B. Herr, Frau)."
          },
          "title": {
            "type": "string",
            "description": "Akademischer Titel."
          },
          "firstName": {
            "type": "string",
            "description": "Vorname."
          },
          "lastName": {
            "type": "string",
            "description": "Nachname."
          },
          "company": {
            "type": "string",
            "description": "Firmenname."
          },
          "companyAddition": {
            "type": "string",
            "description": "Firmenzusatz."
          },
          "additionalAddressInfo": {
            "type": "string",
            "description": "Zusätzliche Adressinformationen."
          },
          "state": {
            "type": "string",
            "description": "Bundesland oder Region."
          },
          "country": {
            "type": "string",
            "description": "Name des Landes."
          },
          "salesTaxIdentificationNumber": {
            "type": "string",
            "description": "Umsatzsteuer-Identifikationsnummer."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Telefonnummer."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobiltelefonnummer."
          },
          "mailAddress": {
            "type": "string",
            "description": "E-Mail-Adresse."
          },
          "postalCode": {
            "type": "string",
            "description": "Postleitzahl."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppBankAccount": {
        "type": "object",
        "description": "Model Class: CreateWawiAppBankAccount ",
        "additionalProperties": false,
        "properties": {
          "accountNumber": {
            "type": "string",
            "description": "Bank account number."
          },
          "bankNumber": {
            "type": "string",
            "description": "Bank code or routing number."
          },
          "iBAN": {
            "type": "string",
            "description": "International Bank Account Number."
          },
          "bIC": {
            "type": "string",
            "description": "Bank Identifier Code (SWIFT code)."
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "accountOwner": {
            "type": "string",
            "description": "Name of the account owner."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if this is the default bank account."
          },
          "cardType": {
            "type": "string",
            "description": "Type of credit card (e.g. VISA, MasterCard)."
          },
          "cardValidUntil": {
            "type": "string",
            "description": "Expiration date of the credit card in format MM/YY."
          },
          "cardVerificationValue": {
            "type": "string",
            "description": "Card verification value (CVV) of the credit card."
          },
          "bankCardNumber": {
            "type": "string",
            "description": "Credit card number."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppCustomer": {
        "type": "object",
        "description": "Model Class: CreateWawiAppCustomer ",
        "additionalProperties": false,
        "required": [
          "customerGroup",
          "street",
          "city",
          "countryIso2"
        ],
        "properties": {
          "number": {
            "type": "string",
            "description": "Customer number."
          },
          "customerGroup": {
            "description": "Customer group identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "Tax identification number."
          },
          "birthday": {
            "type": "string",
            "description": "Customer's birthday.",
            "format": "date-time"
          },
          "isBanned": {
            "type": "boolean",
            "description": "Indicates if the customer is banned."
          },
          "discount": {
            "type": "number",
            "description": "Customer discount percentage.",
            "format": "decimal"
          },
          "stopPaymentRequest": {
            "type": "boolean",
            "description": "Indicates if payment requests are stopped."
          },
          "paymentTarget": {
            "type": "integer",
            "description": "Payment target in days.",
            "format": "int32"
          },
          "paymentMethodKey": {
            "description": "Payment method key.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "lineOfCredit": {
            "type": "integer",
            "description": "Customer's line of credit.",
            "format": "int32"
          },
          "website": {
            "type": "string",
            "description": "Customer's website."
          },
          "source": {
            "type": "string",
            "description": "Customer acquisition source."
          },
          "honorific": {
            "type": "string",
            "description": "Customer's honorific title."
          },
          "title": {
            "type": "string",
            "description": "Customer's academic title."
          },
          "firstName": {
            "type": "string",
            "description": "Customer's first name."
          },
          "lastName": {
            "type": "string",
            "description": "Customer's last name."
          },
          "company": {
            "type": "string",
            "description": "Company name."
          },
          "companyAddition": {
            "type": "string",
            "description": "Company name addition."
          },
          "street": {
            "type": "string",
            "description": "Street address."
          },
          "additionalAddressInfo": {
            "type": "string",
            "description": "Additional address information."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "state": {
            "type": "string",
            "description": "State or region."
          },
          "countryIso2": {
            "type": "string",
            "description": "Country ISO 2-letter code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "mailAddress": {
            "type": "string",
            "description": "Email address."
          },
          "additionalAddresses": {
            "type": "array",
            "description": "List of additional addresses for the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppAddress"
            }
          },
          "notes": {
            "type": "array",
            "description": "List of notes associated with the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppNote"
            }
          },
          "fields": {
            "type": "array",
            "description": "List of customized fields for the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppCustomizedField"
            }
          },
          "bankAccounts": {
            "type": "array",
            "description": "List of bank accounts associated with the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppBankAccount"
            }
          },
          "contactPersons": {
            "type": "array",
            "description": "List of contact persons for the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppCustomerContactPerson"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppCustomerContactPerson": {
        "type": "object",
        "description": "Model Class: CreateWawiAppCustomerContactPerson ",
        "additionalProperties": false,
        "required": [
          "kundeKey",
          "lieferantKey",
          "anrede",
          "vorname",
          "nachname",
          "telefon",
          "mobil",
          "fax",
          "email",
          "abteilung"
        ],
        "properties": {
          "kundeKey": {
            "description": "Eindeutige ID des zugehörigen Kunden.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "lieferantKey": {
            "description": "Eindeutige ID des zugehörigen Lieferanten.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "anrede": {
            "type": "string",
            "description": "Anrede des Ansprechpartners."
          },
          "vorname": {
            "type": "string",
            "description": "Vorname des Ansprechpartners."
          },
          "nachname": {
            "type": "string",
            "description": "Nachname des Ansprechpartners."
          },
          "telefon": {
            "type": "string",
            "description": "Telefonnummer des Ansprechpartners."
          },
          "mobil": {
            "type": "string",
            "description": "Mobiltelefonnummer des Ansprechpartners."
          },
          "fax": {
            "type": "string",
            "description": "Faxnummer des Ansprechpartners."
          },
          "email": {
            "type": "string",
            "description": "E-Mail-Adresse des Ansprechpartners."
          },
          "abteilung": {
            "type": "string",
            "description": "Abteilung des Ansprechpartners im Unternehmen."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppCustomizedField": {
        "type": "object",
        "description": "Model Class: CreateWawiAppCustomizedField ",
        "additionalProperties": false,
        "required": [
          "internalCustomizedFieldKey",
          "value"
        ],
        "properties": {
          "internalCustomizedFieldKey": {
            "description": "Unique ID to identify a customized field.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "value": {
            "type": "object",
            "description": "Value of the customized field."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.CreateWawiAppNote": {
        "type": "object",
        "description": "Model Class: CreateWawiAppNote ",
        "additionalProperties": false,
        "required": [
          "noteText"
        ],
        "properties": {
          "noteText": {
            "type": "string",
            "description": "The text content of the note."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppAddress": {
        "type": "object",
        "description": "Model Class: UpdateWawiAppAddress ",
        "additionalProperties": false,
        "required": [
          "street",
          "city",
          "countryIso2"
        ],
        "properties": {
          "internalAddressKey": {
            "description": "Eindeutige ID der Adresse.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AdresseKey"
          },
          "addressType": {
            "type": "integer",
            "description": "Art der Adresse (z.B. Rechnungsadresse, Lieferadresse).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.WawiAppAddressType"
          },
          "isStandard": {
            "type": "boolean",
            "description": "Gibt an, ob es sich um die Standardadresse handelt."
          },
          "street": {
            "type": "string",
            "description": "Straßenname und Hausnummer."
          },
          "city": {
            "type": "string",
            "description": "Name der Stadt."
          },
          "countryIso2": {
            "type": "string",
            "description": "ISO 2-stelliger Ländercode."
          },
          "honorific": {
            "type": "string",
            "description": "Anrede (z.B. Herr, Frau)."
          },
          "title": {
            "type": "string",
            "description": "Akademischer Titel."
          },
          "firstName": {
            "type": "string",
            "description": "Vorname."
          },
          "lastName": {
            "type": "string",
            "description": "Nachname."
          },
          "company": {
            "type": "string",
            "description": "Firmenname."
          },
          "companyAddition": {
            "type": "string",
            "description": "Firmenzusatz."
          },
          "additionalAddressInfo": {
            "type": "string",
            "description": "Zusätzliche Adressinformationen."
          },
          "state": {
            "type": "string",
            "description": "Bundesland oder Region."
          },
          "country": {
            "type": "string",
            "description": "Name des Landes."
          },
          "salesTaxIdentificationNumber": {
            "type": "string",
            "description": "Umsatzsteuer-Identifikationsnummer."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Telefonnummer."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobiltelefonnummer."
          },
          "mailAddress": {
            "type": "string",
            "description": "E-Mail-Adresse."
          },
          "postalCode": {
            "type": "string",
            "description": "Postleitzahl."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppBankAccount": {
        "type": "object",
        "description": "Model Class: UpdateWawiAppBankAccount ",
        "additionalProperties": false,
        "properties": {
          "internalBankAccountKey": {
            "description": "Unique ID to identify a bank account.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KontoDatenKey"
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number."
          },
          "bankNumber": {
            "type": "string",
            "description": "Bank code or routing number."
          },
          "iBAN": {
            "type": "string",
            "description": "International Bank Account Number."
          },
          "bIC": {
            "type": "string",
            "description": "Bank Identifier Code (SWIFT code)."
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank."
          },
          "accountOwner": {
            "type": "string",
            "description": "Name of the account owner."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if this is the default bank account."
          },
          "cardType": {
            "type": "string",
            "description": "Type of credit card (e.g. VISA, MasterCard)."
          },
          "cardValidUntil": {
            "type": "string",
            "description": "Expiration date of the credit card in format MM/YY."
          },
          "cardVerificationValue": {
            "type": "string",
            "description": "Card verification value (CVV) of the credit card."
          },
          "bankCardNumber": {
            "type": "string",
            "description": "Credit card number."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppCustomer": {
        "type": "object",
        "description": "Model Class: UpdateWawiAppCustomer ",
        "additionalProperties": false,
        "properties": {
          "number": {
            "type": "string",
            "description": "Customer number."
          },
          "customerGroup": {
            "description": "Customer group identifier.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "Tax identification number."
          },
          "birthday": {
            "type": "string",
            "description": "Customer's birthday.",
            "format": "date-time"
          },
          "isBanned": {
            "type": "boolean",
            "description": "Indicates if the customer is banned."
          },
          "discount": {
            "type": "number",
            "description": "Customer discount percentage.",
            "format": "decimal"
          },
          "stopPaymentRequest": {
            "type": "boolean",
            "description": "Indicates if payment requests are stopped."
          },
          "paymentTarget": {
            "type": "integer",
            "description": "Payment target in days.",
            "format": "int32"
          },
          "paymentMethodKey": {
            "description": "Payment method key.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "lineOfCredit": {
            "type": "integer",
            "description": "Customer's line of credit.",
            "format": "int32"
          },
          "website": {
            "type": "string",
            "description": "Customer's website."
          },
          "source": {
            "type": "string",
            "description": "Customer acquisition source."
          },
          "honorific": {
            "type": "string",
            "description": "Customer's honorific title."
          },
          "title": {
            "type": "string",
            "description": "Customer's academic title."
          },
          "firstName": {
            "type": "string",
            "description": "Customer's first name."
          },
          "lastName": {
            "type": "string",
            "description": "Customer's last name."
          },
          "company": {
            "type": "string",
            "description": "Company name."
          },
          "companyAddition": {
            "type": "string",
            "description": "Company name addition."
          },
          "street": {
            "type": "string",
            "description": "Street address."
          },
          "additionalAddressInfo": {
            "type": "string",
            "description": "Additional address information."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "state": {
            "type": "string",
            "description": "State or region."
          },
          "countryIso2": {
            "type": "string",
            "description": "Country ISO 2-letter code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "mailAddress": {
            "type": "string",
            "description": "Email address."
          },
          "additionalAddresses": {
            "type": "array",
            "description": "List of additional addresses for the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppAddress"
            }
          },
          "notes": {
            "type": "array",
            "description": "List of notes associated with the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppNote"
            }
          },
          "fields": {
            "type": "array",
            "description": "List of customized fields for the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppCustomizedField"
            }
          },
          "bankAccounts": {
            "type": "array",
            "description": "List of bank accounts associated with the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppBankAccount"
            }
          },
          "contactPersons": {
            "type": "array",
            "description": "List of contact persons for the customer.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppCustomerContactPerson"
            }
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppCustomerContactPerson": {
        "type": "object",
        "description": "Model Class: UpdateWawiAppCustomerContactPerson ",
        "additionalProperties": false,
        "required": [
          "kundeKey",
          "lieferantKey",
          "anrede",
          "vorname",
          "nachname",
          "telefon",
          "mobil",
          "fax",
          "email",
          "abteilung"
        ],
        "properties": {
          "ansprechpartnerKey": {
            "description": "Eindeutige ID des Ansprechpartners.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AnsprechpartnerKey"
          },
          "kundeKey": {
            "description": "Eindeutige ID des zugehörigen Kunden.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "lieferantKey": {
            "description": "Eindeutige ID des zugehörigen Lieferanten.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "anrede": {
            "type": "string",
            "description": "Anrede des Ansprechpartners."
          },
          "vorname": {
            "type": "string",
            "description": "Vorname des Ansprechpartners."
          },
          "nachname": {
            "type": "string",
            "description": "Nachname des Ansprechpartners."
          },
          "telefon": {
            "type": "string",
            "description": "Telefonnummer des Ansprechpartners."
          },
          "mobil": {
            "type": "string",
            "description": "Mobiltelefonnummer des Ansprechpartners."
          },
          "fax": {
            "type": "string",
            "description": "Faxnummer des Ansprechpartners."
          },
          "email": {
            "type": "string",
            "description": "E-Mail-Adresse des Ansprechpartners."
          },
          "abteilung": {
            "type": "string",
            "description": "Abteilung des Ansprechpartners im Unternehmen."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppCustomizedField": {
        "type": "object",
        "description": "Model Class: UpdateWawiAppCustomizedField ",
        "additionalProperties": false,
        "required": [
          "internalCustomizedFieldKey"
        ],
        "properties": {
          "internalCustomizedFieldKey": {
            "description": "Unique ID to identify a customized field.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.EigenesFeldKey"
          },
          "value": {
            "type": "object",
            "description": "Value of the customized field."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.UpdateWawiAppNote": {
        "type": "object",
        "description": "Model Class: UpdateWawiAppNote ",
        "additionalProperties": false,
        "required": [
          "noteText"
        ],
        "properties": {
          "internalNoteKey": {
            "description": "Unique ID to identify a note.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.NotizKey"
          },
          "noteText": {
            "type": "string",
            "description": "The text content of the note."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.WawiAppAddressType": {
        "type": "integer",
        "description": "0 = ShippingAddress, 1 = BillingAddress, 2 = Other",
        "format": "int32",
        "x-enumNames": [
          "ShippingAddress",
          "BillingAddress",
          "Other"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WawiApp.WawiAppCustomer": {
        "type": "object",
        "description": "Model Class: WawiAppCustomer ",
        "additionalProperties": false,
        "required": [
          "internalCustomerKey",
          "number",
          "customerGroup",
          "taxIdentificationNumber",
          "birthday",
          "isBanned",
          "discount",
          "stopPaymentRequest",
          "paymentTarget",
          "paymentMethodKey",
          "lineOfCredit",
          "website",
          "source",
          "honorific",
          "title",
          "firstName",
          "lastName",
          "company",
          "companyAddition",
          "street",
          "additionalAddressInfo",
          "postalCode",
          "city",
          "state",
          "countryIso2",
          "phoneNumber",
          "mobilePhoneNumber",
          "mailAddress"
        ],
        "properties": {
          "internalCustomerKey": {
            "description": "Unique ID to identify a customer.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "number": {
            "type": "string",
            "description": "Customer number."
          },
          "customerGroup": {
            "description": "Customer group identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "Tax identification number."
          },
          "birthday": {
            "type": "string",
            "description": "Customer's birthday.",
            "format": "date-time"
          },
          "isBanned": {
            "type": "boolean",
            "description": "Indicates if the customer is banned."
          },
          "discount": {
            "type": "number",
            "description": "Customer discount percentage.",
            "format": "decimal"
          },
          "stopPaymentRequest": {
            "type": "boolean",
            "description": "Indicates if payment requests are stopped."
          },
          "paymentTarget": {
            "type": "integer",
            "description": "Payment target in days.",
            "format": "int32"
          },
          "paymentMethodKey": {
            "description": "Payment method key.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "lineOfCredit": {
            "type": "integer",
            "description": "Customer's line of credit.",
            "format": "int32"
          },
          "website": {
            "type": "string",
            "description": "Customer's website."
          },
          "source": {
            "type": "string",
            "description": "Customer acquisition source."
          },
          "honorific": {
            "type": "string",
            "description": "Customer's honorific title."
          },
          "title": {
            "type": "string",
            "description": "Customer's academic title."
          },
          "firstName": {
            "type": "string",
            "description": "Customer's first name."
          },
          "lastName": {
            "type": "string",
            "description": "Customer's last name."
          },
          "company": {
            "type": "string",
            "description": "Company name."
          },
          "companyAddition": {
            "type": "string",
            "description": "Company name addition."
          },
          "street": {
            "type": "string",
            "description": "Street address."
          },
          "additionalAddressInfo": {
            "type": "string",
            "description": "Additional address information."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code."
          },
          "city": {
            "type": "string",
            "description": "City name."
          },
          "state": {
            "type": "string",
            "description": "State or region."
          },
          "countryIso2": {
            "type": "string",
            "description": "Country ISO 2-letter code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Mobile phone number."
          },
          "mailAddress": {
            "type": "string",
            "description": "Email address."
          }
        }
      },
      "JTL.Wawi.Rest.Contracts.Models.V2.WMS.PickListPosition": {
        "type": "object",
        "description": "Model Class: PickListPosition ",
        "additionalProperties": false,
        "required": [
          "id",
          "warehouseId",
          "picklistId",
          "storageLocationId",
          "itemId",
          "quantity",
          "status",
          "priority",
          "salesOrderLineItemId",
          "createdAt"
        ],
        "properties": {
          "id": {
            "description": "Id of the pick list position.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
          },
          "warehouseId": {
            "description": "Id of the warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "picklistId": {
            "description": "Id of the pick list.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
          },
          "storageLocationId": {
            "description": "Id of the storage location from where the pick should happen.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "itemId": {
            "description": "Id of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity to pick.",
            "format": "decimal"
          },
          "status": {
            "description": "Status of the position.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.V1.WMS.PickListStatus"
          },
          "priority": {
            "type": "integer",
            "description": "Priority of the position.",
            "format": "int32"
          },
          "salesOrderLineItemId": {
            "description": "Id of the corresponding order position.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "createdAt": {
            "type": "string",
            "description": "Time when the pick list was created.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.AddReturnLineItemCommandResponse": {
        "type": "object",
        "description": "Adds a new line item to an existing return. - Response",
        "additionalProperties": false,
        "required": [
          "returnLineItemId"
        ],
        "properties": {
          "returnLineItemId": {
            "description": "The ID of the newly added line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.Return": {
        "type": "object",
        "description": "Model Class: Return ",
        "additionalProperties": false,
        "required": [
          "id",
          "returnNumber",
          "returnDate",
          "customerId",
          "externalNumber",
          "origin",
          "companyId",
          "salesOrderId",
          "stateId",
          "warehouseId",
          "externalComment",
          "internalComment",
          "contact",
          "transmitToSalesChannel"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a return.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
          },
          "returnNumber": {
            "type": "string",
            "description": "The number of the return."
          },
          "returnDate": {
            "type": "string",
            "description": "The date when the return was created.",
            "format": "date-time"
          },
          "customerId": {
            "description": "The customer ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "externalNumber": {
            "type": "string",
            "description": "An arbitrary external reference number for identifying the return."
          },
          "origin": {
            "description": "Indicates the origin of the return, specifying where or how the return was initiated.",
            "$ref": "#/components/schemas/JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.ReturnOrigin"
          },
          "companyId": {
            "description": "The company of the corresponding sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "salesOrderId": {
            "description": "The ID of the sales order if the return has exactly one corresponding sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "stateId": {
            "description": "The ID of the return state.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
          },
          "warehouseId": {
            "description": "The ID of the warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "externalComment": {
            "type": "string",
            "description": "The external comment of the return."
          },
          "internalComment": {
            "type": "string",
            "description": "The internal comment of the return."
          },
          "contact": {
            "type": "string",
            "description": "The contact of the return."
          },
          "transmitToSalesChannel": {
            "type": "boolean",
            "description": "Indicates whether the return should be transmitted to the sales channel."
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.ReturnLineItem": {
        "type": "object",
        "description": "Model Class: ReturnLineItem ",
        "additionalProperties": false,
        "required": [
          "id",
          "returnId",
          "stateId",
          "itemId",
          "name",
          "itemNumber",
          "quantity",
          "returnReasonId",
          "returnReasonComment",
          "conditionId",
          "conditionComment",
          "credit",
          "salesOrderId",
          "salesOrderLineItemId",
          "deliveryNoteLineItemId"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a return line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
          },
          "returnId": {
            "description": "Unique ID to identify a return.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureKey"
          },
          "stateId": {
            "description": "The ID of the return line item state.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "itemNumber": {
            "type": "string",
            "description": "The item number of the line item."
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "returnReasonId": {
            "description": "Unique ID to identify a return reason.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckgabegrundKey"
          },
          "returnReasonComment": {
            "type": "string",
            "description": "The comment corresponding to the return line item reason."
          },
          "conditionId": {
            "description": "Unique ID to identify a condition.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZustandKey"
          },
          "conditionComment": {
            "type": "string",
            "description": "The comment corresponding to the return line item condition."
          },
          "credit": {
            "type": "boolean",
            "description": "Indicates whether this return line item should be credited."
          },
          "salesOrderId": {
            "description": "Unique ID to identify a sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "salesOrderLineItemId": {
            "description": "Unique ID to identify a sales order item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "deliveryNoteLineItemId": {
            "description": "Unique ID to identify a delivery note item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinPosKey"
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.ReturnOrigin": {
        "type": "integer",
        "description": "0 = None, 1 = Email, 2 = Manual, 3 = Phone, 4 = Fax, 5 = FFN, 6 = SCX, 7 = RestAPI",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Email",
          "Manual",
          "Phone",
          "Fax",
          "FFN",
          "SCX",
          "RestAPI"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.SplitReturnLineItem": {
        "type": "object",
        "description": "Model Class: SplitReturnLineItem ",
        "additionalProperties": false,
        "required": [
          "originalLineItemId",
          "originalQuantity",
          "newLineItemId",
          "newQuantity"
        ],
        "properties": {
          "originalLineItemId": {
            "description": "The ID of the original line item (quantity reduced).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
          },
          "originalQuantity": {
            "type": "number",
            "description": "The remaining quantity on the original position.",
            "format": "decimal"
          },
          "newLineItemId": {
            "description": "The ID of the newly created line item (with split-off quantity).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
          },
          "newQuantity": {
            "type": "number",
            "description": "The quantity on the new position.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.UpdateReturnCommandRequest": {
        "type": "object",
        "description": "Updates the header data of an existing return - external and internal comment, contact, company, warehouse and sales channel transmission. Line items are updated via the line item endpoint. The state of the return is inferred from its line items and cannot be set directly. - Request",
        "additionalProperties": false,
        "properties": {
          "externalComment": {
            "type": "string",
            "description": "The external comment of the return."
          },
          "internalComment": {
            "type": "string",
            "description": "The internal comment of the return."
          },
          "contact": {
            "type": "string",
            "description": "The contact person of the return."
          },
          "companyId": {
            "description": "The company of the return.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "transmitToSalesChannel": {
            "type": "boolean",
            "description": "Indicates whether the return should be transmitted to the sales channel."
          },
          "warehouseId": {
            "description": "The warehouse of the return.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.DataTransferObjects.V2.ReturnDomain.UpdateReturnLineItemCommandRequest": {
        "type": "object",
        "description": "Updates a specific line item of an existing return - state, quantity, return reason and its comment, condition and its comment, and the credit flag. The state of the return is inferred from the states of its line items. - Request",
        "additionalProperties": false,
        "properties": {
          "stateId": {
            "description": "The new state of the line item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
          },
          "quantity": {
            "type": "number",
            "description": "The new quantity of the line item.",
            "format": "decimal"
          },
          "returnReasonId": {
            "description": "The return reason of the line item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckgabegrundKey"
          },
          "returnReasonComment": {
            "type": "string",
            "description": "The comment for the return reason."
          },
          "conditionId": {
            "description": "The item condition after inspection.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZustandKey"
          },
          "conditionComment": {
            "type": "string",
            "description": "The comment for the item condition."
          },
          "credit": {
            "type": "boolean",
            "description": "Indicates whether the line item should be credited."
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.Endpoints.V2.ReturnDomain.AddReturnLineItemRequest": {
        "type": "object",
        "description": "Request model for AddReturnLineItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "stateId": {
            "description": "The state of the line item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetoureStatusKey"
          },
          "returnReasonId": {
            "description": "The return reason of the line item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckgabegrundKey"
          },
          "returnReasonComment": {
            "type": "string",
            "description": "The comment for the return reason."
          },
          "conditionId": {
            "description": "The item condition after inspection.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZustandKey"
          },
          "conditionComment": {
            "type": "string",
            "description": "The comment for the item condition."
          },
          "credit": {
            "type": "boolean",
            "description": "Indicates whether the line item should be credited."
          },
          "salesOrderLineItemId": {
            "description": "Unique ID to identify a sales order item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "deliveryNoteLineItemId": {
            "description": "Unique ID to identify a delivery note item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinPosKey"
          }
        }
      },
      "JTL.Wawi.Retouren.PublicApi.Endpoints.V2.ReturnDomain.DeleteReturnLineItemRequest": {
        "type": "object",
        "description": "Request model for DeleteReturnLineItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Retouren.PublicApi.Endpoints.V2.ReturnDomain.SplitReturnLineItemRequest": {
        "type": "object",
        "description": "Request model for SplitReturnLineItem command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "description": "The quantity to split off into a new position. Must be greater than 0 and less than the current position quantity.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Shipment.PublicApi.DataTransferObjects.V2.ShippingMethods.ShippingMethodLookupItem": {
        "type": "object",
        "description": "Single Row of the shipping method lookup",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isActive"
        ],
        "properties": {
          "id": {
            "description": "ID of the shipping method.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "name": {
            "type": "string",
            "description": "Default name of the shipping method."
          },
          "isActive": {
            "type": "boolean",
            "description": "Is the shipping method active"
          }
        }
      },
      "JTL.Wawi.Shipment.PublicApi.Endpoints.V2.ShippingMethods.QueryShippingMethodsRequest": {
        "type": "object",
        "description": "Request model for QueryShippingMethods query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Stammdaten.Core.Contracts.NumberRanges.Domain.Keys.NumberRangeKey": {
        "type": "string",
        "description": "Schlüssel für einen Nummernkreis Datensatz",
        "format": "uuid",
        "additionalProperties": false
      },
      "JTL.Wawi.Stammdaten.PublicApi.DataTransferObjects.V2.Country.CountryItem": {
        "type": "object",
        "description": "Represents a country.",
        "additionalProperties": false,
        "required": [
          "countryIso",
          "countryIso3",
          "name",
          "numericIso",
          "isEu",
          "knownStates"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the country"
          },
          "countryIso3": {
            "type": "string",
            "description": "The three Character ISO code of the country"
          },
          "name": {
            "type": "string",
            "description": "The name of the country"
          },
          "continent": {
            "type": "string",
            "description": "The continent of the country"
          },
          "currencyIso": {
            "type": "string",
            "description": "The ISO code of the currency used in the country"
          },
          "numericIso": {
            "type": "integer",
            "description": "The numeric ISO code of the country",
            "format": "int32"
          },
          "isEu": {
            "type": "boolean",
            "description": "Indicates if the country is part of the European Union"
          },
          "defaultCulture": {
            "type": "string",
            "description": "The default culture associated with the country"
          },
          "displayNameState": {
            "type": "string",
            "description": "The display name for states in the country"
          },
          "knownStates": {
            "type": "array",
            "description": "List of known states in the country",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Stammdaten.PublicApi.DataTransferObjects.V2.Country.CountryStateItem"
            }
          }
        }
      },
      "JTL.Wawi.Stammdaten.PublicApi.DataTransferObjects.V2.Country.CountryStateItem": {
        "type": "object",
        "description": "Represents a country state.",
        "additionalProperties": false,
        "required": [
          "regionCode",
          "isoCode",
          "name"
        ],
        "properties": {
          "regionCode": {
            "type": "string",
            "description": "The short region code of the state"
          },
          "isoCode": {
            "type": "string",
            "description": "The Full ISO code of the state in ISO 3166-2"
          },
          "name": {
            "type": "string",
            "description": "The name of the state"
          }
        }
      },
      "JTL.Wawi.Stammdaten.PublicApi.DataTransferObjects.V2.Languages.LanguageItem": {
        "type": "object",
        "description": "Represents a language.",
        "additionalProperties": false,
        "required": [
          "languageIso2",
          "languageIso3",
          "name",
          "isDefault"
        ],
        "properties": {
          "cultureIso": {
            "type": "string",
            "description": "The culture ISO code of the language"
          },
          "languageIso2": {
            "type": "string",
            "description": "The two-letter ISO code of the language"
          },
          "languageIso3": {
            "type": "string",
            "description": "The three-letter ISO code of the language"
          },
          "name": {
            "type": "string",
            "description": "The name of the language in the Accept-Language header"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates if this language is the default language"
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.CreateCreateSupplierAddress": {
        "type": "object",
        "description": "Postal address of a supplier for the create command. Maps to the shared SupplierAddress contract type.",
        "additionalProperties": false,
        "required": [
          "street",
          "postalCode",
          "city",
          "countryIso"
        ],
        "properties": {
          "salutation": {
            "type": "string",
            "description": "Salutation of the contact person (e.g. Mr., Ms.)."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact person."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact person."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company line (second company line)."
          },
          "street": {
            "type": "string",
            "description": "Street including house number (a single field, not split)."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address line (address supplement)."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the address."
          },
          "city": {
            "type": "string",
            "description": "City of the address."
          },
          "state": {
            "type": "string",
            "description": "Name of the state / federal state."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (e.g. DE, US)."
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.CreateCreateSupplierContact": {
        "type": "object",
        "description": "Contact information of a supplier for the create command. Maps to the shared SupplierContact contract type.",
        "additionalProperties": false,
        "properties": {
          "emailAddress": {
            "type": "string",
            "description": "Email address of the supplier."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Central phone number of the supplier."
          },
          "phoneExtension": {
            "type": "string",
            "description": "Direct-dial phone extension of the supplier."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number of the supplier."
          },
          "contactName": {
            "type": "string",
            "description": "Name of the contact person at the supplier."
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.CreateSupplierCommandResponse": {
        "type": "object",
        "description": "Creates a new supplier. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The key of the newly created supplier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.DeactivateSupplierCommandResponse": {
        "type": "object",
        "description": "Deactivates a supplier (sets it inactive). This is the sole removal mechanism (there is no delete) and it is one-way. Blocked by the same guards that protected against deletion: open purchase orders and standard supplier of an article. - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The key of the deactivated supplier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.Supplier": {
        "type": "object",
        "description": "Single row of the supplier overview table",
        "additionalProperties": false,
        "required": [
          "id",
          "canDropship",
          "currencyIso",
          "name"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the supplier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "canDropship": {
            "type": "boolean",
            "description": "Is drop shipping supplier"
          },
          "currencyIso": {
            "type": "string",
            "description": "Currency ISO code"
          },
          "name": {
            "type": "string",
            "description": "DEPRECATED: use companyName instead. Legacy alias of the supplier's company name."
          },
          "companyName": {
            "type": "string",
            "description": "Company name of the supplier."
          },
          "supplierNumber": {
            "type": "string",
            "description": "Supplier number (free-text supplier identifier held at the merchant)."
          },
          "city": {
            "type": "string",
            "description": "City of the supplier's address."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the supplier's country."
          },
          "status": {
            "type": "string",
            "description": "Free-text status of the supplier."
          },
          "createdAt": {
            "type": "string",
            "description": "Date and time when the supplier was created, or NULL if the supplier was created before this property existed.",
            "format": "date-time"
          },
          "changedAt": {
            "type": "string",
            "description": "Date and time when the supplier was last changed.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.SupplierAddress": {
        "type": "object",
        "description": "Postal address of a supplier. A supplier has exactly one address; it deliberately carries no company-name field (the company name lives on SupplierDetail.CompanyName — one physical column, one property).",
        "additionalProperties": false,
        "properties": {
          "salutation": {
            "type": "string",
            "description": "Salutation of the contact person (e.g. Mr., Ms.)."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact person."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact person."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company line (second company line)."
          },
          "street": {
            "type": "string",
            "description": "Street including house number (a single field, not split)."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address line (address supplement)."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the address."
          },
          "city": {
            "type": "string",
            "description": "City of the address."
          },
          "state": {
            "type": "string",
            "description": "Name of the state / federal state."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (e.g. DE, US)."
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.SupplierContact": {
        "type": "object",
        "description": "Contact information of a supplier.",
        "additionalProperties": false,
        "properties": {
          "emailAddress": {
            "type": "string",
            "description": "Email address of the supplier."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Central phone number of the supplier."
          },
          "phoneExtension": {
            "type": "string",
            "description": "Direct-dial phone extension of the supplier."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number of the supplier."
          },
          "contactName": {
            "type": "string",
            "description": "Name of the contact person at the supplier."
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.SupplierDetail": {
        "type": "object",
        "description": "Full, curated detail of a single supplier. Named SupplierDetail (not Supplier) because the Supplier GraphQL type is already owned by the overview list type (Supplier.yml, now in this same project) — GraphQL type names are global across the schema, so the two cannot share one name and the detail type carries a distinct one. Note the collision is NOT a consequence of the earlier split across two projects: moving the overview definition here did not resolve it, and renaming this type to Supplier would still clash.",
        "additionalProperties": false,
        "required": [
          "id",
          "canDropship",
          "isActive",
          "address",
          "isVatExempt",
          "isExcludedFromPurchaseList",
          "allowsDropshipCashOnDelivery",
          "allowsDropshipFreeLineItems"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the supplier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          },
          "supplierNumber": {
            "type": "string",
            "description": "Supplier number (free-text supplier identifier held at the merchant)."
          },
          "companyName": {
            "type": "string",
            "description": "Company name of the supplier."
          },
          "status": {
            "type": "string",
            "description": "Free-text status of the supplier."
          },
          "canDropship": {
            "type": "boolean",
            "description": "Indicates whether the supplier can be used for dropshipping."
          },
          "currencyIso": {
            "type": "string",
            "description": "ISO code of the supplier's currency."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the supplier is active."
          },
          "address": {
            "description": "Postal address of the supplier.",
            "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.SupplierAddress"
          },
          "contact": {
            "description": "Contact information of the supplier, or null when the supplier has no contact data.",
            "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.SupplierContact"
          },
          "languageIso": {
            "type": "string",
            "description": "ISO code of the language assigned to the supplier."
          },
          "supplierAccountNumber": {
            "type": "string",
            "description": "The supplier's own customer number for the merchant (\"Eigene Kd.-Nr.\"). A free-text value, not an identifier."
          },
          "creditorNumber": {
            "type": "integer",
            "description": "Creditor number of the supplier.",
            "format": "int32"
          },
          "vatId": {
            "type": "string",
            "description": "VAT identification number of the supplier."
          },
          "freightCostAmount": {
            "type": "number",
            "description": "Freight cost charged by the supplier.",
            "format": "decimal"
          },
          "minimumOrderValueAmount": {
            "type": "number",
            "description": "Minimum order value required by the supplier.",
            "format": "decimal"
          },
          "smallQuantitySurchargeAmount": {
            "type": "number",
            "description": "Surcharge applied by the supplier for small quantities.",
            "format": "decimal"
          },
          "cashDiscountPercentage": {
            "type": "number",
            "description": "Cash discount percentage granted by the supplier.",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "Number of days within which the cash discount applies.",
            "format": "int32"
          },
          "paymentTermInDays": {
            "type": "integer",
            "description": "Payment term in days agreed with the supplier.",
            "format": "int32"
          },
          "freeShippingThresholdAmount": {
            "type": "number",
            "description": "Order value from which the supplier ships free of charge.",
            "format": "decimal"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time in days of the supplier.",
            "format": "int32"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the supplier."
          },
          "deliveryConditionNote": {
            "type": "string",
            "description": "Note on the delivery conditions of the supplier."
          },
          "comment": {
            "type": "string",
            "description": "Free-text comment on the supplier."
          },
          "createdAt": {
            "type": "string",
            "description": "Date and time when the supplier was created.",
            "format": "date-time"
          },
          "changedAt": {
            "type": "string",
            "description": "Date and time when the supplier was last changed.",
            "format": "date-time"
          },
          "defaultCompanyId": {
            "description": "Default own-company used for orders with this supplier, or null when unset.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "defaultWarehouseId": {
            "description": "Default warehouse used for orders with this supplier, or null when unset.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "isVatExempt": {
            "type": "boolean",
            "description": "Indicates whether the supplier is exempt from VAT."
          },
          "isExcludedFromPurchaseList": {
            "type": "boolean",
            "description": "Indicates whether the supplier is excluded from the purchase list."
          },
          "allowsDropshipCashOnDelivery": {
            "type": "boolean",
            "description": "Indicates whether cash-on-delivery dropshipping is allowed for the supplier."
          },
          "allowsDropshipFreeLineItems": {
            "type": "boolean",
            "description": "Indicates whether free line items are allowed in dropshipping for the supplier."
          },
          "vatFreePositionThresholdAmount": {
            "type": "number",
            "description": "Order value threshold above which line items are treated as VAT-free.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.UpdateSupplierCommandResponse": {
        "type": "object",
        "description": "Updates an existing Default-type supplier with PATCH semantics (omitted fields keep their existing value). - Response",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The key of the updated supplier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferantKey"
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.UpdateUpdateSupplierAddress": {
        "type": "object",
        "description": "Postal address of a supplier for the update command. Maps to the shared SupplierAddress contract type. The address merges at object level (a supplied address replaces the existing one whole), so the same required sub-fields as on create apply when an address is supplied.",
        "additionalProperties": false,
        "required": [
          "street",
          "postalCode",
          "city",
          "countryIso"
        ],
        "properties": {
          "salutation": {
            "type": "string",
            "description": "Salutation of the contact person (e.g. Mr., Ms.)."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact person."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact person."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company line (second company line)."
          },
          "street": {
            "type": "string",
            "description": "Street including house number (a single field, not split)."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address line (address supplement)."
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the address."
          },
          "city": {
            "type": "string",
            "description": "City of the address."
          },
          "state": {
            "type": "string",
            "description": "Name of the state / federal state."
          },
          "countryIso": {
            "type": "string",
            "description": "ISO code of the country (e.g. DE, US)."
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.UpdateUpdateSupplierContact": {
        "type": "object",
        "description": "Contact information of a supplier for the update command. Maps to the shared SupplierContact contract type. Merges at object level (a supplied contact replaces the existing one whole).",
        "additionalProperties": false,
        "properties": {
          "emailAddress": {
            "type": "string",
            "description": "Email address of the supplier."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Central phone number of the supplier."
          },
          "phoneExtension": {
            "type": "string",
            "description": "Direct-dial phone extension of the supplier."
          },
          "faxNumber": {
            "type": "string",
            "description": "Fax number of the supplier."
          },
          "contactName": {
            "type": "string",
            "description": "Name of the contact person at the supplier."
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.Endpoints.V2.SupplierDomain.CreateSupplierRequest": {
        "type": "object",
        "description": "Request model for CreateSupplier command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "companyName",
          "address",
          "currencyIso",
          "languageIso",
          "defaultCompanyId",
          "defaultWarehouseId"
        ],
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Company name of the supplier."
          },
          "address": {
            "description": "Postal address of the supplier.",
            "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.CreateCreateSupplierAddress"
          },
          "currencyIso": {
            "type": "string",
            "description": "ISO code of the supplier's currency."
          },
          "languageIso": {
            "type": "string",
            "description": "ISO code of the language assigned to the supplier."
          },
          "defaultCompanyId": {
            "description": "Default own-company used for orders with this supplier. A supplier always has an assigned company.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "defaultWarehouseId": {
            "description": "Default warehouse used for orders with this supplier. A supplier always has an assigned warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "supplierNumber": {
            "type": "string",
            "description": "Supplier number (free-text supplier identifier held at the merchant)."
          },
          "contact": {
            "description": "Contact information of the supplier.",
            "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.CreateCreateSupplierContact"
          },
          "status": {
            "type": "string",
            "description": "Free-text status of the supplier."
          },
          "canDropship": {
            "type": "boolean",
            "description": "Indicates whether the supplier can be used for dropshipping. Defaults to false when omitted."
          },
          "supplierAccountNumber": {
            "type": "string",
            "description": "The supplier's own customer number for the merchant (\"Eigene Kd.-Nr.\")."
          },
          "creditorNumber": {
            "type": "integer",
            "description": "Creditor number of the supplier.",
            "format": "int32"
          },
          "vatId": {
            "type": "string",
            "description": "VAT identification number of the supplier."
          },
          "freightCostAmount": {
            "type": "number",
            "description": "Freight cost charged by the supplier.",
            "format": "decimal"
          },
          "minimumOrderValueAmount": {
            "type": "number",
            "description": "Minimum order value required by the supplier.",
            "format": "decimal"
          },
          "smallQuantitySurchargeAmount": {
            "type": "number",
            "description": "Surcharge applied by the supplier for small quantities.",
            "format": "decimal"
          },
          "cashDiscountPercentage": {
            "type": "number",
            "description": "Cash discount percentage granted by the supplier.",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "Number of days within which the cash discount applies.",
            "format": "int32"
          },
          "paymentTermInDays": {
            "type": "integer",
            "description": "Payment term in days agreed with the supplier.",
            "format": "int32"
          },
          "freeShippingThresholdAmount": {
            "type": "number",
            "description": "Order value from which the supplier ships free of charge.",
            "format": "decimal"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time in days of the supplier.",
            "format": "int32"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the supplier."
          },
          "deliveryConditionNote": {
            "type": "string",
            "description": "Note on the delivery conditions of the supplier."
          },
          "comment": {
            "type": "string",
            "description": "Free-text comment on the supplier."
          },
          "isVatExempt": {
            "type": "boolean",
            "description": "Indicates whether the supplier is exempt from VAT. Defaults to false when omitted."
          },
          "isExcludedFromPurchaseList": {
            "type": "boolean",
            "description": "Indicates whether the supplier is excluded from the purchase list. Defaults to false when omitted."
          },
          "allowsDropshipCashOnDelivery": {
            "type": "boolean",
            "description": "Indicates whether cash-on-delivery dropshipping is allowed. Defaults to false when omitted."
          },
          "allowsDropshipFreeLineItems": {
            "type": "boolean",
            "description": "Indicates whether free line items are allowed in dropshipping. Defaults to false when omitted."
          },
          "vatFreePositionThresholdAmount": {
            "type": "number",
            "description": "Order value threshold above which line items are treated as VAT-free.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Suppliers.PublicApi.Endpoints.V2.SupplierDomain.DeactivateSupplierRequest": {
        "type": "object",
        "description": "Request model for DeactivateSupplier command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Suppliers.PublicApi.Endpoints.V2.SupplierDomain.GetSupplierByIdRequest": {
        "type": "object",
        "description": "Request model for GetSupplierById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Suppliers.PublicApi.Endpoints.V2.SupplierDomain.QuerySuppliersRequest": {
        "type": "object",
        "description": "Request model for QuerySuppliers query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Suppliers.PublicApi.Endpoints.V2.SupplierDomain.UpdateSupplierRequest": {
        "type": "object",
        "description": "Request model for UpdateSupplier command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "supplierNumber": {
            "type": "string",
            "description": "Supplier number (free-text supplier identifier held at the merchant)."
          },
          "companyName": {
            "type": "string",
            "description": "Company name of the supplier."
          },
          "address": {
            "description": "Postal address of the supplier. Merged at object level (omitted keeps the existing address).",
            "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.UpdateUpdateSupplierAddress"
          },
          "contact": {
            "description": "Contact information of the supplier. Merged at object level (omitted keeps the existing contact).",
            "$ref": "#/components/schemas/JTL.Wawi.Suppliers.PublicApi.DataTransferObjects.V2.SupplierDomain.UpdateUpdateSupplierContact"
          },
          "currencyIso": {
            "type": "string",
            "description": "ISO code of the supplier's currency."
          },
          "languageIso": {
            "type": "string",
            "description": "ISO code of the language assigned to the supplier."
          },
          "status": {
            "type": "string",
            "description": "Free-text status of the supplier."
          },
          "canDropship": {
            "type": "boolean",
            "description": "Indicates whether the supplier can be used for dropshipping."
          },
          "supplierAccountNumber": {
            "type": "string",
            "description": "The supplier's own customer number for the merchant (\"Eigene Kd.-Nr.\")."
          },
          "creditorNumber": {
            "type": "integer",
            "description": "Creditor number of the supplier.",
            "format": "int32"
          },
          "vatId": {
            "type": "string",
            "description": "VAT identification number of the supplier."
          },
          "freightCostAmount": {
            "type": "number",
            "description": "Freight cost charged by the supplier.",
            "format": "decimal"
          },
          "minimumOrderValueAmount": {
            "type": "number",
            "description": "Minimum order value required by the supplier.",
            "format": "decimal"
          },
          "smallQuantitySurchargeAmount": {
            "type": "number",
            "description": "Surcharge applied by the supplier for small quantities.",
            "format": "decimal"
          },
          "cashDiscountPercentage": {
            "type": "number",
            "description": "Cash discount percentage granted by the supplier.",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "Number of days within which the cash discount applies.",
            "format": "int32"
          },
          "paymentTermInDays": {
            "type": "integer",
            "description": "Payment term in days agreed with the supplier.",
            "format": "int32"
          },
          "freeShippingThresholdAmount": {
            "type": "number",
            "description": "Order value from which the supplier ships free of charge.",
            "format": "decimal"
          },
          "deliveryTimeInDays": {
            "type": "integer",
            "description": "Delivery time in days of the supplier.",
            "format": "int32"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the supplier."
          },
          "deliveryConditionNote": {
            "type": "string",
            "description": "Note on the delivery conditions of the supplier."
          },
          "comment": {
            "type": "string",
            "description": "Free-text comment on the supplier."
          },
          "defaultCompanyId": {
            "description": "Default own-company used for orders with this supplier.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "defaultWarehouseId": {
            "description": "Default warehouse used for orders with this supplier.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "isVatExempt": {
            "type": "boolean",
            "description": "Indicates whether the supplier is exempt from VAT."
          },
          "isExcludedFromPurchaseList": {
            "type": "boolean",
            "description": "Indicates whether the supplier is excluded from the purchase list."
          },
          "allowsDropshipCashOnDelivery": {
            "type": "boolean",
            "description": "Indicates whether cash-on-delivery dropshipping is allowed for the supplier."
          },
          "allowsDropshipFreeLineItems": {
            "type": "boolean",
            "description": "Indicates whether free line items are allowed in dropshipping for the supplier."
          },
          "vatFreePositionThresholdAmount": {
            "type": "number",
            "description": "Order value threshold above which line items are treated as VAT-free.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.CreateTaxClassCommandRequest": {
        "type": "object",
        "description": "Creates a new tax class. - Request",
        "additionalProperties": false,
        "required": [
          "isStandard",
          "name",
          "taxType"
        ],
        "properties": {
          "isStandard": {
            "type": "boolean",
            "description": "Whether this tax class is the standard tax class. Setting this to true will set all other tax classes to non-standard."
          },
          "name": {
            "type": "string",
            "description": "The name of the new tax class"
          },
          "taxType": {
            "description": "The type of the tax class",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxType"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.CreateTaxCodeCommandRequest": {
        "type": "object",
        "description": "Creates a new tax code. - Request",
        "additionalProperties": false,
        "required": [
          "cashDiscountAccount",
          "generalLedgerAccount",
          "isAutomatic",
          "name"
        ],
        "properties": {
          "cashDiscountAccount": {
            "type": "string",
            "description": "The cash discount account of the new tax code"
          },
          "generalLedgerAccount": {
            "type": "string",
            "description": "The general ledger account of the new tax code"
          },
          "isAutomatic": {
            "type": "boolean",
            "description": "Whether this tax code is automatic"
          },
          "name": {
            "type": "string",
            "description": "The name of the new tax code"
          },
          "number": {
            "type": "integer",
            "description": "The number of the new tax code. If not provided, a number will be auto-assigned.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationCommandRequest": {
        "type": "object",
        "description": "Batch saves the entire tax configuration in a single transaction. Zones with an Id are updated, zones without an Id are created, and zones in the database but not in the list are deleted. - Request",
        "additionalProperties": false,
        "required": [
          "taxZones"
        ],
        "properties": {
          "taxZones": {
            "type": "array",
            "description": "The complete list of tax zones representing the desired state. The system will diff this against the current database state and derive create, update, and delete operations.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxZone"
            }
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxRate": {
        "type": "object",
        "description": "Represents a tax rate in the batch save. If Id is set the rate is updated; if null a new rate is created. Rates in the database but not in the list are deleted.",
        "additionalProperties": false,
        "required": [
          "taxClassId",
          "vatRate",
          "taxCodeId",
          "intraCommunityDeliveryTaxCodeId",
          "exemptFromVatNotEuTaxCodeId",
          "reverseChargeTaxCodeId",
          "taxRateAssignments"
        ],
        "properties": {
          "id": {
            "description": "The ID of an existing tax rate to update. Null to create a new rate.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuersatzKey"
          },
          "taxClassId": {
            "description": "The tax class this rate applies to.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "vatRate": {
            "type": "number",
            "description": "The VAT rate as a decimal value (e.g. 19.0 for 19%). Required on create.",
            "format": "decimal"
          },
          "taxCodeId": {
            "description": "The main tax code (Steuerschlüssel).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "intraCommunityDeliveryTaxCodeId": {
            "description": "The intra-community delivery tax code.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "exemptFromVatNotEuTaxCodeId": {
            "description": "The tax code for shipments from EU to non-EU countries (exempt from VAT, not EU).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "reverseChargeTaxCodeId": {
            "description": "The reverse charge tax code.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "taxRateAssignments": {
            "type": "array",
            "description": "The complete list of tax rate key assignments for this rate. Keys in the database but not in this list are deleted.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxRateAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxRateAssignment": {
        "type": "object",
        "description": "Represents a tax rate key assignment in the batch save. Identified by composite key (ProductGroupId, ShippingMethodId, LineItemType).",
        "additionalProperties": false,
        "required": [
          "lineItemType",
          "taxCodeId",
          "intraCommunityDeliveryTaxCodeId",
          "exemptFromVatNotEuTaxCodeId",
          "reverseChargeTaxCodeId"
        ],
        "properties": {
          "productGroupId": {
            "description": "The product group ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "shippingMethodId": {
            "description": "The shipping method ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "lineItemType": {
            "description": "The line item type.",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxLineItemType"
          },
          "taxCodeId": {
            "description": "The main tax code (Steuerschlüssel).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "intraCommunityDeliveryTaxCodeId": {
            "description": "The intra-community delivery tax code.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "exemptFromVatNotEuTaxCodeId": {
            "description": "The tax code for shipments from EU to non-EU countries (exempt from VAT, not EU).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "reverseChargeTaxCodeId": {
            "description": "The reverse charge tax code.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxZone": {
        "type": "object",
        "description": "Represents a tax zone in the batch save. If Id is set the zone is updated; if null a new zone is created. Zones in the database but not in the list are deleted.",
        "additionalProperties": false,
        "required": [
          "companyId",
          "name",
          "departureCountryIso",
          "vatIdB2B",
          "vatIdB2C",
          "countries",
          "taxRates"
        ],
        "properties": {
          "id": {
            "description": "The ID of an existing tax zone to update. Null to create a new zone.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerzoneKey"
          },
          "companyId": {
            "description": "The company this tax zone belongs to. Required on create.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the tax zone."
          },
          "departureCountryIso": {
            "type": "string",
            "description": "The ISO code of the departure country this zone is associated with. Required."
          },
          "vatIdB2B": {
            "type": "integer",
            "description": "The source for VAT ID resolution in B2B transactions.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.VatIdSource"
          },
          "vatIdB2C": {
            "type": "integer",
            "description": "The source for VAT ID resolution in B2C transactions.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.VatIdSource"
          },
          "countries": {
            "type": "array",
            "description": "The complete list of country assignments for this zone. Countries in the database but not in this list are removed.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxZoneCountry"
            }
          },
          "taxRates": {
            "type": "array",
            "description": "The complete list of tax rates for this zone. Rates with an Id are updated, rates without an Id are created, and rates in the database but not in this list are deleted.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxRate"
            }
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.SaveTaxConfigurationTaxZoneCountry": {
        "type": "object",
        "description": "Represents a country assignment for a tax zone in the batch save.",
        "additionalProperties": false,
        "required": [
          "countryIso"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO country code."
          },
          "stateCode": {
            "type": "string",
            "description": "The state or province code within the country."
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxClass": {
        "type": "object",
        "description": "Represents a tax class.",
        "additionalProperties": false,
        "required": [
          "id",
          "isStandard",
          "name",
          "taxType"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of the tax class",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "isStandard": {
            "type": "boolean",
            "description": "Indicates if this tax class is the standard tax class"
          },
          "name": {
            "type": "string",
            "description": "The name of the tax class"
          },
          "taxType": {
            "description": "The type of the tax class",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxType"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxClassWithTaxRate": {
        "type": "object",
        "description": "Represents a tax class with tax rates.",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isStandard"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of the tax class.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the tax class"
          },
          "isStandard": {
            "type": "boolean",
            "description": "Indicates if this tax class is the standard tax class"
          },
          "rate": {
            "type": "number",
            "description": "The tax rate in percent calculated for this tax class with the given parameters.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxCode": {
        "type": "object",
        "description": "Represents a tax code.",
        "additionalProperties": false,
        "required": [
          "id",
          "cashDiscountAccount",
          "generalLedgerAccount",
          "isAutomatic",
          "name"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of the tax code",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "cashDiscountAccount": {
            "type": "string",
            "description": "The cash discount account of the tax code"
          },
          "generalLedgerAccount": {
            "type": "string",
            "description": "The general ledger account of the tax code"
          },
          "isAutomatic": {
            "type": "boolean",
            "description": "Indicates if this tax code is automatic"
          },
          "name": {
            "type": "string",
            "description": "The name of the tax code"
          },
          "number": {
            "type": "integer",
            "description": "The number of the tax code",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxDomainSpecialTaxTreatment": {
        "type": "integer",
        "description": "0 = None, 1 = ReverseCharge, 2 = ExemptFromVat, 3 = SubjectToVat",
        "format": "int32",
        "x-enumNames": [
          "None",
          "ReverseCharge",
          "ExemptFromVat",
          "SubjectToVat"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxDomainTaxReference": {
        "type": "integer",
        "description": "0 = ShipmentAddress, 1 = BillingAddress",
        "format": "int32",
        "x-enumNames": [
          "ShipmentAddress",
          "BillingAddress"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxLineItemType": {
        "type": "integer",
        "description": "0 = Custom, 1 = Item, 2 = Shipping, 3 = Coupon, 4 = Voucher, 5 = Payment, 6 = ShippingSurcharge, 7 = NewCustomerCoupon, 8 = CashOnDelivery, 9 = ShippingSurchargeItem, 10 = Packing, 11 = GiftForFree, 12 = TrustedShops, 13 = InterestPremium, 14 = ProcessingFee, 15 = Carton, 16 = ReturnDelivery, 17 = MultiPurposeVoucher, 18 = MultiPurposeVoucherDigital, 19 = SinglePurposeVoucher, 20 = SinglePurposeVoucherDigital, 21 = SinglePurposeVoucherRedemption",
        "format": "int32",
        "x-enumNames": [
          "Custom",
          "Item",
          "Shipping",
          "Coupon",
          "Voucher",
          "Payment",
          "ShippingSurcharge",
          "NewCustomerCoupon",
          "CashOnDelivery",
          "ShippingSurchargeItem",
          "Packing",
          "GiftForFree",
          "TrustedShops",
          "InterestPremium",
          "ProcessingFee",
          "Carton",
          "ReturnDelivery",
          "MultiPurposeVoucher",
          "MultiPurposeVoucherDigital",
          "SinglePurposeVoucher",
          "SinglePurposeVoucherDigital",
          "SinglePurposeVoucherRedemption"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21
        ]
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxType": {
        "type": "integer",
        "description": "0 = None, 1 = SuperReduced, 2 = ReducedLow, 3 = Reduced, 4 = Standard, 5 = Intermediate",
        "format": "int32",
        "x-enumNames": [
          "None",
          "SuperReduced",
          "ReducedLow",
          "Reduced",
          "Standard",
          "Intermediate"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ]
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZone": {
        "type": "object",
        "description": "Represents a tax zone with its country assignments, tax rates, and rate key assignments.",
        "additionalProperties": false,
        "required": [
          "id",
          "companyId",
          "name",
          "departureCountryIso",
          "vatIdB2B",
          "vatIdB2C",
          "countries",
          "taxRates"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of the tax zone.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerzoneKey"
          },
          "companyId": {
            "description": "The company this tax zone belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "name": {
            "type": "string",
            "description": "The name of the tax zone."
          },
          "departureCountryIso": {
            "type": "string",
            "description": "The ISO code of the departure country this zone is associated with."
          },
          "vatIdB2B": {
            "description": "The source for VAT ID resolution in B2B transactions.",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.VatIdSource"
          },
          "vatIdB2C": {
            "description": "The source for VAT ID resolution in B2C transactions.",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.VatIdSource"
          },
          "countries": {
            "type": "array",
            "description": "The country assignments for this zone.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZoneCountry"
            }
          },
          "taxRates": {
            "type": "array",
            "description": "The tax rates for this zone.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZoneRate"
            }
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZoneCountry": {
        "type": "object",
        "description": "Represents a country assigned to a tax zone.",
        "additionalProperties": false,
        "required": [
          "taxZoneId",
          "countryIso"
        ],
        "properties": {
          "taxZoneId": {
            "description": "The ID of the tax zone this country belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerzoneKey"
          },
          "countryIso": {
            "type": "string",
            "description": "The ISO country code."
          },
          "stateCode": {
            "type": "string",
            "description": "The state or province code within the country."
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZoneRate": {
        "type": "object",
        "description": "Represents a tax rate assigned to a tax zone and tax class.",
        "additionalProperties": false,
        "required": [
          "id",
          "vatRate",
          "taxRateAssignments"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of the tax rate.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuersatzKey"
          },
          "taxZoneId": {
            "description": "The tax zone this rate belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerzoneKey"
          },
          "taxClassId": {
            "description": "The tax class this rate applies to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "vatRate": {
            "type": "number",
            "description": "The VAT rate as a decimal value (e.g. 19.0 for 19%).",
            "format": "decimal"
          },
          "priority": {
            "type": "integer",
            "description": "The priority of this tax rate.",
            "format": "int32"
          },
          "taxCodeId": {
            "description": "The main tax code (Steuerschlüssel).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "intraCommunityDeliveryTaxCodeId": {
            "description": "The intra-community delivery tax code.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "exemptFromVatNotEuTaxCodeId": {
            "description": "The tax code for shipments from EU to non-EU countries (exempt from VAT, not EU).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "reverseChargeTaxCodeId": {
            "description": "The reverse charge tax code.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "taxRateAssignments": {
            "type": "array",
            "description": "The tax rate key assignments for this rate.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZoneRateAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxZoneRateAssignment": {
        "type": "object",
        "description": "Represents a tax rate key assignment mapping tax codes to product groups, shipping methods, and line item types.",
        "additionalProperties": false,
        "required": [
          "taxRateId",
          "lineItemType"
        ],
        "properties": {
          "taxRateId": {
            "description": "The ID of the tax rate this assignment belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuersatzKey"
          },
          "productGroupId": {
            "description": "The product group ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "shippingMethodId": {
            "description": "The shipping method ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "lineItemType": {
            "description": "The line item type.",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxLineItemType"
          },
          "taxCodeId": {
            "description": "The main tax code (Steuerschlüssel).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "intraCommunityDeliveryTaxCodeId": {
            "description": "The intra-community delivery tax code.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "exemptFromVatNotEuTaxCodeId": {
            "description": "The tax code for shipments from EU to non-EU countries (exempt from VAT, not EU).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "reverseChargeTaxCodeId": {
            "description": "The reverse charge tax code.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.UpdateTaxClassCommandRequest": {
        "type": "object",
        "description": "Updates an existing tax class. - Request",
        "additionalProperties": false,
        "properties": {
          "isStandard": {
            "type": "boolean",
            "description": "Whether this tax class is the standard tax class. Setting this to true will set all other tax classes to non-standard."
          },
          "name": {
            "type": "string",
            "description": "The name of the tax class"
          },
          "taxType": {
            "type": "integer",
            "description": "The type of the tax class",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.TaxType"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.UpdateTaxCodeCommandRequest": {
        "type": "object",
        "description": "Updates an existing tax code. - Request",
        "additionalProperties": false,
        "properties": {
          "cashDiscountAccount": {
            "type": "string",
            "description": "The cash discount account of the tax code"
          },
          "generalLedgerAccount": {
            "type": "string",
            "description": "The general ledger account of the tax code"
          },
          "isAutomatic": {
            "type": "boolean",
            "description": "Whether this tax code is automatic"
          },
          "name": {
            "type": "string",
            "description": "The name of the tax code"
          },
          "number": {
            "type": "integer",
            "description": "The number of the tax code. Can only be changed when the tax code is not referenced.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Taxes.PublicApi.DataTransferObjects.V2.TaxDomain.VatIdSource": {
        "type": "integer",
        "description": "0 = FromDetermination, 1 = FromCompanyLocation, 2 = FromDepartureCountry",
        "format": "int32",
        "x-enumNames": [
          "FromDetermination",
          "FromCompanyLocation",
          "FromDepartureCountry"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Taxes.PublicApi.Endpoints.V2.TaxDomain.QueryTaxClassesRequest": {
        "type": "object",
        "description": "Request model for QueryTaxClasses query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Taxes.PublicApi.Endpoints.V2.TaxDomain.QueryTaxCodesRequest": {
        "type": "object",
        "description": "Request model for QueryTaxCodes query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Taxes.PublicApi.Endpoints.V2.TaxDomain.QueryTaxZonesRequest": {
        "type": "object",
        "description": "Request model for QueryTaxZones query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.Connector": {
        "type": "object",
        "description": "Full result of the CreateConnector live pipeline: the created (or, for ?simulate=true, merely verified) connector account together with its complete metadata mirror. Base data and configuration are the persisted DB state (null/default-filled from the WPF editor defaults where the request omitted them); the connector-driven sections (Languages, Currencies, Features, TaxRates, ServerInfo) are always sourced live from the endpoint handshake, ISO-identified per the ADR-85 pattern established by ConnectorCurrency. Deliberate ADR-4 deviation: ADR-4 asks Create commands to return only the created Id, but this command returns the full object instead, because ?simulate=true never persists anything and therefore has no Id to return - the live handshake/taxrate-validation result (Languages, Currencies, Features, TaxRates, ServerInfo) is the only useful response for that preview path, so the same shape is used for the persisted case too rather than modeling two different response contracts. Known limitations: (1) RootCategoryId and UseShopOrderNumber are modeled here rather than folded into ConnectorAccount/ConnectorConfiguration, because those two shared GET models are out of this ticket's scope - reconcile once WAWI-91760 lands; (2) synchronisation settings (send/receive/delete per object type) are deliberately NOT included here - ConnectorSynchronisationEntityType is a 90+ value enum owned by JTL.Wawi.Connector.Core.Contracts, and duplicating it into this response ahead of WAWI-91760's actual mapping design risked a stale/incorrect mirror; use the existing QueryConnectorSynchronisationSettings endpoint for now and fold it in here once the orchestration lands.",
        "additionalProperties": false,
        "required": [
          "isActive",
          "isLocked",
          "canImport",
          "shouldImportItemsAndCategories",
          "shouldImportOrdersAndCustomers",
          "shouldImportImages",
          "canUpload",
          "shouldUploadItemComplete",
          "shouldUploadItemPriceRestricted",
          "shouldUploadItemStockRestricted",
          "shouldUploadCustomers",
          "shouldUploadImages",
          "shouldRefreshExistingItems",
          "shouldRefreshCustomers",
          "shouldDeleteImagesOnImport",
          "shouldWawiCalculateTaxRate",
          "shouldWawiCalculateTaxRateForShipping",
          "pullCount",
          "quickSyncCount",
          "sendOnlyAssignedManufacturers",
          "useShopOrderNumber",
          "languages",
          "currencies",
          "features",
          "taxRates",
          "serverInfo"
        ],
        "properties": {
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of this connector account. Null when the request used ?simulate=true - no account was persisted, so no id could be assigned."
          },
          "name": {
            "type": "string",
            "description": "Name of the connector account."
          },
          "url": {
            "type": "string",
            "description": "URL of the connector endpoint."
          },
          "isActive": {
            "type": "boolean",
            "description": "Connector account is active."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Connector account is locked."
          },
          "companyId": {
            "description": "ID of the company the connector account belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "canImport": {
            "type": "boolean",
            "description": "The connector account is allowed to import data from the endpoint."
          },
          "shouldImportItemsAndCategories": {
            "type": "boolean",
            "description": "Items and categories are imported."
          },
          "shouldImportOrdersAndCustomers": {
            "type": "boolean",
            "description": "Orders and customers are imported."
          },
          "shouldImportImages": {
            "type": "boolean",
            "description": "Item images are imported."
          },
          "canUpload": {
            "type": "boolean",
            "description": "The connector account is allowed to upload data to the endpoint."
          },
          "shouldUploadItemComplete": {
            "type": "boolean",
            "description": "Items are uploaded completely, rather than price/stock-restricted."
          },
          "shouldUploadItemPriceRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to prices only."
          },
          "shouldUploadItemStockRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to stock only."
          },
          "shouldUploadCustomers": {
            "type": "boolean",
            "description": "Customer data is uploaded."
          },
          "shouldUploadImages": {
            "type": "boolean",
            "description": "Images are uploaded."
          },
          "shouldRefreshExistingItems": {
            "type": "boolean",
            "description": "Existing items are merged/refreshed rather than only added."
          },
          "shouldRefreshCustomers": {
            "type": "boolean",
            "description": "Existing customer data is refreshed."
          },
          "shouldDeleteImagesOnImport": {
            "type": "boolean",
            "description": "Images are deleted on import."
          },
          "shouldWawiCalculateTaxRate": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for items, rather than taking the endpoint-reported one."
          },
          "shouldWawiCalculateTaxRateForShipping": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for shipping, rather than taking the endpoint-reported one."
          },
          "maximumTransferRate": {
            "type": "number",
            "description": "Maximum transfer rate for uploads, in megabytes, or null if unrestricted.",
            "format": "decimal"
          },
          "imagesCount": {
            "type": "integer",
            "description": "Maximum number of images transferred per run, or null if unrestricted.",
            "format": "int32"
          },
          "entityCount": {
            "type": "integer",
            "description": "Maximum number of entities transferred per run, or null if unrestricted.",
            "format": "int32"
          },
          "pullCount": {
            "type": "integer",
            "description": "Maximum pull count per sync run.",
            "format": "int32"
          },
          "quickSyncCount": {
            "type": "integer",
            "description": "Maximum quick-sync count per sync run.",
            "format": "int32"
          },
          "sendOnlyAssignedManufacturers": {
            "type": "boolean",
            "description": "Manufacturer data sent to the endpoint is filtered to only assigned manufacturers."
          },
          "shippingCountryIso": {
            "type": "string",
            "description": "The shipping/departure country as an ISO 3166-1 alpha-2 country code, or null if not set. Canonical form is UPPERCASE (ADR-85); matching is case-insensitive."
          },
          "dummyCategoryId": {
            "description": "Fallback category for uncategorized imported items, or null if not set.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "rootCategoryId": {
            "description": "Root category for imported items, or null if not set.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "useShopOrderNumber": {
            "type": "boolean",
            "description": "The shop-assigned order number is used instead of the Wawi-generated one."
          },
          "languages": {
            "type": "array",
            "description": "Languages available in the Wawi, annotated with the assignment/default state reported by the connector endpoint's live handshake.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorLanguage"
            }
          },
          "currencies": {
            "type": "array",
            "description": "ISO 4217 currencies known to the Wawi, annotated with the assignment/default state reported by the connector endpoint's live handshake.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCurrency"
            }
          },
          "features": {
            "type": "array",
            "description": "Every known connector feature, each marked whether the connector endpoint reported it as enabled.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorFeatureListItem"
            }
          },
          "taxRates": {
            "type": "array",
            "description": "Taxrates reported by the connector endpoint's live handshake, each merged with the internal Wawi taxrate it was validated against.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorTaxRate"
            }
          },
          "serverInfo": {
            "description": "Live-only metadata about the connected endpoint's platform and protocol version, as reported by its handshake.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorServerInfo"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorAccount": {
        "type": "object",
        "description": "A single connector account, i.e. an online shop whose synchronisation is handled by JTL-Connector.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "isActive",
          "isLocked"
        ],
        "properties": {
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of this connector account. A tenant-local, composite identifier, not a UUID. Use this to address the account in follow-up calls."
          },
          "name": {
            "type": "string",
            "description": "Name of the connector account."
          },
          "url": {
            "type": "string",
            "description": "URL of the connector endpoint."
          },
          "isActive": {
            "type": "boolean",
            "description": "Connector account is active."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Connector account is locked."
          },
          "companyId": {
            "description": "ID of the company the connector account belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorConfiguration": {
        "type": "object",
        "description": "The persisted synchronisation configuration of a connector account (dbo.tShopKonfiguration). Live-only, non-persisted fields reported by the connected endpoint's handshake (PlatformName, PlatformVersion, ProtocolVersion, EndpointVersion, IsOldConnector, ServerInfo) are not part of this DB-backed read.",
        "additionalProperties": false,
        "required": [
          "canImport",
          "shouldImportItemsAndCategories",
          "shouldImportOrdersAndCustomers",
          "shouldImportImages",
          "canUpload",
          "shouldUploadItemComplete",
          "shouldUploadItemPriceRestricted",
          "shouldUploadItemStockRestricted",
          "shouldUploadCustomers",
          "shouldUploadImages",
          "shouldRefreshExistingItems",
          "shouldRefreshCustomers",
          "shouldDeleteImagesOnImport",
          "shouldWawiCalculateTaxRate",
          "shouldWawiCalculateTaxRateForShipping",
          "pullCount",
          "quickSyncCount",
          "sendOnlyAssignedManufacturers"
        ],
        "properties": {
          "canImport": {
            "type": "boolean",
            "description": "The connector account is allowed to import data from the endpoint."
          },
          "shouldImportItemsAndCategories": {
            "type": "boolean",
            "description": "Items and categories are imported."
          },
          "shouldImportOrdersAndCustomers": {
            "type": "boolean",
            "description": "Orders and customers are imported."
          },
          "shouldImportImages": {
            "type": "boolean",
            "description": "Item images are imported."
          },
          "canUpload": {
            "type": "boolean",
            "description": "The connector account is allowed to upload data to the endpoint."
          },
          "shouldUploadItemComplete": {
            "type": "boolean",
            "description": "Items are uploaded completely, rather than price/stock-restricted."
          },
          "shouldUploadItemPriceRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to prices only."
          },
          "shouldUploadItemStockRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to stock only."
          },
          "shouldUploadCustomers": {
            "type": "boolean",
            "description": "Customer data is uploaded."
          },
          "shouldUploadImages": {
            "type": "boolean",
            "description": "Images are uploaded."
          },
          "shouldRefreshExistingItems": {
            "type": "boolean",
            "description": "Existing items are merged/refreshed rather than only added."
          },
          "shouldRefreshCustomers": {
            "type": "boolean",
            "description": "Existing customer data is refreshed."
          },
          "shouldDeleteImagesOnImport": {
            "type": "boolean",
            "description": "Images are deleted on import."
          },
          "shouldWawiCalculateTaxRate": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for items, rather than taking the endpoint-reported one."
          },
          "shouldWawiCalculateTaxRateForShipping": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for shipping, rather than taking the endpoint-reported one."
          },
          "maximumTransferRate": {
            "type": "number",
            "description": "Maximum transfer rate for uploads, in megabytes, or null if unrestricted.",
            "format": "decimal"
          },
          "imagesCount": {
            "type": "integer",
            "description": "Maximum number of images transferred per run, or null if unrestricted.",
            "format": "int32"
          },
          "entityCount": {
            "type": "integer",
            "description": "Maximum number of entities transferred per run, or null if unrestricted.",
            "format": "int32"
          },
          "pullCount": {
            "type": "integer",
            "description": "Maximum pull count per sync run.",
            "format": "int32"
          },
          "quickSyncCount": {
            "type": "integer",
            "description": "Maximum quick-sync count per sync run.",
            "format": "int32"
          },
          "sendOnlyAssignedManufacturers": {
            "type": "boolean",
            "description": "Manufacturer data sent to the endpoint is filtered to only assigned manufacturers."
          },
          "shippingCountryIso": {
            "type": "string",
            "description": "The shipping/departure country as an ISO 3166-1 alpha-2 country code, or null if not set. Canonical form is UPPERCASE (ADR-85); matching is case-insensitive."
          },
          "dummyCategoryId": {
            "description": "Fallback category for uncategorized imported items, or null if not set.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCurrency": {
        "type": "object",
        "description": "A single ISO 4217 currency known to the Wawi, in the context of a connector account, including its assignment/default state.",
        "additionalProperties": false,
        "required": [
          "currencyCode",
          "codeSource",
          "isAssigned",
          "isDefault"
        ],
        "properties": {
          "currencyCode": {
            "type": "string",
            "description": "Code of the currency in ISO 4217 alpha-3 form, uppercase. This is the identifier of the resource (ADR-85) - the internal surrogate key (kWaehrung) is not exposed. Only the FORM of the code is validated; membership in the ISO 4217 register is not verified, because the Wawi ships no register. Responses always carry the canonical form (uppercase). Currencies whose code does not match that form are not exposed by this endpoint; the x-prefixed private-use namespace is reserved for them."
          },
          "codeSource": {
            "description": "Source of CurrencyCode - standardized ISO 4217 code or tenant-defined code. Always Iso for now, because only codes in ISO 4217 alpha-3 form are returned; a tenant-defined code that happens to have that form is therefore reported as Iso. Distinguishing the two requires the code registry from the pending ADR-85 implementation tickets.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.CurrencyCodeSource"
          },
          "name": {
            "type": "string",
            "description": "Name of the currency."
          },
          "isAssigned": {
            "type": "boolean",
            "description": "Currency is assigned to the connector account."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Currency is the connector account's default currency."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCustomerGroupListItem": {
        "type": "object",
        "description": "A single customer group as reported by the Connector endpoint, merged with its Wawi-side mapping if one exists.",
        "additionalProperties": false,
        "required": [
          "endpointId",
          "isDefault"
        ],
        "properties": {
          "endpointId": {
            "type": "string",
            "description": "The customer group's identifier on the endpoint side. Always present — rows the endpoint reports without a usable identifier are not returned."
          },
          "endpointName": {
            "type": "string",
            "description": "The customer group's display name on the endpoint side, or null if no usable localized name was reported."
          },
          "customerGroupId": {
            "description": "ID of the internal Wawi customer group this endpoint group is mapped to, or null if the endpoint group has not been mapped yet.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "isDefault": {
            "type": "boolean",
            "description": "This customer group is the default customer group for the connector account."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCustomerGroupMappingAssignment": {
        "type": "object",
        "description": "A single desired customer-group mapping assignment for a connector account (which internal Wawi customer group an endpoint-side customer group is mapped to).",
        "additionalProperties": false,
        "required": [
          "endpointId",
          "customerGroupId"
        ],
        "properties": {
          "endpointId": {
            "type": "string",
            "description": "The customer group's identifier on the endpoint side."
          },
          "customerGroupId": {
            "description": "ID of the internal Wawi customer group this endpoint group is mapped to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorFeature": {
        "type": "integer",
        "description": "1 = ChildVariationsFirst, 2 = PartialPaymentPossible, 4 = OrderUpdatePossible, 8 = OrderReactivationPossible, 16 = SupportsArticleImages, 32 = SupportsCategoryImages, 64 = SupportsManufacturerImages, 128 = SupportsAttributeImages, 256 = SupportsAttributeValueImages, 512 = SupportsConfigGroupImages, 1024 = SupportsVariationImages, 2048 = SupportsNormalVariations, 4096 = SupportsVariationCombinations, 16384 = RequiresCompletionCall, 32768 = SupportsFreeFields, 65536 = RequiresRootCategory, 131072 = AttributesMultilingual, 262144 = RespectArticleActiveFlag, 524288 = IgnoreStatistics, 1048576 = SendAllAcks",
        "format": "int32",
        "x-enumNames": [
          "ChildVariationsFirst",
          "PartialPaymentPossible",
          "OrderUpdatePossible",
          "OrderReactivationPossible",
          "SupportsArticleImages",
          "SupportsCategoryImages",
          "SupportsManufacturerImages",
          "SupportsAttributeImages",
          "SupportsAttributeValueImages",
          "SupportsConfigGroupImages",
          "SupportsVariationImages",
          "SupportsNormalVariations",
          "SupportsVariationCombinations",
          "RequiresCompletionCall",
          "SupportsFreeFields",
          "RequiresRootCategory",
          "AttributesMultilingual",
          "RespectArticleActiveFlag",
          "IgnoreStatistics",
          "SendAllAcks"
        ],
        "enum": [
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          1024,
          2048,
          4096,
          16384,
          32768,
          65536,
          131072,
          262144,
          524288,
          1048576
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorFeatureListItem": {
        "type": "object",
        "description": "A single connector feature together with its configuration state for one connector account. The list covers every known feature, so a disabled feature is reported as well rather than being omitted.",
        "additionalProperties": false,
        "required": [
          "feature",
          "isEnabled"
        ],
        "properties": {
          "feature": {
            "description": "The connector feature this entry describes. Always a single feature, never a combination.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorFeature"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "The feature is enabled for the connector account. A connector account without any persisted feature configuration reports every feature as false."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorLanguage": {
        "type": "object",
        "description": "A single language available in the Wawi in the context of a connector account.",
        "additionalProperties": false,
        "required": [
          "iso",
          "isAssigned",
          "isDefault"
        ],
        "properties": {
          "iso": {
            "type": "string",
            "description": "ISO 639-1 code of the language (lowercase). Identifies the language (ADR-85) - languages are standardized reference data, so no separate surrogate id is exposed."
          },
          "nameGerman": {
            "type": "string",
            "description": "German name of the language."
          },
          "nameEnglish": {
            "type": "string",
            "description": "English name of the language."
          },
          "isAssigned": {
            "type": "boolean",
            "description": "Language is currently assigned to the connector account."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Language is the connector account's default language."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorLiveSyncError": {
        "type": "object",
        "description": "Details of the live push outcome to the Connector endpoint. Code and Message are not set on success (LiveSyncStatus.Synced - omitted in REST JSON, null in GraphQL) and populated on failure or timeout.",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string",
            "description": "Machine-readable error code of the live sync failure, not set on success (omitted in REST JSON, null in GraphQL)."
          },
          "message": {
            "type": "string",
            "description": "Human-readable message describing the live sync failure, not set on success (omitted in REST JSON, null in GraphQL)."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorLiveSyncStatus": {
        "type": "integer",
        "description": "0 = Unknown, 1 = Synced, 2 = SyncFailed, 3 = SyncTimedOut",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Synced",
          "SyncFailed",
          "SyncTimedOut"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorServerInfo": {
        "type": "object",
        "description": "Live-only, non-persisted metadata about the connected endpoint's software, reported by its handshake (init call). Never part of a DB-backed read - only present on a live pipeline result such as CreateConnector.",
        "additionalProperties": false,
        "required": [
          "isOldConnector"
        ],
        "properties": {
          "platformName": {
            "type": "string",
            "description": "Name of the endpoint's platform."
          },
          "platformVersion": {
            "type": "string",
            "description": "Version of the endpoint's platform."
          },
          "protocolVersion": {
            "type": "string",
            "description": "Version of the Connector RPC protocol spoken by the endpoint."
          },
          "endpointVersion": {
            "type": "string",
            "description": "Version of the JTL-Connector endpoint plugin itself."
          },
          "isOldConnector": {
            "type": "boolean",
            "description": "The endpoint reported a legacy Connector protocol generation."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorSynchronisationEntityType": {
        "type": "integer",
        "description": "1 = Category, 2 = Product, 3 = Customer, 4 = CustomerOrder, 5 = DeliveryNote, 6 = GlobalData, 7 = Image, 8 = Manufacturer, 9 = Specific, 10 = ConfigGroup, 11 = ConfigItem, 12 = CrossSellingGroup, 13 = Currency, 14 = CustomerGroup, 15 = Language, 16 = MeasurementUnit, 17 = ProductType, 18 = ShippingClass, 19 = TaxRate, 20 = Unit, 21 = Warehouse, 22 = StatusChange, 23 = DeliveryStatus, 24 = CategoryAttr, 25 = CategoryCustomerGroup, 26 = CategoryI18n, 27 = CategoryInvisibility, 28 = ConfigGroupI18n, 29 = ConfigItemI18n, 30 = ConfigItemPrice, 31 = CustomerAttr, 32 = CustomerGroupAttr, 33 = CustomerGroupI18n, 34 = CustomerOrderAttr, 35 = CustomerOrderItem, 36 = CustomerOrderItemVariation, 37 = DeliveryNoteItem, 38 = ManufacturerI18n, 39 = MeasurementUnitI18n, 40 = ProductMediaFileI18n, 41 = Product2Category, 42 = ProductConfigGroup, 44 = ProductFileDownload, 45 = ProductI18n, 46 = ProductInvisibility, 47 = ProductMediaFile, 48 = ProductPrice, 49 = ProductPartsList, 50 = ProductAttr, 51 = ProductSpecialPrice, 52 = ProductSpecific, 53 = ProductWarehouseInfo, 54 = ProductVariation, 55 = ProductChecksum, 56 = ProductVarCombination, 57 = CustomerGroupPackagingQuantity, 58 = ProductAttrI18n, 59 = ProductPriceItem, 60 = ProductSpecialPriceItem, 61 = ProductVariationI18n, 62 = ProductVariationInvisibility, 63 = ProductVariationValue, 64 = ProductVariationValueExtraCharge, 65 = ProductVariationValueI18n, 66 = ProductVariationValueInvisibility, 67 = SpecificI18n, 68 = SpecificValue, 69 = SpecificValueI18n, 70 = UnitI18n, 71 = CategoryAttrI18n, 72 = CrossSellingGroupI18n, 73 = CustomerOrderBillingAddress, 74 = CustomerOrderShippingAddress, 75 = CustomerOrderPaymentInfo, 76 = DeliveryNoteItemInfo, 77 = FileDownload, 78 = FileUpload, 79 = FileDownloadI18n, 80 = FileUploadI18n, 81 = ProductMediaFileAttr, 82 = ProductMediaFileAttrI18n, 83 = PartsList, 84 = ProductStockLevel, 85 = ProductVariationValueDependency, 86 = Shipment, 87 = Statistic, 88 = TaxClass, 89 = TaxZone, 90 = TaxZoneCountry, 91 = Payment, 92 = CrossSelling",
        "format": "int32",
        "x-enumNames": [
          "Category",
          "Product",
          "Customer",
          "CustomerOrder",
          "DeliveryNote",
          "GlobalData",
          "Image",
          "Manufacturer",
          "Specific",
          "ConfigGroup",
          "ConfigItem",
          "CrossSellingGroup",
          "Currency",
          "CustomerGroup",
          "Language",
          "MeasurementUnit",
          "ProductType",
          "ShippingClass",
          "TaxRate",
          "Unit",
          "Warehouse",
          "StatusChange",
          "DeliveryStatus",
          "CategoryAttr",
          "CategoryCustomerGroup",
          "CategoryI18n",
          "CategoryInvisibility",
          "ConfigGroupI18n",
          "ConfigItemI18n",
          "ConfigItemPrice",
          "CustomerAttr",
          "CustomerGroupAttr",
          "CustomerGroupI18n",
          "CustomerOrderAttr",
          "CustomerOrderItem",
          "CustomerOrderItemVariation",
          "DeliveryNoteItem",
          "ManufacturerI18n",
          "MeasurementUnitI18n",
          "ProductMediaFileI18n",
          "Product2Category",
          "ProductConfigGroup",
          "ProductFileDownload",
          "ProductI18n",
          "ProductInvisibility",
          "ProductMediaFile",
          "ProductPrice",
          "ProductPartsList",
          "ProductAttr",
          "ProductSpecialPrice",
          "ProductSpecific",
          "ProductWarehouseInfo",
          "ProductVariation",
          "ProductChecksum",
          "ProductVarCombination",
          "CustomerGroupPackagingQuantity",
          "ProductAttrI18n",
          "ProductPriceItem",
          "ProductSpecialPriceItem",
          "ProductVariationI18n",
          "ProductVariationInvisibility",
          "ProductVariationValue",
          "ProductVariationValueExtraCharge",
          "ProductVariationValueI18n",
          "ProductVariationValueInvisibility",
          "SpecificI18n",
          "SpecificValue",
          "SpecificValueI18n",
          "UnitI18n",
          "CategoryAttrI18n",
          "CrossSellingGroupI18n",
          "CustomerOrderBillingAddress",
          "CustomerOrderShippingAddress",
          "CustomerOrderPaymentInfo",
          "DeliveryNoteItemInfo",
          "FileDownload",
          "FileUpload",
          "FileDownloadI18n",
          "FileUploadI18n",
          "ProductMediaFileAttr",
          "ProductMediaFileAttrI18n",
          "PartsList",
          "ProductStockLevel",
          "ProductVariationValueDependency",
          "Shipment",
          "Statistic",
          "TaxClass",
          "TaxZone",
          "TaxZoneCountry",
          "Payment",
          "CrossSelling"
        ],
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28,
          29,
          30,
          31,
          32,
          33,
          34,
          35,
          36,
          37,
          38,
          39,
          40,
          41,
          42,
          44,
          45,
          46,
          47,
          48,
          49,
          50,
          51,
          52,
          53,
          54,
          55,
          56,
          57,
          58,
          59,
          60,
          61,
          62,
          63,
          64,
          65,
          66,
          67,
          68,
          69,
          70,
          71,
          72,
          73,
          74,
          75,
          76,
          77,
          78,
          79,
          80,
          81,
          82,
          83,
          84,
          85,
          86,
          87,
          88,
          89,
          90,
          91,
          92
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorSynchronisationSetting": {
        "type": "object",
        "description": "The synchronisation settings a connector has configured for one synchronizable object type. One entry per configured object type; object types the connector has never configured are not returned.",
        "additionalProperties": false,
        "required": [
          "entityType",
          "canDelete"
        ],
        "properties": {
          "entityType": {
            "description": "The synchronized object type these settings apply to. It identifies the entry within the connector; the internal surrogate key of the underlying row is not exposed.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorSynchronisationEntityType"
          },
          "canSend": {
            "type": "boolean",
            "description": "Connector is allowed to send this object type. Null (GraphQL) or omitted (REST) if that has never been configured - deliberately distinct from false: \"never configured\" is not the same statement as \"configured as not allowed\"."
          },
          "canReceive": {
            "type": "boolean",
            "description": "Connector is allowed to receive this object type. Null (GraphQL) or omitted (REST) if that has never been configured - deliberately distinct from false, as for CanSend."
          },
          "canDelete": {
            "type": "boolean",
            "description": "Connector is allowed to delete this object type. Never null - the underlying column is NOT NULL DEFAULT 0."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorTaxRate": {
        "type": "object",
        "description": "A single taxrate reported by the Connector endpoint's live handshake, merged with the internal Wawi taxrate it was validated against. Connector-driven, response-only - never accepted as request input. Every entry is guaranteed to carry a resolved TaxRateId, because CreateConnector rejects the request with 400 if any endpoint-reported taxrate does not exist in the chosen company's tSteuersatz.",
        "additionalProperties": false,
        "required": [
          "rate",
          "taxRateId"
        ],
        "properties": {
          "rate": {
            "type": "number",
            "description": "The tax rate percentage as reported by the endpoint.",
            "format": "decimal"
          },
          "taxRateId": {
            "description": "ID of the internal Wawi taxrate (dbo.tSteuersatz) this endpoint rate was validated against.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuersatzKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorTaxRateListItem": {
        "type": "object",
        "description": "A single tax rate as reported by the Connector endpoint. These are the endpoint's own rates, not the Wawi's - a rate the Wawi does not know can legitimately appear here; that mismatch is exactly what the desktop editor's tax rate validation flags.",
        "additionalProperties": false,
        "required": [
          "rate"
        ],
        "properties": {
          "rate": {
            "type": "number",
            "description": "The tax rate as reported by the Connector endpoint, in percent - 19 means 19 %, not a factor. Published exactly as reported: the value is neither converted nor plausibility-checked, so it stays directly comparable to the Wawi-side rate (dbo.tSteuersatz.fSteuersatz), which the protocol maps onto this very field.",
            "format": "decimal"
          },
          "countryCode": {
            "type": "string",
            "description": "Country the tax rate applies to, as an ISO 3166-1 alpha-2 code in canonical uppercase form (ADR-85), or null if the endpoint reported no usable code. Named CountryCode, not CountryIso, to match the ADR-85 vocabulary and the sibling CurrencyCode. The pattern is strict uppercase rather than the case-insensitive form ADR-85 shows for request fields: this is a response-only field, so there is no incoming value to accept leniently, and the canonical form is guaranteed by normalization at the read boundary. Only the FORM of the code is validated; membership in the ISO 3166-1 register is not verified. A reported value that is not two letters is published as null rather than as an invalid code. Exactly one country per rate - unlike the Wawi's own tax rate model, which distinguishes a departure and a shipment country."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.CurrencyCodeSource": {
        "type": "integer",
        "description": "0 = Iso, 1 = UserAssigned",
        "format": "int32",
        "x-enumNames": [
          "Iso",
          "UserAssigned"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.SaveConnectorCustomerGroupsCommandResponse": {
        "type": "object",
        "description": "Declaratively replaces the complete set of customer-group mappings of a connector account and pushes the resulting mapping live to the Connector endpoint. The request describes the full desired state - provided assignments are upserted and every mapping not contained in the request is cleared. An EndpointId that is neither already mapped nor currently reported by the Connector endpoint (stale data) is silently ignored, exactly as if it had not been submitted. Persistence of the resulting write always succeeds independently of the later live push outcome; a failed or timed-out live push is reported via LiveSyncStatus/LiveSyncError but does not roll back the persisted assignments or change the response code. This command has no IsDefault input - a customer group's default flag, like its display name, is reported by the Connector endpoint itself; it is never accepted from or echoed back with authority by this write path, so a GET-modify-PUT round trip cannot change or need to preserve it. For an EndpointId not already mapped, EndpointName/IsDefault are instead resolved with one live read from the Connector endpoint before anything is persisted - unlike the later live push, a failure of this live read does fail the whole request (502/504) and persists nothing, because it is needed to build a valid response. - Response",
        "additionalProperties": false,
        "required": [
          "customerGroups",
          "liveSyncStatus",
          "liveSyncError"
        ],
        "properties": {
          "customerGroups": {
            "type": "array",
            "description": "The persisted customer-group mappings, minus any submitted EndpointId ignored as stale (see the command description). For an EndpointId already mapped, EndpointName/IsDefault are carried over unchanged from the previously persisted state, exactly as before this call. For a first-time EndpointId, both are instead resolved from a live read performed before persisting, so IsDefault is always a definite, known value here too, never a guess - EndpointName can still be null there if the endpoint itself reports no usable localized name for that group, the same case QueryConnectorCustomerGroups already tolerates. This list is independent of the later live push outcome reported in LiveSyncStatus/LiveSyncError - it reflects what was persisted, not a re-pull after that push, so it does not depend on or wait for the push to succeed.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCustomerGroupListItem"
            }
          },
          "liveSyncStatus": {
            "description": "Outcome of the live push to the Connector endpoint.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorLiveSyncStatus"
          },
          "liveSyncError": {
            "description": "Details of the live sync outcome. Code and Message are not set when LiveSyncStatus is Synced (omitted in REST JSON, null in GraphQL), and populated when it is SyncFailed or SyncTimedOut. Always present as an object (rather than the field itself being nullable) because Command response properties do not support optional-field validation the way GET model properties do - this shape sidesteps that generator limitation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorLiveSyncError"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.CategoryCapabilities": {
        "type": "object",
        "description": "Model Class: CategoryCapabilities ",
        "additionalProperties": false,
        "required": [
          "descriptions",
          "onlineShopActivation"
        ],
        "properties": {
          "descriptions": {
            "type": "boolean",
            "description": "Indicates if the category descriptions for this sales channel can be created or changed via REST-API."
          },
          "onlineShopActivation": {
            "type": "boolean",
            "description": "Indicates if the category for this sales channel can be activated. Categories can only be activated for online shops or JTL-POS."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.ItemCapabilities": {
        "type": "object",
        "description": "Model Class: ItemCapabilities ",
        "additionalProperties": false,
        "required": [
          "descriptions",
          "onlineShopActivation",
          "prices",
          "specialPrices",
          "images"
        ],
        "properties": {
          "descriptions": {
            "type": "boolean",
            "description": "Indicates if the category descriptions for this sales channel can be created or changed via REST-API."
          },
          "onlineShopActivation": {
            "type": "boolean",
            "description": "Indicates if the category for this sales channel can be activated. Categories can only be activated for online shops or JTL-POS."
          },
          "prices": {
            "type": "boolean",
            "description": "Indicates if the prices for this sales channel can be manipulated."
          },
          "specialPrices": {
            "type": "boolean",
            "description": "Indicates if the special prices for this sales channel can be manipulated."
          },
          "images": {
            "type": "boolean",
            "description": "Indicates if the images for this sales channel can be manipulated."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.SalesChannel": {
        "type": "object",
        "description": "A single sales channel with the available endpoints.",
        "additionalProperties": false,
        "required": [
          "id",
          "type",
          "name",
          "itemCapabilities",
          "categoryCapabilities"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a sales channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "type": {
            "description": "Type of the sales channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.SalesChannelType"
          },
          "name": {
            "type": "string",
            "description": "Name of the sales channel, e.g. eBay.de, amazon.uk, myshop.de."
          },
          "itemCapabilities": {
            "description": "Indicates which parts of items can be manipulated for a specific sales channel via REST-API.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.ItemCapabilities"
          },
          "categoryCapabilities": {
            "description": "Indicates which parts of categories can be manipulated for a specific sales channel via REST-API.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.CategoryCapabilities"
          },
          "documentationUrl": {
            "type": "string",
            "description": "URL for the documentation of the available endpoints for this specific sales channel."
          },
          "detailUrl": {
            "type": "string",
            "description": "Machine-readable, type-specific URL of the detail endpoint for this specific sales channel."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.SalesChannel.SalesChannelType": {
        "type": "integer",
        "description": "0 = JTL_Wawi, 1 = OnlineShop, 2 = JTL_POS, 3 = Ebay, 4 = Unicorn, 5 = SCX, 6 = JTL_Fulfillment_Network, 7 = REST_API, 8 = XML_Import, 9 = Amazon, 10 = JTL_BI",
        "format": "int32",
        "x-enumNames": [
          "JTL_Wawi",
          "OnlineShop",
          "JTL_POS",
          "Ebay",
          "Unicorn",
          "SCX",
          "JTL_Fulfillment_Network",
          "REST_API",
          "XML_Import",
          "Amazon",
          "JTL_BI"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.AuthorizeScxSellerCommandResponse": {
        "type": "object",
        "description": "(Re-)authorizes the specified SCX seller/account connection. Returns the URL the caller must open to complete the authorization at the marketplace. - Response",
        "additionalProperties": false,
        "required": [
          "authorizationUrl"
        ],
        "properties": {
          "authorizationUrl": {
            "type": "string",
            "description": "URL the caller must open to complete the authorization at the marketplace."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.CreateScxSignUpCommandResponse": {
        "type": "object",
        "description": "Creates an onboarding sign-up for a new SCX seller on the given channel. Returns a sign-up id that must be passed to FinalizeScxSignUp once the seller has completed onboarding. - Response",
        "additionalProperties": false,
        "required": [
          "signUpId",
          "signUpUrl",
          "expiresAt"
        ],
        "properties": {
          "signUpId": {
            "type": "string",
            "description": "Server-generated id of the sign-up. Pass this to FinalizeScxSignUp to complete it."
          },
          "signUpUrl": {
            "type": "string",
            "description": "Onboarding URL the user shall open to complete the sign-up."
          },
          "expiresAt": {
            "type": "string",
            "description": "Point in time after which the sign-up and its SignUpUrl are no longer valid.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.FinalizeScxSignUpCommandResponse": {
        "type": "object",
        "description": "Checks whether a sign-up has completed and, if so, returns the newly connected seller(s). Call this repeatedly until the sign-up completes or expires. - Response",
        "additionalProperties": false,
        "required": [
          "isCompleted",
          "sellers"
        ],
        "properties": {
          "isCompleted": {
            "type": "boolean",
            "description": "Whether the sign-up has completed and produced at least one new seller."
          },
          "sellers": {
            "type": "array",
            "description": "Newly connected seller(s) resulting from this sign-up. Empty while IsCompleted is false.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSeller"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ImportScxSellersCommandResponse": {
        "type": "object",
        "description": "Imports SCX sellers that have newly connected to the company since the last import. Idempotent on retry - returns an empty list if there is nothing new. - Response",
        "additionalProperties": false,
        "required": [
          "newSalesChannelIds"
        ],
        "properties": {
          "newSalesChannelIds": {
            "type": "string",
            "description": "Sales channel IDs of newly imported SCX sellers.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.RefreshScxSellersCommandResponse": {
        "type": "object",
        "description": "Imports SCX sellers that have newly connected to the company since the last import, then returns the company's complete current list of sellers. - Response",
        "additionalProperties": false,
        "required": [
          "sellers"
        ],
        "properties": {
          "sellers": {
            "type": "array",
            "description": "All current SCX sellers of the company, after the import.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSeller"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.RequestScxSellerInventoryCommandResponse": {
        "type": "object",
        "description": "Requests the seller inventory data for a SCX seller/account. Queues the report request and returns its report id synchronously. - Response",
        "additionalProperties": false,
        "required": [
          "reportId"
        ],
        "properties": {
          "reportId": {
            "description": "Id of the queued inventory report request.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxReportKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxApiModeType": {
        "type": "integer",
        "description": "0 = Event, 1 = Metadata, 2 = Report, 3 = Channel, 4 = MetadataPull",
        "format": "int32",
        "x-enumNames": [
          "Event",
          "Metadata",
          "Report",
          "Channel",
          "MetadataPull"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxChannel": {
        "type": "object",
        "description": "A single SCX channel catalog entry (the catalog of available marketplaces), including capability flags.",
        "additionalProperties": false,
        "required": [
          "id",
          "channel",
          "displayName",
          "currency",
          "isVariationsSupported",
          "isRemainingQuantitySupported",
          "isQuantityPriceSupported",
          "isPriceUpdatesSupported",
          "isReturnTrackingRequired",
          "isAllowCombineOrders",
          "invoiceDocumentTransfer"
        ],
        "properties": {
          "id": {
            "description": "ID of the channel catalog entry.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey"
          },
          "channel": {
            "type": "string",
            "description": "Unique channel name."
          },
          "displayName": {
            "type": "string",
            "description": "Channel name shown in the UI."
          },
          "currency": {
            "type": "string",
            "description": "Currency supported by the channel according to ISO 4217."
          },
          "isVariationsSupported": {
            "type": "boolean",
            "description": "Channel supports product variations."
          },
          "isRemainingQuantitySupported": {
            "type": "boolean",
            "description": "Channel supports remaining quantity updates."
          },
          "isQuantityPriceSupported": {
            "type": "boolean",
            "description": "Channel supports quantity-based pricing."
          },
          "isPriceUpdatesSupported": {
            "type": "boolean",
            "description": "Channel supports price updates."
          },
          "isReturnTrackingRequired": {
            "type": "boolean",
            "description": "Channel requires return tracking."
          },
          "isAllowCombineOrders": {
            "type": "boolean",
            "description": "Channel allows combining orders."
          },
          "invoiceDocumentTransfer": {
            "description": "Invoice document transfer mode.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxInvoiceDocumentTransferType"
          },
          "parentChannelId": {
            "description": "ID of the parent channel, or null for a platform channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxCustomerGroupMapping": {
        "type": "object",
        "description": "A persisted mapping of a SCX channel price type to a JTL-Wawi customer group for a SCX seller.",
        "additionalProperties": false,
        "required": [
          "channelPriceTypeId",
          "salesChannelId",
          "customerGroupId"
        ],
        "properties": {
          "channelPriceTypeId": {
            "description": "Identifier of the channel price type (mapping key).",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelPriceTypeKey"
          },
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of the seller this mapping belongs to (composite id, ADR-69)."
          },
          "customerGroupId": {
            "description": "Identifier of the mapped customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "priceTypeId": {
            "type": "string",
            "description": "Identifier of the channel price type as supplied by the channel, resolved server-side."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxCustomerGroupMappingAssignment": {
        "type": "object",
        "description": "A single desired customer-group mapping assignment (which JTL-Wawi customer group a SCX channel price type is mapped to).",
        "additionalProperties": false,
        "required": [
          "channelPriceTypeId",
          "customerGroupId"
        ],
        "properties": {
          "channelPriceTypeId": {
            "description": "Identifier of the channel price type to map.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelPriceTypeKey"
          },
          "customerGroupId": {
            "description": "Identifier of the customer group the channel price type is mapped to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxEventImport": {
        "type": "object",
        "description": "Import state of a single event type of a SCX seller after the change.",
        "additionalProperties": false,
        "required": [
          "type",
          "isImportEnabled"
        ],
        "properties": {
          "type": {
            "type": "integer",
            "description": "Numeric value of the event type this entry refers to, as listed by GetScxEventTypes. Identifies the entry within the collection.",
            "format": "int32"
          },
          "isImportEnabled": {
            "type": "boolean",
            "description": "Whether the import is enabled for this type."
          },
          "createdAfter": {
            "type": "string",
            "description": "Lower bound for the events to process, as persisted. Null when no bound is set. Always UTC.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxEventImportAssignment": {
        "type": "object",
        "description": "A single event type whose import is to be enabled for a SCX seller, with an optional lower bound for the events to process.",
        "additionalProperties": false,
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "integer",
            "description": "Numeric value of the event type whose import is enabled. Retrieve the valid values from GetScxEventTypes; a value outside that vocabulary is rejected and no import is changed.",
            "format": "int32"
          },
          "createdAfter": {
            "type": "string",
            "description": "Only process events created after this point in time. Omit to process without a lower bound. Stored and returned as UTC.",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxEventTypeInfo": {
        "type": "object",
        "description": "A single event type of the vocabulary that can be enabled for import. Value is what a caller sends as Type, Key is what the seller read model returns as Type - together they close the read-write round trip.",
        "additionalProperties": false,
        "required": [
          "value",
          "key"
        ],
        "properties": {
          "value": {
            "type": "integer",
            "description": "Numeric value identifying the event type. This is the value to send as Type in SetScxSellerEventImport.",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "description": "SCX api key of the event type. This is the exact string the seller read model reports in its Type field."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxInvoiceDocumentTransferType": {
        "type": "integer",
        "description": "0 = NotSupported, 1 = FromSeller, 2 = FromChannel",
        "format": "int32",
        "x-enumNames": [
          "NotSupported",
          "FromSeller",
          "FromChannel"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxMetaDataImport": {
        "type": "object",
        "description": "Import state of a single metadata type of a SCX seller after the change.",
        "additionalProperties": false,
        "required": [
          "type",
          "isImportEnabled"
        ],
        "properties": {
          "type": {
            "type": "integer",
            "description": "Numeric value of the metadata type this entry refers to, as listed by GetScxMetaDataTypes. Identifies the entry within the collection.",
            "format": "int32"
          },
          "isImportEnabled": {
            "type": "boolean",
            "description": "Whether the import is enabled for this type."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxMetaDataImportAssignment": {
        "type": "object",
        "description": "A single metadata type whose import is to be enabled for a SCX seller.",
        "additionalProperties": false,
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "integer",
            "description": "Numeric value of the metadata type whose import is enabled. Retrieve the valid values from GetScxMetaDataTypes; a value outside that vocabulary is rejected and no import is changed.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxMetaDataTypeInfo": {
        "type": "object",
        "description": "A single metadata type of the vocabulary that can be enabled for import. Value is what a caller sends as Type, Key is what the seller read model returns as Type - together they close the read-write round trip.",
        "additionalProperties": false,
        "required": [
          "value",
          "key"
        ],
        "properties": {
          "value": {
            "type": "integer",
            "description": "Numeric value identifying the metadata type. This is the value to send as Type in SetScxSellerMetaDataImport.",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "description": "SCX api key of the metadata type. This is the exact string the seller read model reports in its Type field."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxOfferAutomappingType": {
        "type": "integer",
        "description": "0 = SKU, 1 = EAN, 2 = ItemId",
        "format": "int32",
        "x-enumNames": [
          "SKU",
          "EAN",
          "ItemId"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxOrderConfirmType": {
        "type": "integer",
        "description": "0 = AlwaysAccept, 1 = AcceptOnlyWhenEnoughStock",
        "format": "int32",
        "x-enumNames": [
          "AlwaysAccept",
          "AcceptOnlyWhenEnoughStock"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxRefundTransmissionType": {
        "type": "integer",
        "description": "0 = Always, 1 = Never, 2 = OnSettingPerRefund",
        "format": "int32",
        "x-enumNames": [
          "Always",
          "Never",
          "OnSettingPerRefund"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxReturnTransmissionType": {
        "type": "integer",
        "description": "0 = Always, 1 = Never, 2 = OnSettingPerReturn",
        "format": "int32",
        "x-enumNames": [
          "Always",
          "Never",
          "OnSettingPerReturn"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSeller": {
        "type": "object",
        "description": "A single SCX seller row.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "isActive",
          "sellerId",
          "channel",
          "createdAt",
          "channelDisplayName",
          "channelCurrency",
          "isDocumentStorageEnabled",
          "isStockUpdateEnabled",
          "isOfferAutomappingEnabled",
          "offerAutomappingType",
          "isAttributeImportEnabled",
          "orderConfirmationType",
          "pendingOfferDeletionIntervalDays",
          "completedOfferDeletionIntervalDays",
          "isDeleted",
          "isVariationsSupported",
          "isQuantityPriceSupported",
          "invoiceDocumentTransfer",
          "isAllowCombineOrders"
        ],
        "properties": {
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of this seller/account (composite id, ADR-69). Use this to address the seller in follow-up calls."
          },
          "name": {
            "type": "string",
            "description": "Name of the shop."
          },
          "isActive": {
            "type": "boolean",
            "description": "Shop is active."
          },
          "isBlocked": {
            "type": "integer",
            "description": "Shop blocked state.",
            "format": "int32"
          },
          "companyId": {
            "description": "ID of the company.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "warehouseId": {
            "description": "ID of the warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "returnWarehouseId": {
            "description": "ID of the return warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "languageId": {
            "description": "ID of the language.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "sellerId": {
            "type": "string",
            "description": "Seller identifier on the marketplace channel."
          },
          "channel": {
            "type": "string",
            "description": "Channel code."
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp.",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp.",
            "format": "date-time"
          },
          "reason": {
            "type": "string",
            "description": "Reason text."
          },
          "shippingMethodId": {
            "description": "ID of the default shipping method.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "channelDisplayName": {
            "type": "string",
            "description": "Display name of the channel."
          },
          "channelCurrency": {
            "type": "string",
            "description": "Currency of the channel."
          },
          "isDocumentStorageEnabled": {
            "type": "boolean",
            "description": "Document storage is enabled."
          },
          "isStockUpdateEnabled": {
            "type": "boolean",
            "description": "Stock update is enabled."
          },
          "isOfferAutomappingEnabled": {
            "type": "boolean",
            "description": "Offer automapping is enabled."
          },
          "offerAutomappingType": {
            "description": "Offer automapping type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxOfferAutomappingType"
          },
          "isAttributeImportEnabled": {
            "type": "boolean",
            "description": "Attribute import is enabled."
          },
          "orderConfirmationType": {
            "description": "Order confirmation type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxOrderConfirmType"
          },
          "paymentMethodId": {
            "description": "ID of the payment method.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "pendingOfferDeletionIntervalDays": {
            "type": "integer",
            "description": "Deletion interval for pending offers in days.",
            "format": "int32"
          },
          "completedOfferDeletionIntervalDays": {
            "type": "integer",
            "description": "Deletion interval for completed offers in days.",
            "format": "int32"
          },
          "isDeleted": {
            "type": "boolean",
            "description": "SCX shop assignment is marked as deleted."
          },
          "isVariationsSupported": {
            "type": "boolean",
            "description": "Channel supports product variations."
          },
          "isQuantityPriceSupported": {
            "type": "boolean",
            "description": "Channel supports quantity prices."
          },
          "invoiceDocumentTransfer": {
            "description": "Invoice document transfer type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxInvoiceDocumentTransferType"
          },
          "isAllowCombineOrders": {
            "type": "boolean",
            "description": "Channel allows combining orders."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerDetails": {
        "type": "object",
        "description": "SCX seller detail sub-elements (price types, shipping rules, metadata, supported marketplaces, return settings).",
        "additionalProperties": false,
        "required": [
          "priceTypes",
          "shippingRules",
          "metaData",
          "events",
          "supportedMarketplaces"
        ],
        "properties": {
          "priceTypes": {
            "type": "array",
            "description": "Price types assigned to this seller's channel.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerPriceType"
            }
          },
          "shippingRules": {
            "type": "array",
            "description": "Shipping rules assigned to this seller's channel.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerShippingRule"
            }
          },
          "metaData": {
            "type": "array",
            "description": "Metadata entries for this seller (ApiModeType = Metadata/MetadataPull, no date required).",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerMetaDataEntry"
            }
          },
          "events": {
            "type": "array",
            "description": "Event entries for this seller (ApiModeType = Event, date required).",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerMetaDataEntry"
            }
          },
          "supportedMarketplaces": {
            "type": "array",
            "description": "Supported marketplaces for this seller's channel.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerSupportedMarketplace"
            }
          },
          "returnSettings": {
            "description": "Return tracking settings for this seller.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerReturnSettings"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerMetaDataEntry": {
        "type": "object",
        "description": "A metadata or event entry for a SCX seller.",
        "additionalProperties": false,
        "required": [
          "type",
          "sellerId",
          "channelId",
          "apiModeType",
          "isImportEnabled"
        ],
        "properties": {
          "metaDataId": {
            "description": "ID of the metadata entry (null if not yet persisted).",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxMetaDataChangedKey"
          },
          "type": {
            "type": "string",
            "description": "Download type (e.g. CATEGORY, GLOBAL_ATTRIBUTES, Channel:Order)."
          },
          "resource": {
            "type": "string",
            "description": "Resource identifier."
          },
          "sellerId": {
            "type": "string",
            "description": "Seller identifier."
          },
          "channelId": {
            "description": "ID of the channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey"
          },
          "createdAfter": {
            "type": "string",
            "description": "Created after timestamp (only for events).",
            "format": "date-time"
          },
          "apiModeType": {
            "description": "API mode type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxApiModeType"
          },
          "isImportEnabled": {
            "type": "boolean",
            "description": "Whether import is enabled for this type."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerPriceType": {
        "type": "object",
        "description": "A price type assigned to a SCX seller.",
        "additionalProperties": false,
        "required": [
          "channelPriceTypeId",
          "salesChannelId"
        ],
        "properties": {
          "channelPriceTypeId": {
            "description": "ID of the channel price type.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelPriceTypeKey"
          },
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of the seller this price type belongs to (composite id, ADR-69)."
          },
          "priceTypeId": {
            "type": "string",
            "description": "Price type identifier on the channel."
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the price type."
          },
          "description": {
            "type": "string",
            "description": "Description of the price type."
          },
          "customerGroupId": {
            "description": "ID of the mapped customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerReturnSettings": {
        "type": "object",
        "description": "Return tracking settings for a SCX seller.",
        "additionalProperties": false,
        "required": [
          "isReturnTrackingRequired",
          "isReturnTrackingIdEnabled",
          "returnTransmissionType",
          "refundTransmissionType",
          "returnNumberRangeFrom",
          "returnNumberRangeTo",
          "returnNumberRangeCurrent",
          "isReturnIdLimitWarningEnabled",
          "returnIdLimitWarningCount"
        ],
        "properties": {
          "isReturnTrackingRequired": {
            "type": "boolean",
            "description": "Channel requires return tracking."
          },
          "isReturnTrackingIdEnabled": {
            "type": "boolean",
            "description": "Return tracking ID generation is enabled."
          },
          "returnTransmissionType": {
            "description": "Return transmission type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxReturnTransmissionType"
          },
          "refundTransmissionType": {
            "description": "Refund transmission type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxRefundTransmissionType"
          },
          "returnShippingRuleId": {
            "description": "ID of the return shipping rule (carrier code).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShippingRuleKey"
          },
          "returnWarehouseId": {
            "description": "ID of the return warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "returnNumberRangePrefix": {
            "type": "string",
            "description": "Prefix for return number range."
          },
          "returnNumberRangeFrom": {
            "type": "integer",
            "description": "Start of return number range.",
            "format": "int64"
          },
          "returnNumberRangeTo": {
            "type": "integer",
            "description": "End of return number range.",
            "format": "int64"
          },
          "returnNumberRangeSuffix": {
            "type": "string",
            "description": "Suffix for return number range."
          },
          "returnNumberRangeCurrent": {
            "type": "integer",
            "description": "Current return number in the range.",
            "format": "int64"
          },
          "isReturnIdLimitWarningEnabled": {
            "type": "boolean",
            "description": "Return ID limit warning is enabled."
          },
          "returnIdLimitWarningCount": {
            "type": "integer",
            "description": "Number of remaining IDs before warning triggers.",
            "format": "int32"
          },
          "returnIdLimitWarningEmail": {
            "type": "string",
            "description": "Email address for return ID limit warning."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerShippingRule": {
        "type": "object",
        "description": "A shipping rule assigned to a SCX seller.",
        "additionalProperties": false,
        "required": [
          "shippingRuleId",
          "carrierId"
        ],
        "properties": {
          "shippingRuleId": {
            "description": "ID of the shipping rule.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShippingRuleKey"
          },
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of the seller this shipping rule belongs to (composite id, ADR-69). Empty when the underlying row has no shop association (LEFT JOIN)."
          },
          "carrierId": {
            "type": "string",
            "description": "Carrier identifier."
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the shipping rule."
          },
          "shippingMethodId": {
            "description": "ID of the mapped shipping method.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "customCarrierId": {
            "type": "string",
            "description": "Custom carrier code override from the shipping rule mapping."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxSellerSupportedMarketplace": {
        "type": "object",
        "description": "A supported marketplace (country) for a SCX seller's channel.",
        "additionalProperties": false,
        "required": [
          "channelId",
          "iso",
          "name",
          "sort"
        ],
        "properties": {
          "channelId": {
            "description": "ID of the channel.",
            "$ref": "#/components/schemas/JTL.Wawi.Marketplace.Scx.Types.Keys.ScxChannelKey"
          },
          "iso": {
            "type": "string",
            "description": "ISO code of the marketplace country."
          },
          "name": {
            "type": "string",
            "description": "Country name."
          },
          "sort": {
            "type": "integer",
            "description": "Sort order.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxShippingRuleMapping": {
        "type": "object",
        "description": "A persisted mapping of a JTL-Wawi shipping method to a channel shipping rule for a SCX seller.",
        "additionalProperties": false,
        "required": [
          "shippingMethodId",
          "salesChannelId"
        ],
        "properties": {
          "shippingMethodId": {
            "description": "Identifier of the JTL-Wawi shipping method.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of the seller this mapping belongs to (composite id, ADR-69)."
          },
          "shippingRuleId": {
            "description": "Identifier of the mapped channel shipping rule. Null when the shipping method is mapped to the seller's own carrier instead of a real shipping rule.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShippingRuleKey"
          },
          "carrierId": {
            "type": "string",
            "description": "Carrier identifier for the mapping. Resolved from the mapped channel shipping rule when ShippingRuleId is set; echoes the stored custom carrier code for an own-carrier mapping (ShippingRuleId is null). Null when the mapping has no shipping rule and no custom carrier code stored."
          },
          "customCarrierId": {
            "type": "string",
            "description": "Custom carrier code override, used when ShippingRuleId is null (own carrier, no real shipping rule)."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxShippingRuleMappingAssignment": {
        "type": "object",
        "description": "A single desired shipping-rule mapping assignment (which channel shipping rule a JTL-Wawi shipping method is mapped to).",
        "additionalProperties": false,
        "required": [
          "shippingMethodId"
        ],
        "properties": {
          "shippingMethodId": {
            "description": "Identifier of the JTL-Wawi shipping method to map.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shippingRuleId": {
            "description": "Identifier of the channel shipping rule the shipping method is mapped to. Null when the shipping method is mapped to the seller's own carrier instead of a real shipping rule.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShippingRuleKey"
          },
          "customCarrierId": {
            "type": "string",
            "description": "Custom carrier code override, used when ShippingRuleId is null (own carrier, no real shipping rule)."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerCustomerGroupMappingsCommandResponse": {
        "type": "object",
        "description": "Declaratively replaces the complete set of customer-group mappings of a SCX seller/account. The request describes the full desired state - provided mappings are upserted and the customer-group mapping of every channel price type not contained in the request is cleared, not removed (declarative replace, ADR-57). - Response",
        "additionalProperties": false,
        "required": [
          "mappings"
        ],
        "properties": {
          "mappings": {
            "type": "array",
            "description": "The persisted customer-group mappings.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxCustomerGroupMapping"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerEventImportCommandResponse": {
        "type": "object",
        "description": "Declaratively replaces the set of event types whose import is enabled for a SCX seller/account, including their optional CreatedAfter lower bound. The request describes the full desired state - every event type contained in the request is enabled and every event type not contained is disabled (declarative replace, ADR-57). Only the event types of the ScxEventType vocabulary are affected; internal queue entries of other types are never modified or removed by this command and are not part of this collection. - Response",
        "additionalProperties": false,
        "required": [
          "eventImports"
        ],
        "properties": {
          "eventImports": {
            "type": "array",
            "description": "Resulting import state of every event type of the vocabulary.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxEventImport"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerMetaDataImportCommandResponse": {
        "type": "object",
        "description": "Declaratively replaces the set of metadata types whose import is enabled for a SCX seller/account. The request describes the full desired state - every metadata type contained in the request is enabled and every metadata type not contained is disabled (declarative replace, ADR-57). Only the metadata types of the ScxMetaDataType vocabulary are affected; internal pull entries of other types are never modified or removed by this command and are not part of this collection. - Response",
        "additionalProperties": false,
        "required": [
          "metaDataImports"
        ],
        "properties": {
          "metaDataImports": {
            "type": "array",
            "description": "Resulting import state of every metadata type of the vocabulary.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxMetaDataImport"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.SetScxSellerShippingRuleMappingsCommandResponse": {
        "type": "object",
        "description": "Declaratively replaces the complete set of shipping-rule mappings of a SCX seller/account. The request describes the full desired state - provided mappings are upserted and every mapping not contained in the request is removed (declarative replace, ADR-57). - Response",
        "additionalProperties": false,
        "required": [
          "mappings"
        ],
        "properties": {
          "mappings": {
            "type": "array",
            "description": "The persisted shipping-rule mappings including their carrier id (server-resolved for a real shipping rule, or the stored custom carrier code for an own-carrier mapping).",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxShippingRuleMapping"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerAccountSettings": {
        "type": "object",
        "description": "Partial update of account settings for a SCX seller. Only provided fields are changed.",
        "additionalProperties": false,
        "required": [
          "accountName",
          "companyId",
          "returnWarehouseId",
          "isLocked"
        ],
        "properties": {
          "accountName": {
            "type": "string",
            "description": "Display name of the seller account. Omit to leave unchanged."
          },
          "companyId": {
            "description": "Company assigned to this seller account. Must reference an existing company. Omit to leave unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "returnWarehouseId": {
            "description": "Return warehouse assigned to this seller account. Must reference an existing warehouse. Omit to leave unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "isLocked": {
            "type": "boolean",
            "description": "Blocks/unblocks data transmission (sync) to the sales channel for this account. Does not delete or otherwise deactivate the account itself. Omit to leave unchanged."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerDefaultsSettings": {
        "type": "object",
        "description": "Partial update of default settings for a SCX seller. Only provided fields are changed.",
        "additionalProperties": false,
        "required": [
          "shippingMethodId",
          "paymentMethodId",
          "orderConfirmationType"
        ],
        "properties": {
          "shippingMethodId": {
            "description": "Default shipping method for this seller. Must reference an existing shipping method. Omit to leave unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "paymentMethodId": {
            "description": "Default payment method for this seller. Must reference an existing payment method. Omit to leave unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "orderConfirmationType": {
            "type": "integer",
            "description": "Order confirmation strategy. Omit to leave unchanged.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxOrderConfirmType"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerReturnSettings": {
        "type": "object",
        "description": "Partial update of return tracking settings for a SCX seller. Only provided fields are changed.",
        "additionalProperties": false,
        "required": [
          "isReturnTrackingIdEnabled",
          "returnTransmissionType",
          "refundTransmissionType",
          "returnShippingRuleId",
          "returnNumberRangePrefix",
          "returnNumberRangeFrom",
          "returnNumberRangeTo",
          "returnNumberRangeSuffix",
          "returnNumberRangeCurrent",
          "isReturnIdLimitWarningEnabled",
          "returnIdLimitWarningCount",
          "returnIdLimitWarningEmail"
        ],
        "properties": {
          "isReturnTrackingIdEnabled": {
            "type": "boolean",
            "description": "Enable/disable return tracking ID generation. Omit to leave unchanged."
          },
          "returnTransmissionType": {
            "type": "integer",
            "description": "Return transmission strategy. Omit to leave unchanged.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxReturnTransmissionType"
          },
          "refundTransmissionType": {
            "type": "integer",
            "description": "Refund transmission strategy. Omit to leave unchanged.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxRefundTransmissionType"
          },
          "returnShippingRuleId": {
            "description": "ID of the return shipping rule (carrier code). Must reference a shipping rule assigned to this seller's channel. Omit to leave unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShippingRuleKey"
          },
          "returnNumberRangePrefix": {
            "type": "string",
            "description": "Prefix for the return number range. Omit to leave unchanged."
          },
          "returnNumberRangeFrom": {
            "type": "integer",
            "description": "Start of the return number range. Must be less than or equal to ReturnNumberRangeTo. Omit to leave unchanged.",
            "format": "int64"
          },
          "returnNumberRangeTo": {
            "type": "integer",
            "description": "End of the return number range. Must be greater than or equal to ReturnNumberRangeFrom. Omit to leave unchanged.",
            "format": "int64"
          },
          "returnNumberRangeSuffix": {
            "type": "string",
            "description": "Suffix for the return number range. Omit to leave unchanged."
          },
          "returnNumberRangeCurrent": {
            "type": "integer",
            "description": "Current return number. Must lie within the configured range. Omit to leave unchanged.",
            "format": "int64"
          },
          "isReturnIdLimitWarningEnabled": {
            "type": "boolean",
            "description": "Enable/disable the return-ID limit warning. Omit to leave unchanged."
          },
          "returnIdLimitWarningCount": {
            "type": "integer",
            "description": "Threshold for the return-ID limit warning. Must not be negative. Omit to leave unchanged.",
            "format": "int32"
          },
          "returnIdLimitWarningEmail": {
            "type": "string",
            "description": "Email address for the return-ID limit warning. Omit to leave unchanged."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerSyncSettings": {
        "type": "object",
        "description": "Partial update of synchronization settings for a SCX seller. Only provided fields are changed.",
        "additionalProperties": false,
        "required": [
          "isDocumentStorageEnabled",
          "isStockUpdateEnabled",
          "isAttributeImportEnabled",
          "isOfferAutomappingEnabled",
          "offerAutomappingType",
          "pendingOfferDeletionIntervalDays",
          "completedOfferDeletionIntervalDays"
        ],
        "properties": {
          "isDocumentStorageEnabled": {
            "type": "boolean",
            "description": "Enable/disable document storage for this seller. Omit to leave unchanged."
          },
          "isStockUpdateEnabled": {
            "type": "boolean",
            "description": "Enable/disable stock update transmission. Omit to leave unchanged."
          },
          "isAttributeImportEnabled": {
            "type": "boolean",
            "description": "Enable/disable attribute import from the channel. Omit to leave unchanged."
          },
          "isOfferAutomappingEnabled": {
            "type": "boolean",
            "description": "Enable/disable offer automapping. Omit to leave unchanged."
          },
          "offerAutomappingType": {
            "type": "integer",
            "description": "Offer automapping strategy. Omit to leave unchanged.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxOfferAutomappingType"
          },
          "pendingOfferDeletionIntervalDays": {
            "type": "integer",
            "description": "Deletion interval in days for pending offers. Must not be negative. Omit to leave unchanged.",
            "format": "int32"
          },
          "completedOfferDeletionIntervalDays": {
            "type": "integer",
            "description": "Deletion interval in days for completed offers. Must not be negative. Omit to leave unchanged.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ActivatedShopModule": {
        "type": "object",
        "description": "A single module activated for a Wawi-managed webshop, as returned by ActivateShopModule. Unlike ShopModuleListItem, this shape includes ModuleId - the licensing system's own identifier for the module, only known once activation has been performed against the dbeS license server.",
        "additionalProperties": false,
        "required": [
          "licenseKey"
        ],
        "properties": {
          "licenseKey": {
            "type": "string",
            "description": "The module's license key, as licensed for the shop."
          },
          "name": {
            "type": "string",
            "description": "Display name of the module, or null if unset."
          },
          "moduleId": {
            "type": "string",
            "description": "The module's identifier as supplied by the licensing system, or null if unset."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.CustomerGroupAssignment": {
        "type": "object",
        "description": "A single customer group to assign to a shop. Presence in the request list is the assignment - there is no separate IsAssigned flag.",
        "additionalProperties": false,
        "required": [
          "customerGroupId",
          "isDefault"
        ],
        "properties": {
          "customerGroupId": {
            "description": "The customer group's internal key.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "isDefault": {
            "type": "boolean",
            "description": "This customer group is the shop default customer group. Exactly one assignment in the request must set this flag."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.CustomerGroupReplacement": {
        "type": "object",
        "description": "Names the replacement customer group for a customer group that is being removed from the shop and still has assigned customers. Supplied only for removed groups that have assigned customers.",
        "additionalProperties": false,
        "required": [
          "removedCustomerGroupId",
          "replacementCustomerGroupId"
        ],
        "properties": {
          "removedCustomerGroupId": {
            "description": "The customer group being removed from the shop.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "replacementCustomerGroupId": {
            "description": "The customer group that takes over the customers of the removed customer group.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.SaveShopCurrenciesCommandResponse": {
        "type": "object",
        "description": "Declaratively replaces the complete set of currencies assigned to a shop. The request describes the full desired state - every currency contained in it is assigned and every currency not contained in it is unassigned. The call is therefore idempotent: repeating it with the same body leaves the shop in the same state, and because the currency is addressed by its natural code (ADR-85) rather than by a server-generated surrogate, no clientId or request token is needed to make a retry safe. Exactly one assignment must be marked as the default currency, and the list must not be empty - a shop without any currency cannot price anything, so clearing all assignments is not an accepted target state on this route. Note on the response shape: unlike a command that returns only the minimal necessary data, this one echoes the complete resulting assignment list. That is deliberate - it matches the existing sales channel precedent and the declarative-replace example in ADR-57, and it saves the caller a follow-up read to learn the canonical form and resolved display name of the codes it just submitted. Concurrency: this write is last-writer-wins. It takes no If-Match header and no row version, so two concurrent calls for the same shop overwrite each other without a conflict being reported - the second call simply wins. Callers that need to protect a read-modify-write cycle have to coordinate outside this API. This is a deliberate choice for the first release of the endpoint, not an oversight: the underlying column (bRowversion) is not mapped today, and adding a required precondition later would be a breaking change, so it is called out here rather than left implicit. - Response",
        "additionalProperties": false,
        "required": [
          "currencies"
        ],
        "properties": {
          "currencies": {
            "type": "array",
            "description": "The persisted currency assignments, in the order submitted, with each code normalized to its canonical form and its display name resolved from the Wawi currency master data.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencyListItem"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.SaveShopCustomerGroupsCommandResponse": {
        "type": "object",
        "description": "Declaratively replaces the complete set of tenant-wide customer groups assigned to a shop. The request describes the full desired state - every customer group contained in it is assigned and every customer group not contained in it is unassigned. Exactly one assignment must be marked as the default customer group, and the list must not be empty. When an assigned customer group is removed and still has customers assigned to it, the request must name a replacement customer group for it via Replacements - all affected groups are reported together in a single batched error rather than one at a time. Note on the response shape: unlike a command that returns only the minimal necessary data, this one echoes the complete resulting assignment list, matching the existing sales channel precedent (see SaveShopCurrencies) and the declarative-replace example in ADR-57. Concurrency: this write is last-writer-wins, like SaveShopCurrencies - it takes no If-Match header and no row version, so two concurrent calls for the same shop overwrite each other without a conflict being reported. - Response",
        "additionalProperties": false,
        "required": [
          "customerGroups",
          "resyncFailed",
          "resyncError"
        ],
        "properties": {
          "customerGroups": {
            "type": "array",
            "description": "The persisted customer group assignments, in the order submitted.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCustomerGroupListItem"
            }
          },
          "resyncFailed": {
            "type": "boolean",
            "description": "Whether the outbound customer resync push to the shop failed after the customer group assignments were already persisted. The assignments are unaffected either way - this only reports the live push outcome, it is not retried automatically."
          },
          "resyncError": {
            "type": "string",
            "description": "Generic, client-facing description of why ResyncFailed is true. Empty when ResyncFailed is false."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopAccount": {
        "type": "object",
        "description": "A single Wawi-managed webshop, i.e. an online shop whose synchronisation is handled by the Wawi itself. Secrets (API key, password) and the sync user's login name are never exposed - they are already excluded by the underlying read view.",
        "additionalProperties": false,
        "required": [
          "salesChannelId",
          "isActive",
          "isLocked",
          "orderAsOffer",
          "useShopOrderNumber"
        ],
        "properties": {
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel id of this shop. A tenant-local, composite identifier, not a UUID. Use this to address the shop in follow-up calls."
          },
          "name": {
            "type": "string",
            "description": "Name of the shop."
          },
          "url": {
            "type": "string",
            "description": "URL of the shop."
          },
          "isActive": {
            "type": "boolean",
            "description": "Shop is active."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Shop is locked."
          },
          "companyId": {
            "description": "ID of the company the shop belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "rootCategoryId": {
            "description": "ID of the shop's root category.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "orderAsOffer": {
            "type": "boolean",
            "description": "Orders imported from this shop are created as offers rather than as sales orders."
          },
          "useShopOrderNumber": {
            "type": "boolean",
            "description": "The shop's own order number is used instead of a Wawi-generated one."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencyCodeAssignment": {
        "type": "object",
        "description": "A single currency to assign to a shop, identified by its currency code rather than by the internal surrogate key (ADR-85).",
        "additionalProperties": false,
        "required": [
          "currencyCode",
          "isDefault"
        ],
        "properties": {
          "currencyCode": {
            "type": "string",
            "description": "Code of the currency to assign, in ISO 4217 alpha-3 form (EUR) or in the ISO 4217 private-use namespace for tenant-defined currencies that carry no standard code (x-loyalty). This is the identifier of the currency (ADR-85) - the internal surrogate key (kWaehrung) is never accepted here. Matched case-insensitively, so eur and EUR name the same currency; the response always carries the canonical form (uppercase for ISO codes, lowercase x- prefix for tenant-defined ones). Only the FORM of the code is validated - membership in the ISO 4217 register is not verified, because the Wawi ships no register; the code must however resolve to a currency that exists in the Wawi currency master data, otherwise the request is rejected with 400. Retirement of withdrawn codes (aliasing, Deprecation/Sunset headers, 410 Gone) is deliberately out of scope here - it needs the central code registry from the pending ADR-85 implementation tickets."
          },
          "isDefault": {
            "type": "boolean",
            "description": "This currency is the shop default currency. Exactly one assignment in the request must set this flag."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencyCodeSource": {
        "type": "integer",
        "description": "0 = Iso, 1 = UserAssigned",
        "format": "int32",
        "x-enumNames": [
          "Iso",
          "UserAssigned"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencyListItem": {
        "type": "object",
        "description": "A single currency assigned to a shop, as persisted by the save command.",
        "additionalProperties": false,
        "required": [
          "currencyCode",
          "isDefault"
        ],
        "properties": {
          "currencyCode": {
            "type": "string",
            "description": "Code of the assigned currency in its canonical form - uppercase for ISO 4217 alpha-3 codes, lowercase x- prefix for tenant-defined codes. This is the identifier of the currency (ADR-85); the internal surrogate key (kWaehrung) is not exposed."
          },
          "name": {
            "type": "string",
            "description": "Display name of the currency as stored in the Wawi currency master data, or null if unset."
          },
          "isDefault": {
            "type": "boolean",
            "description": "This currency is the shop default currency."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencySelection": {
        "type": "object",
        "description": "A single currency known to the Wawi in the context of one shop, including its assignment and default state. Deliberately named a selection rather than a currency: this model carries the whole currency catalogue annotated with the shop's assignment state, whereas ShopCurrencyListItem on the same route carries only the assigned set as persisted by the save command. Keeping the two names distinct makes the differing collection semantics of GET and PUT self-describing.",
        "additionalProperties": false,
        "required": [
          "currencyCode",
          "codeSource",
          "isAssigned",
          "isDefault"
        ],
        "properties": {
          "currencyCode": {
            "type": "string",
            "description": "Code of the currency in its canonical form - uppercase for ISO 4217 alpha-3 codes, lowercase x- prefix for tenant-defined codes. This is the identifier of the currency (ADR-85); the internal surrogate key (kWaehrung) is not exposed. The accepted forms are identical to those of the save command on this route, so every code that can be assigned is also listed here. Only the FORM of the code is validated - membership in the ISO 4217 register is not verified, because the Wawi ships no register. A currency in the Wawi master data whose code matches neither form has no identifier this contract could expose and is therefore not listed, assigned or not."
          },
          "codeSource": {
            "description": "Source of CurrencyCode - standardized ISO 4217 code or tenant-defined code (ADR-85). Derived from the form of the stored code: a code in ISO 4217 alpha-3 form is reported as Iso, a code in the ISO 4217 private-use namespace (x- prefix) as UserAssigned. A tenant-defined code that happens to have ISO alpha-3 form is therefore reported as Iso - telling those two apart requires the central code registry from the pending ADR-85 implementation tickets. The property exists so consumers do not have to infer the code type by regular expression.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencyCodeSource"
          },
          "name": {
            "type": "string",
            "description": "Display name of the currency as stored in the Wawi currency master data, or null if unset."
          },
          "isAssigned": {
            "type": "boolean",
            "description": "Currency is assigned to the shop. False for every currency that is part of the Wawi currency master data but not of the shop's assignments - the result is the full catalogue, not the assignment set."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Currency is the shop default currency. Only ever true when IsAssigned is also true."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCustomerGroupListItem": {
        "type": "object",
        "description": "A single tenant-wide customer group (dbo.tKundenGruppe), together with its assignment state for a Wawi-managed webshop.",
        "additionalProperties": false,
        "required": [
          "customerGroupId",
          "isAssigned",
          "isDefault"
        ],
        "properties": {
          "customerGroupId": {
            "description": "The customer group's internal key.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "isAssigned": {
            "type": "boolean",
            "description": "This customer group is currently assigned to the shop."
          },
          "isDefault": {
            "type": "boolean",
            "description": "This customer group is the shop default customer group. Only meaningful while IsAssigned is true."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopLanguageListItem": {
        "type": "object",
        "description": "A single language available in the Wawi (dbo.tSpracheUsed), together with its assignment state for a Wawi-managed webshop.",
        "additionalProperties": false,
        "required": [
          "iso",
          "isAssigned",
          "isDefault"
        ],
        "properties": {
          "iso": {
            "type": "string",
            "description": "ISO 639-1 code of the language, in lowercase. This is the identifier of the language (ADR-85) - languages are standardized reference data, so the internal surrogate key (kSprache) is not exposed. The value is the two-letter cISO2 column of the Wawi language master data, not the three-letter cISO column: those are two different standards (ISO 639-1 vs. ISO 639-2), not two formats of the same code. Only the FORM of the code is validated - membership in the ISO 639-1 register is not verified, because the Wawi ships no register. Two deliberate limitations of this first release, both revisable because the endpoint is Experimental: the code is published as a plain String rather than as the LanguageTag GraphQL scalar that ADR-85 foresees, since that scalar depends on a still-open ADR-85 implementation ticket; and languages that carry no ISO code in the master data are not listed at all, so the private-use namespaces of ADR-85 R4 (x-... resp. qaa-qtz) never appear here yet. Closing that second gap would widen the returned set, not the pattern: the published pattern already admits the BCP 47 and private-use forms, so a later widening is a data-only change and cannot break a generated client that validates against it. Every code returned today is the two-letter form."
          },
          "nameGerman": {
            "type": "string",
            "description": "German name of the language as stored in the Wawi language master data, or null if unset."
          },
          "nameEnglish": {
            "type": "string",
            "description": "English name of the language as stored in the Wawi language master data, or null if unset."
          },
          "isAssigned": {
            "type": "boolean",
            "description": "This language is currently assigned to the shop."
          },
          "isDefault": {
            "type": "boolean",
            "description": "This language is the shop default language. Only meaningful while IsAssigned is true."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopModuleListItem": {
        "type": "object",
        "description": "A single module licensed for a shop, as persisted in dbo.tWebshopModule (read via dbo.lvShopModul). Reports the persisted configuration state only - no live license activation check is performed.",
        "additionalProperties": false,
        "required": [
          "licenseKey"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the module, or null if unset."
          },
          "licenseKey": {
            "type": "string",
            "description": "The module's license key, as licensed for the shop."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.CreateConnectorRequest": {
        "type": "object",
        "description": "Request model for CreateConnector command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "url",
          "apiToken",
          "name",
          "companyId"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the connector endpoint. Mandatory."
          },
          "apiToken": {
            "type": "string",
            "description": "API token used to authenticate against the connector endpoint. Mandatory. Write-only - never echoed back in the response."
          },
          "name": {
            "type": "string",
            "description": "Name of the connector account. Mandatory."
          },
          "companyId": {
            "description": "ID of the company the connector account belongs to. Mandatory - also the company whose tSteuersatz the connector-reported taxrates are validated against.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "isActive": {
            "type": "boolean",
            "description": "Connector account is active. Optional - defaults to the WPF editor default when omitted."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Connector account is locked. Optional - defaults to the WPF editor default when omitted."
          },
          "rootCategoryId": {
            "description": "Root category for imported items. Optional - defaults to the WPF editor default when omitted.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "useShopOrderNumber": {
            "type": "boolean",
            "description": "Use the shop-assigned order number instead of the Wawi-generated one. Optional - defaults to the WPF editor default when omitted."
          },
          "canImport": {
            "type": "boolean",
            "description": "The connector account is allowed to import data from the endpoint. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldImportItemsAndCategories": {
            "type": "boolean",
            "description": "Items and categories are imported. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldImportOrdersAndCustomers": {
            "type": "boolean",
            "description": "Orders and customers are imported. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldImportImages": {
            "type": "boolean",
            "description": "Item images are imported. Optional - defaults to the WPF editor default when omitted."
          },
          "canUpload": {
            "type": "boolean",
            "description": "The connector account is allowed to upload data to the endpoint. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldUploadItemComplete": {
            "type": "boolean",
            "description": "Items are uploaded completely, rather than price/stock-restricted. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldUploadItemPriceRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to prices only. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldUploadItemStockRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to stock only. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldUploadCustomers": {
            "type": "boolean",
            "description": "Customer data is uploaded. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldUploadImages": {
            "type": "boolean",
            "description": "Images are uploaded. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldRefreshExistingItems": {
            "type": "boolean",
            "description": "Existing items are merged/refreshed rather than only added. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldRefreshCustomers": {
            "type": "boolean",
            "description": "Existing customer data is refreshed. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldDeleteImagesOnImport": {
            "type": "boolean",
            "description": "Images are deleted on import. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldWawiCalculateTaxRate": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for items, rather than taking the endpoint-reported one. Optional - defaults to the WPF editor default when omitted."
          },
          "shouldWawiCalculateTaxRateForShipping": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for shipping, rather than taking the endpoint-reported one. Optional - defaults to the WPF editor default when omitted."
          },
          "shippingCountryIso": {
            "type": "string",
            "description": "The shipping/departure country as an ISO 3166-1 alpha-2 country code. Optional - defaults to the WPF editor default when omitted. Canonical form is UPPERCASE (ADR-85); matching is case-insensitive."
          },
          "entityCount": {
            "type": "integer",
            "description": "Maximum number of entities transferred per run, or null for unrestricted. Optional - defaults to the WPF editor default when omitted.",
            "format": "int32"
          },
          "pullCount": {
            "type": "integer",
            "description": "Maximum pull count per sync run. Optional - defaults to the WPF editor default when omitted.",
            "format": "int32"
          },
          "imagesCount": {
            "type": "integer",
            "description": "Maximum number of images transferred per run, or null for unrestricted. Optional - defaults to the WPF editor default when omitted.",
            "format": "int32"
          },
          "maximumTransferRate": {
            "type": "number",
            "description": "Maximum transfer rate for uploads, in megabytes, or null for unrestricted. Optional - defaults to the WPF editor default when omitted.",
            "format": "decimal"
          },
          "quickSyncCount": {
            "type": "integer",
            "description": "Maximum quick-sync count per sync run. Optional - defaults to the WPF editor default when omitted.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.DeleteConnectorLinkRequest": {
        "type": "object",
        "description": "Request model for DeleteConnectorLink command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "confirm"
        ],
        "properties": {
          "confirm": {
            "type": "boolean",
            "description": "Must be true to acknowledge that this action is destructive and non-reversible."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.GetConnectorAccountByIdRequest": {
        "type": "object",
        "description": "Request model for GetConnectorAccountById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.QueryConnectorConfigurationRequest": {
        "type": "object",
        "description": "Request model for QueryConnectorConfiguration query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.QueryConnectorCurrenciesRequest": {
        "type": "object",
        "description": "Request model for QueryConnectorCurrencies query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.QueryConnectorCustomerGroupsRequest": {
        "type": "object",
        "description": "Request model for QueryConnectorCustomerGroups query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.QueryConnectorFeaturesRequest": {
        "type": "object",
        "description": "Request model for QueryConnectorFeatures query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.QueryConnectorLanguagesRequest": {
        "type": "object",
        "description": "Request model for QueryConnectorLanguages query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.QueryConnectorSynchronisationSettingsRequest": {
        "type": "object",
        "description": "Request model for QueryConnectorSynchronisationSettings query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.QueryConnectorTaxRatesRequest": {
        "type": "object",
        "description": "Request model for QueryConnectorTaxRates query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.RefreshConnectorRequest": {
        "type": "object",
        "description": "Request model for RefreshConnector command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.ResyncConnectorRequest": {
        "type": "object",
        "description": "Request model for ResyncConnector command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "confirm"
        ],
        "properties": {
          "confirm": {
            "type": "boolean",
            "description": "Must be true to acknowledge that this action is destructive and non-reversible."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.SaveConnectorConfigurationRequest": {
        "type": "object",
        "description": "Request model for SaveConnectorConfiguration command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "canImport",
          "shouldImportItemsAndCategories",
          "shouldImportOrdersAndCustomers",
          "shouldImportImages",
          "canUpload",
          "shouldUploadItemComplete",
          "shouldUploadItemPriceRestricted",
          "shouldUploadItemStockRestricted",
          "shouldUploadCustomers",
          "shouldUploadImages",
          "shouldRefreshExistingItems",
          "shouldRefreshCustomers",
          "shouldDeleteImagesOnImport",
          "shouldWawiCalculateTaxRate",
          "shouldWawiCalculateTaxRateForShipping",
          "pullCount",
          "quickSyncCount",
          "sendOnlyAssignedManufacturers"
        ],
        "properties": {
          "canImport": {
            "type": "boolean",
            "description": "The connector account is allowed to import data from the endpoint."
          },
          "shouldImportItemsAndCategories": {
            "type": "boolean",
            "description": "Items and categories are imported."
          },
          "shouldImportOrdersAndCustomers": {
            "type": "boolean",
            "description": "Orders and customers are imported."
          },
          "shouldImportImages": {
            "type": "boolean",
            "description": "Item images are imported."
          },
          "canUpload": {
            "type": "boolean",
            "description": "The connector account is allowed to upload data to the endpoint."
          },
          "shouldUploadItemComplete": {
            "type": "boolean",
            "description": "Items are uploaded completely, rather than price/stock-restricted."
          },
          "shouldUploadItemPriceRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to prices only."
          },
          "shouldUploadItemStockRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to stock only."
          },
          "shouldUploadCustomers": {
            "type": "boolean",
            "description": "Customer data is uploaded."
          },
          "shouldUploadImages": {
            "type": "boolean",
            "description": "Images are uploaded."
          },
          "shouldRefreshExistingItems": {
            "type": "boolean",
            "description": "Existing items are merged/refreshed rather than only added."
          },
          "shouldRefreshCustomers": {
            "type": "boolean",
            "description": "Existing customer data is refreshed."
          },
          "shouldDeleteImagesOnImport": {
            "type": "boolean",
            "description": "Images are deleted on import."
          },
          "shouldWawiCalculateTaxRate": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for items, rather than taking the endpoint-reported one."
          },
          "shouldWawiCalculateTaxRateForShipping": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for shipping, rather than taking the endpoint-reported one."
          },
          "maximumTransferRate": {
            "type": "number",
            "description": "Maximum transfer rate for uploads, in megabytes. Omit or send null for unrestricted.",
            "format": "decimal"
          },
          "imagesCount": {
            "type": "integer",
            "description": "Maximum number of images transferred per run. Omit or send null for unrestricted.",
            "format": "int32"
          },
          "entityCount": {
            "type": "integer",
            "description": "Maximum number of entities transferred per run. Omit or send null for unrestricted.",
            "format": "int32"
          },
          "pullCount": {
            "type": "integer",
            "description": "Maximum pull count per sync run. The desktop client offers 1-1000 here; the API only requires a non-negative value, so an existing out-of-range row stays round-trippable.",
            "format": "int32"
          },
          "quickSyncCount": {
            "type": "integer",
            "description": "Maximum quick-sync count per sync run. The desktop client offers 1-1000 here; the API only requires a non-negative value, so an existing out-of-range row stays round-trippable.",
            "format": "int32"
          },
          "sendOnlyAssignedManufacturers": {
            "type": "boolean",
            "description": "Manufacturer data sent to the endpoint is filtered to only assigned manufacturers."
          },
          "shippingCountryIso": {
            "type": "string",
            "description": "The shipping/departure country as an ISO 3166-1 alpha-2 country code. Omit or send null to clear it. Matching is case-insensitive; the value is stored and returned in the canonical UPPERCASE form (ADR-85)."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.SaveConnectorCredentialsRequest": {
        "type": "object",
        "description": "Request model for SaveConnectorCredentials command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "apiToken"
        ],
        "properties": {
          "apiToken": {
            "type": "string",
            "description": "The connector account's API token, in plaintext. Write-only: it is never echoed by this endpoint and appears in no response model. At most 111 bytes in UTF-8 - the stored form is larger than the value itself, so the limit is counted in bytes and a multi-byte character consumes more than one of them."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.SaveConnectorCustomerGroupsRequest": {
        "type": "object",
        "description": "Request model for SaveConnectorCustomerGroups command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "customerGroups"
        ],
        "properties": {
          "customerGroups": {
            "type": "array",
            "description": "The complete desired set of customer-group mappings for the connector account. Any existing mapping not contained in this list is cleared.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Connector.ConnectorCustomerGroupMappingAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Connector.UpdateConnectorRequest": {
        "type": "object",
        "description": "Request model for UpdateConnector command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the connector endpoint. Omit to leave unchanged. Connection data - submitting a different value triggers the live handshake, which must succeed before anything is written."
          },
          "apiToken": {
            "type": "string",
            "description": "API token used to authenticate against the connector endpoint. Omit to leave unchanged. Write-only - never echoed back, and no response model of this API exposes it. Connection data - a new token triggers the live handshake, which must succeed before anything is written, and discards any Connector session cached for this account so the next call authenticates with the new token."
          },
          "name": {
            "type": "string",
            "description": "Name of the connector account. Omit to leave unchanged."
          },
          "companyId": {
            "description": "ID of the company the connector account belongs to. Omit to leave unchanged. Cannot be cleared - the company is mandatory at creation and is the company whose tSteuersatz the endpoint-reported taxrates are validated against.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "isActive": {
            "type": "boolean",
            "description": "Connector account is active. Omit to leave unchanged."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Connector account is locked. Omit to leave unchanged."
          },
          "rootCategoryId": {
            "description": "Root category for imported items. Omit to leave unchanged; send null to clear it.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "useShopOrderNumber": {
            "type": "boolean",
            "description": "Use the shop-assigned order number instead of the Wawi-generated one. Omit to leave unchanged."
          },
          "canImport": {
            "type": "boolean",
            "description": "The connector account is allowed to import data from the endpoint. Omit to leave unchanged."
          },
          "shouldImportItemsAndCategories": {
            "type": "boolean",
            "description": "Items and categories are imported. Omit to leave unchanged."
          },
          "shouldImportOrdersAndCustomers": {
            "type": "boolean",
            "description": "Orders and customers are imported. Omit to leave unchanged."
          },
          "shouldImportImages": {
            "type": "boolean",
            "description": "Item images are imported. Omit to leave unchanged."
          },
          "canUpload": {
            "type": "boolean",
            "description": "The connector account is allowed to upload data to the endpoint. Omit to leave unchanged."
          },
          "shouldUploadItemComplete": {
            "type": "boolean",
            "description": "Items are uploaded completely, rather than price/stock-restricted. Omit to leave unchanged."
          },
          "shouldUploadItemPriceRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to prices only. Omit to leave unchanged."
          },
          "shouldUploadItemStockRestricted": {
            "type": "boolean",
            "description": "Item uploads are restricted to stock only. Omit to leave unchanged."
          },
          "shouldUploadCustomers": {
            "type": "boolean",
            "description": "Customer data is uploaded. Omit to leave unchanged."
          },
          "shouldUploadImages": {
            "type": "boolean",
            "description": "Images are uploaded. Omit to leave unchanged."
          },
          "shouldRefreshExistingItems": {
            "type": "boolean",
            "description": "Existing items are merged/refreshed rather than only added. Omit to leave unchanged."
          },
          "shouldRefreshCustomers": {
            "type": "boolean",
            "description": "Existing customer data is refreshed. Omit to leave unchanged."
          },
          "shouldDeleteImagesOnImport": {
            "type": "boolean",
            "description": "Images are deleted on import. Omit to leave unchanged."
          },
          "shouldWawiCalculateTaxRate": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for items, rather than taking the endpoint-reported one. Omit to leave unchanged."
          },
          "shouldWawiCalculateTaxRateForShipping": {
            "type": "boolean",
            "description": "The Wawi calculates the tax rate for shipping, rather than taking the endpoint-reported one. Omit to leave unchanged."
          },
          "shippingCountryIso": {
            "type": "string",
            "description": "The shipping/departure country as an ISO 3166-1 alpha-2 country code. Omit to leave unchanged; send null to clear it. Canonical form is UPPERCASE (ADR-85); matching is case-insensitive."
          },
          "entityCount": {
            "type": "integer",
            "description": "Maximum number of entities transferred per run. Omit to leave unchanged; send null for unrestricted.",
            "format": "int32"
          },
          "pullCount": {
            "type": "integer",
            "description": "Maximum pull count per sync run. Omit to leave unchanged. Not nullable - the column carries a definite value, so there is no unrestricted state to express.",
            "format": "int32"
          },
          "imagesCount": {
            "type": "integer",
            "description": "Maximum number of images transferred per run. Omit to leave unchanged; send null for unrestricted.",
            "format": "int32"
          },
          "maximumTransferRate": {
            "type": "number",
            "description": "Maximum transfer rate for uploads, in megabytes. Omit to leave unchanged; send null for unrestricted.",
            "format": "decimal"
          },
          "quickSyncCount": {
            "type": "integer",
            "description": "Maximum quick-sync count per sync run. Omit to leave unchanged. Not nullable, for the same reason as PullCount.",
            "format": "int32"
          },
          "sendOnlyAssignedManufacturers": {
            "type": "boolean",
            "description": "Manufacturer data sent to the endpoint is filtered to only assigned manufacturers. Omit to leave unchanged."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.AuthorizeScxSellerRequest": {
        "type": "object",
        "description": "Request model for AuthorizeScxSeller command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.CreateScxSignUpRequest": {
        "type": "object",
        "description": "Request model for CreateScxSignUp command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "companyId",
          "channel"
        ],
        "properties": {
          "companyId": {
            "description": "ID of the company the newly connected seller will be created under once the sign-up completes.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "channel": {
            "type": "string",
            "description": "SCX channel identifier (e.g. AMAZON_DE)."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.DeleteScxSellerRequest": {
        "type": "object",
        "description": "Request model for DeleteScxSeller command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.FinalizeScxSignUpRequest": {
        "type": "object",
        "description": "Request model for FinalizeScxSignUp command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.GetScxSellerCustomerGroupMappingsRequest": {
        "type": "object",
        "description": "Request model for GetScxSellerCustomerGroupMappings query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.GetScxSellerDetailsRequest": {
        "type": "object",
        "description": "Request model for GetScxSellerDetails query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.GetScxSellerShippingRuleMappingsRequest": {
        "type": "object",
        "description": "Request model for GetScxSellerShippingRuleMappings query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.ImportScxSellersRequest": {
        "type": "object",
        "description": "Request model for ImportScxSellers command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "properties": {
          "companyId": {
            "description": "ID of the company newly imported sellers are created under. Sellers already connected under a different company are left unchanged.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.RefreshScxSellersRequest": {
        "type": "object",
        "description": "Request model for RefreshScxSellers command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "properties": {
          "companyId": {
            "description": "ID of the company newly imported sellers are created under, and whose current sellers are returned. Sellers already connected under a different company are left unchanged.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.RequestScxSellerInventoryRequest": {
        "type": "object",
        "description": "Request model for RequestScxSellerInventory command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerCustomerGroupMappingsRequest": {
        "type": "object",
        "description": "Request model for SetScxSellerCustomerGroupMappings command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "mappings"
        ],
        "properties": {
          "mappings": {
            "type": "array",
            "description": "The complete desired set of customer-group mappings for the seller.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxCustomerGroupMappingAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerEventImportRequest": {
        "type": "object",
        "description": "Request model for SetScxSellerEventImport command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "eventImports"
        ],
        "properties": {
          "eventImports": {
            "type": "array",
            "description": "The complete desired set of enabled event imports for the seller. Every event type of the vocabulary that is not contained in this list is disabled. An empty list disables all event imports.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxEventImportAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerMetaDataImportRequest": {
        "type": "object",
        "description": "Request model for SetScxSellerMetaDataImport command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "metaDataImports"
        ],
        "properties": {
          "metaDataImports": {
            "type": "array",
            "description": "The complete desired set of enabled metadata imports for the seller. Every metadata type of the vocabulary that is not contained in this list is disabled. An empty list disables all metadata imports.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxMetaDataImportAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.SetScxSellerShippingRuleMappingsRequest": {
        "type": "object",
        "description": "Request model for SetScxSellerShippingRuleMappings command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "mappings"
        ],
        "properties": {
          "mappings": {
            "type": "array",
            "description": "The complete desired set of shipping-rule mappings for the seller. Any existing mapping of the seller's shop that is not contained in this list is removed.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.ScxShippingRuleMappingAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Scx.UpdateScxSellerConfigurationRequest": {
        "type": "object",
        "description": "Request model for UpdateScxSellerConfiguration command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "sync": {
            "description": "Synchronization settings to update. Omit to leave unchanged.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerSyncSettings"
          },
          "defaults": {
            "description": "Default settings to update. Omit to leave unchanged.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerDefaultsSettings"
          },
          "returns": {
            "description": "Return tracking settings to update. Omit to leave unchanged.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerReturnSettings"
          },
          "account": {
            "description": "Account settings to update. Omit to leave unchanged.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Scx.UpdateScxSellerAccountSettings"
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.ActivateShopModuleRequest": {
        "type": "object",
        "description": "Request model for ActivateShopModule command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.DeactivateShopModuleRequest": {
        "type": "object",
        "description": "Request model for DeactivateShopModule command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.GetShopAccountByIdRequest": {
        "type": "object",
        "description": "Request model for GetShopAccountById query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.QueryShopCurrenciesRequest": {
        "type": "object",
        "description": "Request model for QueryShopCurrencies query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.QueryShopCustomerGroupsRequest": {
        "type": "object",
        "description": "Request model for QueryShopCustomerGroups query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.QueryShopLanguagesRequest": {
        "type": "object",
        "description": "Request model for QueryShopLanguages query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.QueryShopModulesRequest": {
        "type": "object",
        "description": "Request model for QueryShopModules query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopBaseDataRequest": {
        "type": "object",
        "description": "Request model for SaveShopBaseData command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the shop. Omit to leave unchanged."
          },
          "url": {
            "type": "string",
            "description": "URL of the shop. Omit to leave unchanged."
          },
          "isActive": {
            "type": "boolean",
            "description": "Shop is active. Omit to leave unchanged."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Shop is locked. Omit to leave unchanged."
          },
          "companyId": {
            "description": "ID of the company the shop belongs to. Must reference an existing company. Omit to leave unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "rootCategoryId": {
            "description": "ID of the shop's root category. Must reference an existing category. Omit to leave unchanged.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KategorieKey"
          },
          "orderAsOffer": {
            "type": "boolean",
            "description": "Orders imported from this shop are created as offers rather than as sales orders. Omit to leave unchanged."
          },
          "useShopOrderNumber": {
            "type": "boolean",
            "description": "The shop's own order number is used instead of a Wawi-generated one. Omit to leave unchanged."
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopCurrenciesRequest": {
        "type": "object",
        "description": "Request model for SaveShopCurrencies command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "currencies"
        ],
        "properties": {
          "currencies": {
            "type": "array",
            "description": "The complete desired set of currencies for the shop. Any currency currently assigned but not contained in this list is unassigned. Must contain at least one entry, exactly one of which is marked as the default.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.ShopCurrencyCodeAssignment"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopCustomerGroupsRequest": {
        "type": "object",
        "description": "Request model for SaveShopCustomerGroups command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "customerGroups"
        ],
        "properties": {
          "customerGroups": {
            "type": "array",
            "description": "The complete desired set of customer groups for the shop. Any customer group currently assigned but not contained in this list is unassigned. Must contain at least one entry, exactly one of which is marked as the default.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.CustomerGroupAssignment"
            }
          },
          "replacements": {
            "type": "array",
            "description": "For every removed customer group that still has assigned customers, names the customer group taking over those customers. Optional and empty by default - only required when a removal actually needs one.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufskanaele.PublicApi.DataTransferObjects.V2.Shop.CustomerGroupReplacement"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufskanaele.PublicApi.Endpoints.V2.Shop.SaveShopTransferParametersRequest": {
        "type": "object",
        "description": "Request model for SaveShopTransferParameters command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "maxFilesPerArchive",
          "quickSyncArticleCount",
          "maxImagesPerArchive",
          "orderTransferCount",
          "maxArchiveSizeInKilobytes",
          "maxImageArchiveSizeInKilobytes"
        ],
        "properties": {
          "maxFilesPerArchive": {
            "type": "integer",
            "description": "Threshold for the number of files in an article export archive that triggers sending it to the JTL-Shop, before its target size (MaxArchiveSizeInKilobytes) is reached. Must be at least 1; the legacy ParameterDefaults defines no upper bound.",
            "format": "int32"
          },
          "quickSyncArticleCount": {
            "type": "integer",
            "description": "Number of articles transferred per quick-sync run. Must be at least 1; the legacy ParameterDefaults defines no upper bound.",
            "format": "int32"
          },
          "maxImagesPerArchive": {
            "type": "integer",
            "description": "Threshold for the number of images in an image export archive that triggers sending it to the JTL-Shop, before its target size (MaxImageArchiveSizeInKilobytes) is reached. Must be at least 1; the legacy ParameterDefaults defines no upper bound.",
            "format": "int32"
          },
          "orderTransferCount": {
            "type": "integer",
            "description": "Number of orders transferred per order transfer run. Must be between 1 and 50 inclusive - the only one of the six parameters the legacy ParameterDefaults caps with an upper bound.",
            "format": "int32"
          },
          "maxArchiveSizeInKilobytes": {
            "type": "integer",
            "description": "Target size, in kilobytes, of an article export archive that triggers sending it to the JTL-Shop, before its file-count threshold (MaxFilesPerArchive) is reached. Must be at least 1; the legacy ParameterDefaults defines no upper bound.",
            "format": "int32"
          },
          "maxImageArchiveSizeInKilobytes": {
            "type": "integer",
            "description": "Target size, in kilobytes, of an image export archive that triggers sending it to the JTL-Shop, before its file-count threshold (MaxImagesPerArchive) is reached. Must be at least 1; the legacy ParameterDefaults defines no upper bound.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.CurrencyDomain.Currency": {
        "type": "object",
        "description": "A single row of the currencies overview table.",
        "additionalProperties": false,
        "required": [
          "id",
          "factor",
          "isDefault",
          "iso"
        ],
        "properties": {
          "id": {
            "description": "Currency ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WaehrungKey"
          },
          "factor": {
            "type": "number",
            "description": "Currency factor",
            "format": "decimal"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Is default currency"
          },
          "iso": {
            "type": "string",
            "description": "ISO code of the currency"
          },
          "name": {
            "type": "string",
            "description": "Name of the currency"
          },
          "updated": {
            "type": "string",
            "description": "Date and time of the last update",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "externalDocumentTransactionId",
          "externalDocumentDate",
          "currencyFactor",
          "serviceDate",
          "payDate",
          "taxSetting",
          "externalDocumentType",
          "orderDate",
          "paymentDueDateInDays",
          "externalDocumentTotalGrossValue",
          "externalDocumentTotalNetValue",
          "shipmentCountryCount"
        ],
        "properties": {
          "externalDocumentTransactionId": {
            "description": "Primary key of document",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ExternerBelegTransaktionKey"
          },
          "companyId": {
            "description": "Primary key of company",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "Primary key of customer",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "platformId": {
            "description": "Primary key of platform",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "paymentMethodId": {
            "description": "Primary key of payment type document",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "externalInvoiceDocumentId": {
            "description": "Primary key of invoice",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ExternerBelegKey"
          },
          "salesInvoiceNumber": {
            "type": "string",
            "description": "Invoice number"
          },
          "externalDocumentNumber": {
            "type": "string",
            "description": "Credit note number"
          },
          "externalDocumentDate": {
            "type": "string",
            "description": "Document date",
            "format": "date-time"
          },
          "externalDocumentOrderNumber": {
            "type": "string",
            "description": "External order number"
          },
          "currencyFactor": {
            "type": "number",
            "description": "Currency factor",
            "format": "decimal"
          },
          "currency": {
            "type": "string",
            "description": "Currency code"
          },
          "departureCountryCurrencyIso": {
            "type": "string",
            "description": "Shipping currency code"
          },
          "departureCountryCurrenyFactor": {
            "type": "number",
            "description": "Shipping currency factor",
            "format": "decimal"
          },
          "serviceDate": {
            "type": "string",
            "description": "Service date",
            "format": "date-time"
          },
          "payDate": {
            "type": "string",
            "description": "Payment date",
            "format": "date-time"
          },
          "platformIdentifier": {
            "type": "string",
            "description": "Platform ID"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "Debtor number",
            "format": "int32"
          },
          "taxSetting": {
            "type": "integer",
            "description": "Tax setting",
            "format": "int32"
          },
          "externalDocumentType": {
            "type": "integer",
            "description": "Document type",
            "format": "int32"
          },
          "companyVatIdNumber": {
            "type": "string",
            "description": "Country VAT ID"
          },
          "customerVatIdNumber": {
            "type": "string",
            "description": "Seller VAT ID"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "Shipping country ISO code"
          },
          "paymentMethodName": {
            "type": "string",
            "description": "Payment information"
          },
          "orderDate": {
            "type": "string",
            "description": "Order date",
            "format": "date-time"
          },
          "shipmentAddressCompany": {
            "type": "string",
            "description": "Shipping company name"
          },
          "shipmentAddressLastName": {
            "type": "string",
            "description": "Shipping last name"
          },
          "shipmentAddressStreet": {
            "type": "string",
            "description": "Shipping street address"
          },
          "shipmentAddressPostalCode": {
            "type": "string",
            "description": "Shipping ZIP code"
          },
          "shipmentAddressCity": {
            "type": "string",
            "description": "Shipping city"
          },
          "shipmentAddressPhoneNumber": {
            "type": "string",
            "description": "Shipping phone number"
          },
          "shipmentAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Shipping additional address information"
          },
          "shipmentAddressCountryIso": {
            "type": "string",
            "description": "Shipping country ISO code"
          },
          "shipmentAddressVatIdNumber": {
            "type": "string",
            "description": "Shipping VAT ID"
          },
          "customerDefaultBillingAddressCompany": {
            "type": "string",
            "description": "Customer company name"
          },
          "customerDefaultBillingAddressSalutation": {
            "type": "string",
            "description": "Customer salutation"
          },
          "customerDefaultBillingAddressTitle": {
            "type": "string",
            "description": "Customer title"
          },
          "customerDefaultBillingAddressFirstName": {
            "type": "string",
            "description": "Customer first name"
          },
          "customerDefaultBillingAddressLastName": {
            "type": "string",
            "description": "Customer last name"
          },
          "customerDefaultBillingAddressStreet": {
            "type": "string",
            "description": "Customer street address"
          },
          "customerDefaultBillingAddressPostalCode": {
            "type": "string",
            "description": "Customer ZIP code"
          },
          "customerDefaultBillingAddressCity": {
            "type": "string",
            "description": "Customer city"
          },
          "customerDefaultBillingAddressCountry": {
            "type": "string",
            "description": "Customer country"
          },
          "customerDefaultBillingAddressPhoneNumber": {
            "type": "string",
            "description": "Customer phone number"
          },
          "customerDefaultBillingAddressFaxNumber": {
            "type": "string",
            "description": "Customer fax number"
          },
          "customerDefaultBillingAddressForTheAttentionOf": {
            "type": "string",
            "description": "Customer additional information"
          },
          "customerDefaultBillingAddressCountryIso": {
            "type": "string",
            "description": "Customer country ISO code"
          },
          "customerDefaultBillingAddressEmailAddress": {
            "type": "string",
            "description": "Customer email address"
          },
          "customerDefaultBillingAddressVatIdNumber": {
            "type": "string",
            "description": "Customer VAT ID"
          },
          "salesOrderCustomerNumber": {
            "type": "string",
            "description": "Customer number from sales order"
          },
          "customerGroupName": {
            "type": "string",
            "description": "Customer group"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "Payment due date in days",
            "format": "int32"
          },
          "customerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "billingAddressCompany": {
            "type": "string",
            "description": "Invoice company name"
          },
          "billingAddressLastName": {
            "type": "string",
            "description": "Invoice last name"
          },
          "billingAddressStreet": {
            "type": "string",
            "description": "Invoice street address"
          },
          "billingAddressPostalCode": {
            "type": "string",
            "description": "Invoice ZIP code"
          },
          "billingAddressCity": {
            "type": "string",
            "description": "Invoice city"
          },
          "billingAddressPhoneNumber": {
            "type": "string",
            "description": "Invoice phone number"
          },
          "billingAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Invoice additional address information"
          },
          "billingAddressCountryIso": {
            "type": "string",
            "description": "Invoice country ISO code"
          },
          "billingAddressVatIdNumber": {
            "type": "string",
            "description": "Invoice VAT ID"
          },
          "externalDocumentTotalGrossValue": {
            "type": "number",
            "description": "Document total gross value",
            "format": "decimal"
          },
          "externalDocumentTotalNetValue": {
            "type": "number",
            "description": "Document total net value",
            "format": "decimal"
          },
          "shipmentDate": {
            "type": "string",
            "description": "Shipping date",
            "format": "date-time"
          },
          "orderPaymentMethodName": {
            "type": "string",
            "description": "Order payment type"
          },
          "shipmentCountryCount": {
            "type": "integer",
            "description": "Shipping country count",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.ExternalDocumentLineItemInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "externalDocumentLineItemId",
          "externalDocumentId",
          "externalDocumentSalesPriceGross",
          "externalDocumentSalesPriceNet",
          "quantity",
          "taxRate",
          "externalDocumentInvoiceLineItemId"
        ],
        "properties": {
          "externalDocumentLineItemId": {
            "description": "External document line item ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ExternerBelegPositionKey"
          },
          "externalDocumentId": {
            "description": "External document ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ExternerBelegKey"
          },
          "externalDocumentSalesPriceGross": {
            "type": "number",
            "description": "Sales price gross",
            "format": "decimal"
          },
          "externalDocumentSalesPriceNet": {
            "type": "number",
            "description": "External document sales price net",
            "format": "decimal"
          },
          "externalDocumentPurchasePriceNet": {
            "type": "number",
            "description": "External document purchase price net",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "decimal"
          },
          "itemName": {
            "type": "string",
            "description": "Item name"
          },
          "sKU": {
            "type": "string",
            "description": "SKU"
          },
          "taxRate": {
            "type": "number",
            "description": "Tax rate",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "Tax class ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taric": {
            "type": "string",
            "description": "Taric code"
          },
          "itemWeight": {
            "type": "number",
            "description": "Item weight",
            "format": "decimal"
          },
          "itemVolume": {
            "type": "number",
            "description": "Item volume",
            "format": "decimal"
          },
          "productGroupId": {
            "description": "Product group ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "Purchase price net",
            "format": "decimal"
          },
          "productGroup": {
            "type": "string",
            "description": "Product group"
          },
          "warehouseId": {
            "description": "Warehouse ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "externalDocumentInvoiceLineItemId": {
            "description": "External document invoice line item ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ExternerBelegPositionKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCancellationInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "salesInvoiceId",
          "customerId",
          "taxSetting",
          "currencyFactor",
          "departureCountryCurrencyFactor",
          "paymentDueDateInDays",
          "dropShippingDeliveryNoteCount"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Sales order identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "salesInvoiceId": {
            "description": "Sales invoice identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "companyId": {
            "description": "Company identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "Customer identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "platformId": {
            "description": "Platform identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "salesInvoiceNumber": {
            "type": "string",
            "description": "Sales invoice number"
          },
          "salesInvoiceCancellationDate": {
            "type": "string",
            "description": "Sales invoice cancellation date",
            "format": "date-time"
          },
          "externalOrderNumber": {
            "type": "string",
            "description": "External order number"
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number"
          },
          "createdInErpDate": {
            "type": "string",
            "description": "Date when the order was created in the ERP system",
            "format": "date-time"
          },
          "taxSetting": {
            "type": "integer",
            "description": "Tax setting",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "Currency ISO code"
          },
          "currencyFactor": {
            "type": "number",
            "description": "Currency conversion factor",
            "format": "decimal"
          },
          "departureCountryCurrencyIso": {
            "type": "string",
            "description": "Departure country currency ISO code"
          },
          "departureCountryCurrencyFactor": {
            "type": "number",
            "description": "Departure country currency conversion factor",
            "format": "decimal"
          },
          "serviceDate": {
            "type": "string",
            "description": "Service date",
            "format": "date-time"
          },
          "lastShippingDate": {
            "type": "string",
            "description": "Last shipping date",
            "format": "date-time"
          },
          "platformName": {
            "type": "string",
            "description": "Platform identifier"
          },
          "shippingMethodId": {
            "description": "Shipment method identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "valueDate": {
            "type": "string",
            "description": "Value date",
            "format": "date-time"
          },
          "customerVatIdNumber": {
            "type": "string",
            "description": "Customer VAT identifier"
          },
          "salesInvoiceVatIdNumber": {
            "type": "string",
            "description": "Sales invoice VAT identifier"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "Departure country ISO code"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "Total gross amount",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Total net amount",
            "format": "decimal"
          },
          "salesInvoiceCustomerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "Accounts receivable number",
            "format": "int32"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "Payment due date in days",
            "format": "int32"
          },
          "paymentStatus": {
            "type": "integer",
            "description": "Payment status",
            "format": "int32"
          },
          "invoicePaymentMethodId": {
            "description": "Invoice payment method identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "paymentMethodId": {
            "description": "Payment method identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "paymentMethodName": {
            "type": "string",
            "description": "Payment method"
          },
          "salesOrderDepartureCountryCurrencyIso": {
            "type": "string",
            "description": "Sales order departure country currency ISO code"
          },
          "salesOrderDepartureCountryCurrencyFactor": {
            "type": "number",
            "description": "Sales order departure country currency conversion factor",
            "format": "decimal"
          },
          "shipmentAddressCompany": {
            "type": "string",
            "description": "Shipment company name"
          },
          "shipmentAddressSalutation": {
            "type": "string",
            "description": "Shipment salutation"
          },
          "shipmentAddressTitle": {
            "type": "string",
            "description": "Shipment title"
          },
          "shipmentAddressFirstName": {
            "type": "string",
            "description": "Shipment first name"
          },
          "shipmentAddressLastName": {
            "type": "string",
            "description": "Shipment last name"
          },
          "shipmentAddressStreet": {
            "type": "string",
            "description": "Shipment street address"
          },
          "shipmentAddressPostalCode": {
            "type": "string",
            "description": "Shipment postal code"
          },
          "shipmentAddressCity": {
            "type": "string",
            "description": "Shipment city"
          },
          "shipmentAddressCountry": {
            "type": "string",
            "description": "Shipment country"
          },
          "shipmentAddressPhoneNumber": {
            "type": "string",
            "description": "Shipment phone number"
          },
          "shipmentAddressFaxNumber": {
            "type": "string",
            "description": "Shipment fax number"
          },
          "shipmentAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Shipment additional address line"
          },
          "shipmentAddressCountryIso": {
            "type": "string",
            "description": "Shipment country ISO code"
          },
          "shipmentAddressVatIdNumber": {
            "type": "string",
            "description": "Shipment VAT identifier"
          },
          "billingAddressCompany": {
            "type": "string",
            "description": "Sales invoice company name"
          },
          "billingAddressSalutation": {
            "type": "string",
            "description": "Sales invoice salutation"
          },
          "billingAddressTitle": {
            "type": "string",
            "description": "Sales invoice title"
          },
          "billingAddressFirstName": {
            "type": "string",
            "description": "Sales invoice first name"
          },
          "billingAddressLastName": {
            "type": "string",
            "description": "Sales invoice last name"
          },
          "billingAddressStreet": {
            "type": "string",
            "description": "Sales invoice street address"
          },
          "billingAddressPostalCode": {
            "type": "string",
            "description": "Sales invoice postal code"
          },
          "billingAddressCity": {
            "type": "string",
            "description": "Sales invoice city"
          },
          "billingAddressCountry": {
            "type": "string",
            "description": "Sales invoice country"
          },
          "billingAddressPhoneNumber": {
            "type": "string",
            "description": "Sales invoice phone number"
          },
          "billingAddressFaxNumber": {
            "type": "string",
            "description": "Sales invoice fax number"
          },
          "billingAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Sales invoice additional address line"
          },
          "billingAddressCountryIso": {
            "type": "string",
            "description": "Sales invoice country ISO code"
          },
          "customerDefaultBillingAddressCompany": {
            "type": "string",
            "description": "Customer company name"
          },
          "customerDefaultBillingAddressSalutation": {
            "type": "string",
            "description": "Customer salutation"
          },
          "customerDefaultBillingAddressTitle": {
            "type": "string",
            "description": "Customer title"
          },
          "customerDefaultBillingAddressFirstName": {
            "type": "string",
            "description": "Customer first name"
          },
          "customerDefaultBillingAddressLastName": {
            "type": "string",
            "description": "Customer last name"
          },
          "customerDefaultBillingAddressStreet": {
            "type": "string",
            "description": "Customer street address"
          },
          "customerDefaultBillingAddressPostalCode": {
            "type": "string",
            "description": "Customer postal code"
          },
          "customerDefaultBillingAddressCity": {
            "type": "string",
            "description": "Customer city"
          },
          "customerDefaultBillingAddressCountry": {
            "type": "string",
            "description": "Customer country"
          },
          "customerDefaultBillingAddressPhoneNumber": {
            "type": "string",
            "description": "Customer phone number"
          },
          "customerDefaultBillingAddressFaxNumber": {
            "type": "string",
            "description": "Customer fax number"
          },
          "customerDefaultBillingAddressCountryIso": {
            "type": "string",
            "description": "Customer address country ISO code"
          },
          "customerDefaultBillingAddressEmailAddress": {
            "type": "string",
            "description": "Customer email address"
          },
          "customerDefaultBillingAddressVatIdNumber": {
            "type": "string",
            "description": "Customer address VAT identifier"
          },
          "customerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "customerGroupId": {
            "description": "Customer group identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "customerPaymentDueDateInDays": {
            "type": "integer",
            "description": "Customer payment due date in days",
            "format": "int32"
          },
          "deposit": {
            "type": "string",
            "description": "Deposit information"
          },
          "dropShippingDeliveryNoteCount": {
            "type": "integer",
            "description": "Delivery note count for drop shipping",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "salesInvoiceCorrectionId",
          "customerId",
          "companyId",
          "salesInvoiceCorrectionDate",
          "currencyFactor",
          "totalGrossAmount",
          "dropShippingDeliveryNoteCount"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Sales order identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "salesInvoiceCorrectionId": {
            "description": "Sales invoice correction identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
          },
          "customerId": {
            "description": "Customer identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "companyId": {
            "description": "Company identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "salesInvoiceId": {
            "description": "Sales invoice identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "platformId": {
            "description": "Platform identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "cancelledSalesInvoiceId": {
            "description": "Cancelled sales invoice identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "salesInvoicePaymentMethodId": {
            "description": "Sales invoice payment method identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "salesInvoiceCorrectionPaymentMethodId": {
            "description": "Sales invoice correction payment method identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "salesInvoiceCorrectionNumber": {
            "type": "string",
            "description": "Sales invoice correction number"
          },
          "salesInvoiceCorrectionDate": {
            "type": "string",
            "description": "Sales invoice correction date",
            "format": "date-time"
          },
          "salesInvoiceNumber": {
            "type": "string",
            "description": "Sales invoice number"
          },
          "salesInvoiceDate": {
            "type": "string",
            "description": "Sales invoice date",
            "format": "date-time"
          },
          "externalOrderNumber": {
            "type": "string",
            "description": "External order number"
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number"
          },
          "createdInErpDate": {
            "type": "string",
            "description": "Date when the order was created in the ERP system",
            "format": "date-time"
          },
          "currencyIso": {
            "type": "string",
            "description": "Currency ISO code"
          },
          "currencyFactor": {
            "type": "number",
            "description": "Currency conversion factor",
            "format": "decimal"
          },
          "departureCountryCurrencyIso": {
            "type": "string",
            "description": "Departure country currency ISO code"
          },
          "departureCountryCurrencyFactor": {
            "type": "number",
            "description": "Departure country currency conversion factor",
            "format": "decimal"
          },
          "salesOrderDepartureCountryCurrencyIso": {
            "type": "string",
            "description": "Sales order departure country currency ISO code"
          },
          "salesOrderDepartureCountryCurrencyFactor": {
            "type": "number",
            "description": "Sales order departure country currency conversion factor",
            "format": "decimal"
          },
          "salesOrderShippingMethodId": {
            "description": "Shipment type",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "salesInvoiceShippingMethodId": {
            "description": "Shipment type",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "serviceDate": {
            "type": "string",
            "description": "Service date",
            "format": "date-time"
          },
          "deliveryDate": {
            "type": "string",
            "description": "Delivery date",
            "format": "date-time"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "Total gross amount",
            "format": "decimal"
          },
          "salesOrderTotalGrossAmount": {
            "type": "number",
            "description": "Sales order total gross amount",
            "format": "decimal"
          },
          "salesOrderTotalNetAmount": {
            "type": "number",
            "description": "Sales order total net amount",
            "format": "decimal"
          },
          "platformIdentifier": {
            "type": "string",
            "description": "Platform identifier"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "Accounts receivable number",
            "format": "int32"
          },
          "shipmentCompany": {
            "type": "string",
            "description": "Shipment company name"
          },
          "shipmentSalutation": {
            "type": "string",
            "description": "Shipment salutation"
          },
          "shipmentTitle": {
            "type": "string",
            "description": "Shipment title"
          },
          "shipmentFirstName": {
            "type": "string",
            "description": "Shipment first name"
          },
          "shipmentLastName": {
            "type": "string",
            "description": "Shipment last name"
          },
          "shipmentStreet": {
            "type": "string",
            "description": "Shipment street address"
          },
          "shipmentPostalCode": {
            "type": "string",
            "description": "Shipment postal code"
          },
          "shipmentCity": {
            "type": "string",
            "description": "Shipment city"
          },
          "shipmentCountry": {
            "type": "string",
            "description": "Shipment country"
          },
          "shipmentPhoneNumber": {
            "type": "string",
            "description": "Shipment phone number"
          },
          "shipmentFaxNumber": {
            "type": "string",
            "description": "Shipment fax number"
          },
          "shipmentAdditionalAddressLine": {
            "type": "string",
            "description": "Shipment additional address line"
          },
          "shipmentCountryIso": {
            "type": "string",
            "description": "Shipment country ISO code"
          },
          "shipmentVatIdNumber": {
            "type": "string",
            "description": "Shipment VAT identifier"
          },
          "salesOrderCustomerVatIdNumber": {
            "type": "string",
            "description": "Sales order customer VAT identifier"
          },
          "salesInvoiceCompany": {
            "type": "string",
            "description": "Sales invoice company name"
          },
          "salesInvoiceSalutation": {
            "type": "string",
            "description": "Sales invoice salutation"
          },
          "salesInvoiceTitle": {
            "type": "string",
            "description": "Sales invoice title"
          },
          "salesInvoiceFirstName": {
            "type": "string",
            "description": "Sales invoice first name"
          },
          "salesInvoiceLastName": {
            "type": "string",
            "description": "Sales invoice last name"
          },
          "salesInvoiceStreet": {
            "type": "string",
            "description": "Sales invoice street address"
          },
          "salesInvoicePostalCode": {
            "type": "string",
            "description": "Sales invoice postal code"
          },
          "salesInvoiceCity": {
            "type": "string",
            "description": "Sales invoice city"
          },
          "salesInvoiceCountry": {
            "type": "string",
            "description": "Sales invoice country"
          },
          "salesInvoicePhoneNumber": {
            "type": "string",
            "description": "Sales invoice phone number"
          },
          "salesInvoiceFaxNumber": {
            "type": "string",
            "description": "Sales invoice fax number"
          },
          "salesInvoiceAdditionalAddressLine": {
            "type": "string",
            "description": "Sales invoice additional address line"
          },
          "salesInvoiceIso": {
            "type": "string",
            "description": "Sales invoice country ISO code"
          },
          "customerCompany": {
            "type": "string",
            "description": "Customer company name"
          },
          "customerSalutation": {
            "type": "string",
            "description": "Customer salutation"
          },
          "customerTitle": {
            "type": "string",
            "description": "Customer title"
          },
          "customerFirstName": {
            "type": "string",
            "description": "Customer first name"
          },
          "customerLastName": {
            "type": "string",
            "description": "Customer last name"
          },
          "customerStreet": {
            "type": "string",
            "description": "Customer street address"
          },
          "customerPostalCode": {
            "type": "string",
            "description": "Customer postal code"
          },
          "customerCity": {
            "type": "string",
            "description": "Customer city"
          },
          "customerCountry": {
            "type": "string",
            "description": "Customer country"
          },
          "customerPhoneNumber": {
            "type": "string",
            "description": "Customer phone number"
          },
          "customerFaxNumber": {
            "type": "string",
            "description": "Customer fax number"
          },
          "customerAddressIso": {
            "type": "string",
            "description": "Customer address country ISO code"
          },
          "customerAddressEmailAddress": {
            "type": "string",
            "description": "Customer email address"
          },
          "customerAddressVatIdNumber": {
            "type": "string",
            "description": "Customer address VAT identifier"
          },
          "customerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "customerGroupId": {
            "description": "Customer group identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "customerPaymentDueDateInDays": {
            "type": "integer",
            "description": "Customer payment due date in days",
            "format": "int32"
          },
          "lastShippingDate": {
            "type": "string",
            "description": "Last shipping date",
            "format": "date-time"
          },
          "taxSetting": {
            "type": "integer",
            "description": "Tax setting",
            "format": "int32"
          },
          "salesOrderVatIdNumber": {
            "type": "string",
            "description": "VAT identifier"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "Departure country ISO code"
          },
          "paymentMethod": {
            "type": "string",
            "description": "Payment method"
          },
          "customerVatIdNumber": {
            "type": "string",
            "description": "Customer VAT identifier"
          },
          "salesInvoiceVatIdNumber": {
            "type": "string",
            "description": "VAT identifier"
          },
          "salesInvoiceCustomerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "paymentMethodName": {
            "type": "string",
            "description": "Payment method name"
          },
          "paymentMethodId": {
            "description": "Payment method",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "isCancelled": {
            "type": "string",
            "description": "Indicates if this is a storno (cancellation)"
          },
          "deposit": {
            "type": "string",
            "description": "Deposit information"
          },
          "salesInvoiceId2": {
            "description": "Sales invoice identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "dropShippingDeliveryNoteCount": {
            "type": "integer",
            "description": "Delivery note count",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceCorrectionLineItemInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "salesInvoiceCorrectionLineItemId",
          "salesPriceGross",
          "discount",
          "salesPriceNet",
          "quantity",
          "taxRate"
        ],
        "properties": {
          "salesInvoiceCorrectionLineItemId": {
            "description": "Sales invoice correction line item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftPosKey"
          },
          "salesOrderLineItemId": {
            "description": "Sales order line item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "Sales price gross",
            "format": "decimal"
          },
          "discount": {
            "type": "number",
            "description": "Discount amount",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Sales price net",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "decimal"
          },
          "lineItemName": {
            "type": "string",
            "description": "Sales invoice correction line item name"
          },
          "sKU": {
            "type": "string",
            "description": "Stock keeping unit"
          },
          "taxRate": {
            "type": "number",
            "description": "Value added tax rate",
            "format": "decimal"
          },
          "salesOrderLineItemPurchasePriceNet": {
            "type": "number",
            "description": "Sales order item purchase price net",
            "format": "decimal"
          },
          "itemPurchasePriceNet": {
            "type": "number",
            "description": "Item purchase price net",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "Tax class identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "lineItemType": {
            "type": "integer",
            "description": "Line item type",
            "format": "int32"
          },
          "itemId": {
            "description": "Item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "billOfMaterialsSalesOrderLineItemId": {
            "description": "Sales order parts list identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "parentItemId": {
            "description": "Parent item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "taric": {
            "type": "string",
            "description": "Taric code"
          },
          "itemWeight": {
            "type": "number",
            "description": "Item weight",
            "format": "decimal"
          },
          "itemVolume": {
            "type": "number",
            "description": "Item volume",
            "format": "decimal"
          },
          "productGroupId": {
            "description": "Product group identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "productGroupName": {
            "type": "string",
            "description": "Product group name"
          },
          "warehouseId": {
            "description": "Warehouse identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "salesInvoiceLineItemId": {
            "description": "Sales invoice line item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungPositionKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "salesInvoiceId",
          "customerId",
          "paymentDueDateInDays",
          "taxSetting",
          "currencyFactor",
          "departureCountryCurrencyFactor",
          "dropShippingDeliveryNoteCount"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Sales order ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "salesInvoiceId": {
            "description": "Sales invoice ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "customerId": {
            "description": "Customer ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "platformId": {
            "description": "Platform ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "salesInvoicePaymentMethodId": {
            "description": "Payment method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "companyId": {
            "description": "Company ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "Payment due date in days",
            "format": "int32"
          },
          "paymentStatus": {
            "type": "integer",
            "description": "Payment status",
            "format": "int32"
          },
          "salesInvoiceNumber": {
            "type": "string",
            "description": "Sales invoice number"
          },
          "salesInvoiceDate": {
            "type": "string",
            "description": "Sales invoice date",
            "format": "date-time"
          },
          "externalOrderNumber": {
            "type": "string",
            "description": "External order number"
          },
          "shipmentType": {
            "type": "integer",
            "description": "Shipment type",
            "format": "int32"
          },
          "valueDate": {
            "type": "string",
            "description": "Value date",
            "format": "date-time"
          },
          "taxSetting": {
            "type": "integer",
            "description": "Tax setting",
            "format": "int32"
          },
          "customerVatIdNumber": {
            "type": "string",
            "description": "Customer VAT ID"
          },
          "salesInvoiceVatIdNumber": {
            "type": "string",
            "description": "Sales invoice VAT ID"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "Departure country ISO"
          },
          "paymentMethodId": {
            "description": "Payment method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "serviceDate": {
            "type": "string",
            "description": "Service date",
            "format": "date-time"
          },
          "salesInvoiceCustomerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "Accounts receivable number",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "Currency ISO"
          },
          "currencyFactor": {
            "type": "number",
            "description": "Currency factor",
            "format": "decimal"
          },
          "departureCountryCurrencyIso": {
            "type": "string",
            "description": "Departure country currency ISO"
          },
          "departureCountryCurrencyFactor": {
            "type": "number",
            "description": "Departure country currency factor",
            "format": "decimal"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "Total gross amount",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Total net amount",
            "format": "decimal"
          },
          "lastShippingDate": {
            "type": "string",
            "description": "Last shipping",
            "format": "date-time"
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number"
          },
          "createdInErpDate": {
            "type": "string",
            "description": "Created in ERP date",
            "format": "date-time"
          },
          "platformIdentifier": {
            "type": "string",
            "description": "Platform identifier"
          },
          "paymentMethod": {
            "type": "string",
            "description": "Payment method"
          },
          "paymentMethodName": {
            "type": "string",
            "description": "Payment method name"
          },
          "shipmentAddressCompany": {
            "type": "string",
            "description": "Shipment company"
          },
          "shipmentAddressSalutation": {
            "type": "string",
            "description": "Shipment salutation"
          },
          "shipmentAddressTitle": {
            "type": "string",
            "description": "Shipment title"
          },
          "shipmentAddressFirstName": {
            "type": "string",
            "description": "Shipment first name"
          },
          "shipmentAddressLastName": {
            "type": "string",
            "description": "Shipment last name"
          },
          "shipmentAddressStreet": {
            "type": "string",
            "description": "Shipment street"
          },
          "shipmentAddressPostalCode": {
            "type": "string",
            "description": "Shipment postal code"
          },
          "shipmentAddressCity": {
            "type": "string",
            "description": "Shipment city"
          },
          "shipmentAddressCountry": {
            "type": "string",
            "description": "Shipment country"
          },
          "shipmentAddressPhoneNumber": {
            "type": "string",
            "description": "Shipment phone number"
          },
          "shipmentAddressFaxNumber": {
            "type": "string",
            "description": "Shipment fax number"
          },
          "shipmentAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Shipment additional address line"
          },
          "shipmentAddressCountryIso": {
            "type": "string",
            "description": "Shipment country ISO"
          },
          "shipmentAddressVatIdNumber": {
            "type": "string",
            "description": "Shipment VAT ID"
          },
          "salesOrderShipmentCountryIso": {
            "type": "string",
            "description": "Sales order shipment country ISO"
          },
          "billingAddressCompany": {
            "type": "string",
            "description": "Sales invoice company"
          },
          "billingAddressSalutation": {
            "type": "string",
            "description": "Sales invoice salutation"
          },
          "billingAddressTitle": {
            "type": "string",
            "description": "Sales invoice title"
          },
          "billingAddressFirstName": {
            "type": "string",
            "description": "Sales invoice first name"
          },
          "billingAddressLastName": {
            "type": "string",
            "description": "Sales invoice last name"
          },
          "billingAddressStreet": {
            "type": "string",
            "description": "Sales invoice street"
          },
          "billingAddressPostalCode": {
            "type": "string",
            "description": "Sales invoice postal code"
          },
          "billingAddressCity": {
            "type": "string",
            "description": "Sales invoice city"
          },
          "billingAddressCountry": {
            "type": "string",
            "description": "Sales invoice country"
          },
          "billingAddressPhoneNumber": {
            "type": "string",
            "description": "Sales invoice phone number"
          },
          "billingAddressFaxNumber": {
            "type": "string",
            "description": "Sales invoice fax number"
          },
          "billingAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Sales invoice additional address line"
          },
          "billingAddressCountryIso": {
            "type": "string",
            "description": "Sales invoice ISO"
          },
          "customerDefaultBillingAddressCompany": {
            "type": "string",
            "description": "Customer company"
          },
          "customerDefaultBillingAddressSalutation": {
            "type": "string",
            "description": "Customer salutation"
          },
          "customerDefaultBillingAddressTitle": {
            "type": "string",
            "description": "Customer title"
          },
          "customerDefaultBillingAddressFirstName": {
            "type": "string",
            "description": "Customer first name"
          },
          "customerDefaultBillingAddressLastName": {
            "type": "string",
            "description": "Customer last name"
          },
          "customerDefaultBillingAddressStreet": {
            "type": "string",
            "description": "Customer street"
          },
          "customerDefaultBillingAddressPostalCode": {
            "type": "string",
            "description": "Customer postal code"
          },
          "customerDefaultBillingAddressCity": {
            "type": "string",
            "description": "Customer city"
          },
          "customerDefaultBillingAddressCountry": {
            "type": "string",
            "description": "Customer country"
          },
          "customerDefaultBillingAddressPhoneNumber": {
            "type": "string",
            "description": "Customer phone number"
          },
          "customerDefaultBillingAddressFaxNumber": {
            "type": "string",
            "description": "Customer fax number"
          },
          "customerDefaultBillingAddressCountryIso": {
            "type": "string",
            "description": "Customer address ISO"
          },
          "customerDefaultBillingAddressEmailAddress": {
            "type": "string",
            "description": "Customer address email address"
          },
          "customerDefaultBillingAddressVatIdNumber": {
            "type": "string",
            "description": "Customer address VAT ID"
          },
          "customerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "customerGroupId": {
            "description": "Customer group ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundenGruppeKey"
          },
          "customerPaymentDueDateInDays": {
            "type": "integer",
            "description": "Customer payment due date in days",
            "format": "int32"
          },
          "deposit": {
            "type": "string",
            "description": "Deposit"
          },
          "cancelledSalesInvoiceId": {
            "description": "Cancelled sales invoice ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "dropShippingDeliveryNoteCount": {
            "type": "integer",
            "description": "Delivery note count",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.JeraDomain.SalesInvoiceLineItemInternal": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "salesInvoiceId",
          "salesInvoicePositionId",
          "salesInvoiceLineItemId",
          "salesPriceGross",
          "salesPriceNet",
          "purchasePriceNet",
          "quantity",
          "taxRate",
          "invoiceLineItemType"
        ],
        "properties": {
          "salesInvoiceId": {
            "description": "Sales invoice identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "salesInvoicePositionId": {
            "description": "Sales invoice position identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungPositionKey"
          },
          "salesOrderId": {
            "description": "Sales order identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "itemId": {
            "description": "Item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "billOfMaterialsSalesInvoiceLineItemId": {
            "description": "Parts list line item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungPositionKey"
          },
          "salesInvoiceLineItemId": {
            "description": "Sales invoice line item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungPositionKey"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "Sales price gross",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Sales price net",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "Invoice line item purchase price net",
            "format": "decimal"
          },
          "itemPurchasePriceNet": {
            "type": "number",
            "description": "Item purchase price net",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "Invoice line item quantity",
            "format": "decimal"
          },
          "name": {
            "type": "string",
            "description": "Invoice line item name"
          },
          "sKU": {
            "type": "string",
            "description": "Stock keeping unit"
          },
          "taxRate": {
            "type": "number",
            "description": "Invoice line item Tax rate",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "Tax class identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "invoiceLineItemType": {
            "type": "integer",
            "description": "Invoice line item type",
            "format": "int32"
          },
          "parentItemId": {
            "description": "Parent item identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "taric": {
            "type": "string",
            "description": "Taric code"
          },
          "itemWeight": {
            "type": "number",
            "description": "Item weight",
            "format": "decimal"
          },
          "itemVolume": {
            "type": "number",
            "description": "Item volume",
            "format": "decimal"
          },
          "productGroupId": {
            "description": "Product group identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarengruppeKey"
          },
          "productGroupName": {
            "type": "string",
            "description": "Product group name"
          },
          "warehouseId": {
            "description": "Warehouse identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentDomain.DeletePaymentsByInvoiceIdCommandResponse": {
        "type": "object",
        "description": "Deletes all payments directly connected to the given invoice. This is an all-or-nothing operation - either all payments are deleted, or none are. After successfully deleting all payments, the invoice's payment status is updated accordingly. - Response",
        "additionalProperties": false,
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "True if all payments were deleted. False if no payments were deleted (e.g., none existed or deletion failed atomically)."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentDomain.Payment": {
        "type": "object",
        "description": "Represents a payment for a sales order, sales invoice",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The unique identifier of the payment.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungKey"
          },
          "externalTransactionId": {
            "type": "string",
            "description": "The external transaction id of the payment, if any. Returned as the raw column value with no server-side normalization: for JTL-Shop-synced orders this is not a uniform transaction id but the free-text payment note written by the shop sync (may be a full sentence), and an empty string is returned unchanged rather than as null."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.PaymentMethodDomain.PaymentMethod": {
        "type": "object",
        "description": "A single row of the payment methods overview table.",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "generalLedgerAccount",
          "isActive",
          "isDefault",
          "isDebit",
          "isDunningActive",
          "canShipBeforePayment",
          "cashDiscountDays",
          "cashDiscountValue",
          "paymentOption"
        ],
        "properties": {
          "id": {
            "description": "ID of the payment method",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the payment method"
          },
          "generalLedgerAccount": {
            "type": "string",
            "description": "G/L account associated with the payment method"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the payment method is active"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates whether this is the default payment method"
          },
          "isDebit": {
            "type": "boolean",
            "description": "Indicates whether the payment method is a debit type"
          },
          "isDunningActive": {
            "type": "boolean",
            "description": "Indicates whether dunning is active for this payment method"
          },
          "canShipBeforePayment": {
            "type": "boolean",
            "description": "Indicates whether shipping is allowed before payment is received"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "Number of days for cash discount",
            "format": "int32"
          },
          "cashDiscountValue": {
            "type": "number",
            "description": "Value of the cash discount",
            "format": "decimal"
          },
          "paymentOption": {
            "type": "string",
            "description": "Payment option associated with the payment method"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CancelSalesInvoiceCorrectionCommandRequest": {
        "type": "object",
        "description": "Cancels a sales invoice correction. - Request",
        "additionalProperties": false,
        "required": [
          "cancellationReasonId"
        ],
        "properties": {
          "cancellationReasonId": {
            "description": "The reason for cancelling the sales invoice correction.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftStornogrundKey"
          },
          "cancellationComment": {
            "type": "string",
            "description": "An optional comment explaining the cancellation."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionCommandResponse": {
        "type": "object",
        "description": "Creates a new sales invoice correction from an existing invoice. - Response",
        "additionalProperties": false,
        "required": [
          "salesInvoiceCorrectionId"
        ],
        "properties": {
          "salesInvoiceCorrectionId": {
            "description": "The Id of the created sales invoice correction",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionLineItem": {
        "type": "object",
        "description": "Line item details for a partial sales invoice correction.",
        "additionalProperties": false,
        "required": [
          "salesInvoiceLineItemId",
          "quantity"
        ],
        "properties": {
          "salesInvoiceLineItemId": {
            "description": "Unique ID of the invoice line item to correct. Must belong to the invoice referenced by SalesInvoiceId.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungPositionKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity to correct.",
            "format": "decimal"
          },
          "priceNet": {
            "type": "number",
            "description": "The net price to apply to the correction. When omitted, the original invoice line's net price is used.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionsFromReturnCommandResponse": {
        "type": "object",
        "description": "Creates one sales invoice correction per invoice that a return's creditable line items resolve to. - Response",
        "additionalProperties": false,
        "required": [
          "results",
          "unresolvedLineItems"
        ],
        "properties": {
          "results": {
            "type": "array",
            "description": "One entry per invoice the return's creditable line items resolved to.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.SalesInvoiceCorrectionFromReturnResult"
            }
          },
          "unresolvedLineItems": {
            "type": "array",
            "description": "Creditable return line items that could not be resolved to any invoice (e.g. no delivery-note link).",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RetourePosKey"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.SalesInvoiceCorrectionFromReturnResult": {
        "type": "object",
        "description": "Per-invoice result of a CreateSalesInvoiceCorrectionsFromReturn fan-out.",
        "additionalProperties": false,
        "required": [
          "salesInvoiceId",
          "succeeded"
        ],
        "properties": {
          "salesInvoiceId": {
            "description": "The invoice this result refers to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "succeeded": {
            "type": "boolean",
            "description": "Indicates whether the sales invoice correction was created successfully for this invoice."
          },
          "salesInvoiceCorrectionId": {
            "description": "The Id of the created sales invoice correction. Set only when Succeeded is true.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
          },
          "errorCode": {
            "type": "string",
            "description": "The error code describing why the correction could not be created for this invoice. Set only when Succeeded is false."
          },
          "errorMessage": {
            "type": "string",
            "description": "The error message describing why the correction could not be created for this invoice. Set only when Succeeded is false."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.SalesInvoiceCorrectionListItem": {
        "type": "object",
        "description": "A single row of the invoice corrections overview table.",
        "additionalProperties": false,
        "required": [
          "id",
          "salesInvoiceNumber",
          "totalGrossAmount",
          "totalNetAmount"
        ],
        "properties": {
          "id": {
            "description": "ID of the invoice correction",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.GutschriftKey"
          },
          "salesInvoiceCorrectionNumber": {
            "type": "string",
            "description": "Entry number of the invoice correction"
          },
          "salesInvoiceNumber": {
            "type": "string",
            "description": "Entry number of the related invoice"
          },
          "customerNumber": {
            "type": "string",
            "description": "Number of the related customer"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "Total gross amount of the invoice correction",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Total net amount of the invoice correction",
            "format": "decimal"
          },
          "revenueAccount": {
            "type": "string",
            "description": "The revenue account of the invoice correction"
          },
          "currencyIso": {
            "type": "string",
            "description": "Currency ISO code"
          },
          "customerGroupName": {
            "type": "string",
            "description": "Name of the customer group"
          },
          "salesInvoiceCorrectionDate": {
            "type": "string",
            "description": "Date when the invoice correction was created",
            "format": "date-time"
          },
          "printDate": {
            "type": "string",
            "description": "Date when the invoice correction was first printed",
            "format": "date-time"
          },
          "mailDate": {
            "type": "string",
            "description": "Date when the invoice correction was first sent via e-mail",
            "format": "date-time"
          },
          "salesInvoiceComment": {
            "type": "string",
            "description": "Comment of the related invoice"
          },
          "cancelledDate": {
            "type": "string",
            "description": "Date when the invoice correction was cancelled",
            "format": "date-time"
          },
          "cancellationUserName": {
            "type": "string",
            "description": "Name of the user who cancelled the invoice correction"
          },
          "cancellationReason": {
            "type": "string",
            "description": "Cancellation reason"
          },
          "cancellationComment": {
            "type": "string",
            "description": "Cancellation comment"
          },
          "shortText": {
            "type": "string",
            "description": "Short text of the invoice collection"
          },
          "billingAddressCompany": {
            "type": "string",
            "description": "Billing address company"
          },
          "billingAddressFirstName": {
            "type": "string",
            "description": "Billing address first name"
          },
          "billingAddressLastName": {
            "type": "string",
            "description": "Billing address last name"
          },
          "billingAddressStreet": {
            "type": "string",
            "description": "Billing address street"
          },
          "billingAddressPostalCode": {
            "type": "string",
            "description": "Billing address postal code"
          },
          "billingAddressCity": {
            "type": "string",
            "description": "Billing address city"
          },
          "billingAddressCountryName": {
            "type": "string",
            "description": "Billing address country name"
          },
          "billingAddressPhoneNumber": {
            "type": "string",
            "description": "Billing address phone number"
          },
          "billingAddressFax": {
            "type": "string",
            "description": "Billing address fax number"
          },
          "billingAddressEmailAddress": {
            "type": "string",
            "description": "Billing address email address"
          },
          "billingAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "Billing address additional company line"
          },
          "billingAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Billing address additional address line"
          },
          "billingAddressState": {
            "type": "string",
            "description": "Billing address state"
          },
          "billingAddressGln": {
            "type": "string",
            "description": "Global Location Number (GLN) of the billing address"
          },
          "shipmentAddressCompany": {
            "type": "string",
            "description": "Shipment address company"
          },
          "shipmentAddressFirstName": {
            "type": "string",
            "description": "Shipment address first name"
          },
          "shipmentAddressLastName": {
            "type": "string",
            "description": "Shipment address last name"
          },
          "shipmentAddressStreet": {
            "type": "string",
            "description": "Shipment address street"
          },
          "shipmentAddressPostalCode": {
            "type": "string",
            "description": "Shipment address postal code"
          },
          "shipmentAddressCity": {
            "type": "string",
            "description": "Shipment address city"
          },
          "shipmentAddressCountryName": {
            "type": "string",
            "description": "Shipment address country name"
          },
          "shipmentAddressPhoneNumber": {
            "type": "string",
            "description": "Shipment address phone number"
          },
          "shipmentAddressFax": {
            "type": "string",
            "description": "Shipment address fax number"
          },
          "shipmentAddressEmailAddress": {
            "type": "string",
            "description": "Shipment address email address"
          },
          "shipmentAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "Shipment address additional company line"
          },
          "shipmentAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Shipment address additional address line"
          },
          "shipmentAddressState": {
            "type": "string",
            "description": "Shipment address state"
          },
          "shipmentAddressGln": {
            "type": "string",
            "description": "Global Location Number (GLN) of the shipment address"
          },
          "createdByUserId": {
            "description": "Created by user ID",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "status": {
            "type": "string",
            "description": "Status text of the invoice correction"
          },
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel of the invoice correction"
          },
          "platformId": {
            "description": "DEPRECATED: do not use; use salesChannelId instead. Raw platform key (kPlattform); kept only as the source for salesChannelId.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "shopId": {
            "description": "DEPRECATED: do not use; use salesChannelId instead. Raw shop key (kShop); kept only as the source for salesChannelId.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "companyId": {
            "description": "CompanyId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "comment": {
            "type": "string",
            "description": "Comment of the sales invoice correction"
          },
          "ebayUsername": {
            "type": "string",
            "description": "eBay user name"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.CancelSalesInvoiceCommandRequest": {
        "type": "object",
        "description": "Cancels a sales invoice. - Request",
        "additionalProperties": false,
        "required": [
          "cancellationReasonId"
        ],
        "properties": {
          "cancellationReasonId": {
            "description": "The reason for cancelling the invoice.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungStornogrundKey"
          },
          "cancellationComment": {
            "type": "string",
            "description": "An optional comment explaining the cancellation."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.CreateSalesInvoiceCommandRequest": {
        "type": "object",
        "description": "Creates a new sales invoice for a sales order. - Request",
        "additionalProperties": false,
        "properties": {
          "invoiceOnlyDeliveredQuantity": {
            "type": "boolean",
            "description": "If true, only the delivered quantities of the sales order line items are added to the new invoice."
          },
          "asDraft": {
            "type": "boolean",
            "description": "If true, the invoice will be created as a draft. An invoice draft has no invoice number yet and can be edited until finalized."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.CreateSalesInvoiceCommandResponse": {
        "type": "object",
        "description": "Creates a new sales invoice for a sales order. - Response",
        "additionalProperties": false,
        "required": [
          "salesInvoiceId"
        ],
        "properties": {
          "salesInvoiceId": {
            "description": "The ID of the created sales invoice",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceCancellationReason": {
        "type": "object",
        "description": "A single sales invoice cancellation reason.",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "isCommentRequired"
        ],
        "properties": {
          "id": {
            "description": "ID of the sales invoice cancellation reason",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungStornogrundKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the cancellation reason"
          },
          "isCommentRequired": {
            "type": "boolean",
            "description": "Indicates whether a comment is required when using this cancellation reason"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceListItem": {
        "type": "object",
        "description": "A single row of the sales invoices overview table.",
        "additionalProperties": false,
        "required": [
          "salesInvoiceId",
          "isDunningBlocked",
          "salesInvoiceDate",
          "valueDate",
          "currencyFactor",
          "isDraft",
          "taxSetting",
          "isIntraCommunityDelivery",
          "isExemptFromVat",
          "salesChannelName",
          "isExternalSalesInvoice",
          "printExistingSalesInvoice",
          "isDunned",
          "stillToPay",
          "alreadyPaidAmount",
          "isCompletelyPaid",
          "salesInvoiceCorrectionTotalGrossAmount",
          "hasSalesInvoiceCorrection",
          "paymentStatus",
          "totalGrossAmount",
          "shippingCountryTotalGrossAmount",
          "totalNetAmount",
          "shippingCountryTotalNetAmount",
          "isArchived",
          "processColourCode",
          "platformType",
          "isCorrected",
          "isCancelled"
        ],
        "properties": {
          "salesInvoiceId": {
            "description": "ID of the sales invoice",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "createdByUserId": {
            "description": "Created by user ID",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "customerId": {
            "description": "Customer ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "currencyIso": {
            "type": "string",
            "description": "Currency ISO code"
          },
          "companyId": {
            "description": "Company ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "companyName": {
            "type": "string",
            "description": "Company name"
          },
          "vatIdNumber": {
            "type": "string",
            "description": "The VAT ID of the merchant’s company that is shown on the invoice"
          },
          "paymentMethodId": {
            "description": "Payment method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "paymentMethodName": {
            "type": "string",
            "description": "Payment method name"
          },
          "isDunningBlocked": {
            "type": "boolean",
            "description": "Indicates if dunning is blocked"
          },
          "salesInvoiceDate": {
            "type": "string",
            "description": "Date when the invoice was created",
            "format": "date-time"
          },
          "valueDate": {
            "type": "string",
            "description": "Value date of the invoice",
            "format": "date-time"
          },
          "salesInvoiceNumber": {
            "type": "string",
            "description": "Sales invoice number"
          },
          "currencyFactor": {
            "type": "number",
            "description": "Currency factor",
            "format": "decimal"
          },
          "shippingMethodId": {
            "description": "Shipping method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shippingMethodName": {
            "type": "string",
            "description": "Shipping method name"
          },
          "isDraft": {
            "type": "boolean",
            "description": "Indicates if the invoice is a draft"
          },
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel ID"
          },
          "platformId": {
            "description": "DEPRECATED: do not use; use salesChannelId instead. Raw platform key (kPlattform); kept only as the source for salesChannelId.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "shopId": {
            "description": "DEPRECATED: do not use; use salesChannelId instead. Raw shop key (kShop); kept only as the source for salesChannelId.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "languageId": {
            "description": "Language ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "taxSetting": {
            "description": "Tax setting value",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceTaxSetting"
          },
          "isIntraCommunityDelivery": {
            "type": "boolean",
            "description": "Indicates intra-community delivery"
          },
          "isExemptFromVat": {
            "type": "boolean",
            "description": "Indicates VAT exemption"
          },
          "ebayUsername": {
            "type": "string",
            "description": "Ebay username"
          },
          "salesChannelName": {
            "type": "string",
            "description": "Sales channel name"
          },
          "isExternalSalesInvoice": {
            "type": "boolean",
            "description": "Indicates if invoice is external"
          },
          "printExistingSalesInvoice": {
            "type": "boolean",
            "description": "Indicates whether to print an existing invoice again"
          },
          "paymentDate": {
            "type": "string",
            "description": "Date when the invoice was paid",
            "format": "date-time"
          },
          "printDate": {
            "type": "string",
            "description": "Date when the invoice was printed",
            "format": "date-time"
          },
          "mailDate": {
            "type": "string",
            "description": "Date when the invoice was sent via e-mail",
            "format": "date-time"
          },
          "isDunned": {
            "type": "boolean",
            "description": "Indicates if the invoice has been dunned"
          },
          "stillToPay": {
            "type": "number",
            "description": "Open amount still to pay",
            "format": "decimal"
          },
          "alreadyPaidAmount": {
            "type": "number",
            "description": "Amount already paid",
            "format": "decimal"
          },
          "isCompletelyPaid": {
            "type": "boolean",
            "description": "Indicates if the invoice is completely paid"
          },
          "comment": {
            "type": "string",
            "description": "Internal comment"
          },
          "customerComment": {
            "type": "string",
            "description": "Additional comment"
          },
          "salesInvoiceCorrectionTotalGrossAmount": {
            "type": "number",
            "description": "Total gross amount of credits related to this invoice",
            "format": "decimal"
          },
          "hasSalesInvoiceCorrection": {
            "type": "boolean",
            "description": "Indicates if a sales invoice correction exists"
          },
          "paymentStatus": {
            "description": "Payment status of the invoice",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.InvoicePaymentStatus"
          },
          "shipmentAddressCompanyName": {
            "type": "string",
            "description": "Shipment address company"
          },
          "shipmentAddressSalutation": {
            "type": "string",
            "description": "Shipment address form of address"
          },
          "shipmentAddressTitle": {
            "type": "string",
            "description": "Shipment address title"
          },
          "shipmentAddressFirstName": {
            "type": "string",
            "description": "Shipment address first name"
          },
          "shipmentAddressLastName": {
            "type": "string",
            "description": "Shipment address last name"
          },
          "shipmentAddressStreet": {
            "type": "string",
            "description": "Shipment address street"
          },
          "shipmentAddressAdditionalAddressLine": {
            "type": "string",
            "description": "The additional address line of the shipment address"
          },
          "shipmentAddressPostalCode": {
            "type": "string",
            "description": "Shipment address postal code"
          },
          "shipmentAddressCity": {
            "type": "string",
            "description": "Shipment address city"
          },
          "shipmentAddressCountryName": {
            "type": "string",
            "description": "Shipment address country name"
          },
          "shipmentAddressPhoneNumber": {
            "type": "string",
            "description": "Shipment address phone number"
          },
          "shipmentAddressMobilePhoneNumber": {
            "type": "string",
            "description": "Shipment address mobile phone number"
          },
          "shipmentAddressFaxNumber": {
            "type": "string",
            "description": "Shipment address fax"
          },
          "shipmentAddressEmailAddress": {
            "type": "string",
            "description": "Shipment address email address"
          },
          "shipmentAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "The additional company line of the shipment address"
          },
          "shipmentAddressPostId": {
            "type": "string",
            "description": "Shipment address post ID"
          },
          "shipmentAddressState": {
            "type": "string",
            "description": "Shipment address state"
          },
          "shipmentAddressCountryIso": {
            "type": "string",
            "description": "Shipment address country ISO code"
          },
          "billingAddressCompanyName": {
            "type": "string",
            "description": "Billing address company name"
          },
          "billingAddressSalutation": {
            "type": "string",
            "description": "The salutation of the billing address"
          },
          "billingAddressTitle": {
            "type": "string",
            "description": "Billing address title"
          },
          "billingAddressFirstName": {
            "type": "string",
            "description": "Billing address first name"
          },
          "billingAddressLastName": {
            "type": "string",
            "description": "Billing address last name"
          },
          "billingAddressStreet": {
            "type": "string",
            "description": "Billing address street"
          },
          "billingAddressAdditionalAddressLine": {
            "type": "string",
            "description": "The additional address line of the billing address"
          },
          "billingAddressPostalCode": {
            "type": "string",
            "description": "Billing address postal code"
          },
          "billingAddressCity": {
            "type": "string",
            "description": "Billing address city"
          },
          "billingAddressCountryName": {
            "type": "string",
            "description": "Billing address country name"
          },
          "billingAddressPhoneNumber": {
            "type": "string",
            "description": "Billing address phone number"
          },
          "billingAddressMobilePhoneNumber": {
            "type": "string",
            "description": "Billing address mobile phone number"
          },
          "billingAddressFaxNumber": {
            "type": "string",
            "description": "Billing address fax number"
          },
          "billingAddressEmailAddress": {
            "type": "string",
            "description": "Billing address email address"
          },
          "billingAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "The additional company line of the billing address"
          },
          "billingAddressPostId": {
            "type": "string",
            "description": "Billing address post ID"
          },
          "billingAddressState": {
            "type": "string",
            "description": "Billing address state"
          },
          "billingAddressCountryIso": {
            "type": "string",
            "description": "Billing address country ISO code"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "Total gross amount of the invoice",
            "format": "decimal"
          },
          "shippingCountryTotalGrossAmount": {
            "type": "number",
            "description": "Total gross amount in shipping country currency",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Total net amount of the invoice",
            "format": "decimal"
          },
          "shippingCountryTotalNetAmount": {
            "type": "number",
            "description": "Total net amount in shipping country currency",
            "format": "decimal"
          },
          "createdByUserName": {
            "type": "string",
            "description": "Name of the user who created the invoice"
          },
          "customerNumber": {
            "type": "string",
            "description": "Customer number"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "Accounts receivable number",
            "format": "int32"
          },
          "customerGroupName": {
            "type": "string",
            "description": "Customer group name"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "Payment due date in days",
            "format": "int32"
          },
          "paymentDueDate": {
            "type": "string",
            "description": "Payment due date",
            "format": "date-time"
          },
          "dunningLevel": {
            "type": "integer",
            "description": "Dunning level",
            "format": "int32"
          },
          "dunningDate": {
            "type": "string",
            "description": "Date of last dunning",
            "format": "date-time"
          },
          "isArchived": {
            "type": "boolean",
            "description": "Indicates if the invoice is archived"
          },
          "processColourCode": {
            "type": "integer",
            "description": "Process colour code",
            "format": "int32"
          },
          "processColourName": {
            "type": "string",
            "description": "Process colour name"
          },
          "platformType": {
            "type": "integer",
            "description": "Platform type",
            "format": "int32"
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "Sales order number"
          },
          "isCorrected": {
            "type": "boolean",
            "description": "Indicates if the invoice has been corrected"
          },
          "isCancelled": {
            "type": "boolean",
            "description": "Indicates if the invoice is cancelled"
          },
          "cancelledDate": {
            "type": "string",
            "description": "Date when the invoice was cancelled",
            "format": "date-time"
          },
          "cancellationComment": {
            "type": "string",
            "description": "Cancellation comment"
          },
          "cancellationUserName": {
            "type": "string",
            "description": "Name of the user who cancelled the invoice"
          },
          "cancellationReason": {
            "type": "string",
            "description": "Cancellation reason"
          },
          "salesOrderId": {
            "description": "Related sales order ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "External sales order number"
          },
          "serviceDateFrom": {
            "type": "string",
            "description": "Service date from (Leistungsdatum von) of the invoice",
            "format": "date-time"
          },
          "serviceDateTo": {
            "type": "string",
            "description": "Service date to (Leistungsdatum bis) of the invoice",
            "format": "date-time"
          },
          "lastShippingDate": {
            "type": "string",
            "description": "Date of last shipping related to the invoice",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceDomain.SalesInvoiceTaxSetting": {
        "type": "integer",
        "description": "0 = DeliveryWithVat, 10 = IntraCommunityDelivery, 15 = ExemptFromVatReverseCharge, 20 = ExemptFromVat",
        "format": "int32",
        "x-enumNames": [
          "DeliveryWithVat",
          "IntraCommunityDelivery",
          "ExemptFromVatReverseCharge",
          "ExemptFromVat"
        ],
        "enum": [
          0,
          10,
          15,
          20
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandRequest": {
        "type": "object",
        "description": "Recalculate prices, discounts, and taxes for a sales entity from a client-supplied state without persisting it. - Request",
        "additionalProperties": false,
        "required": [
          "calculateSalesEntityRequest",
          "recalculateTaxMode",
          "changes"
        ],
        "properties": {
          "calculateSalesEntityRequest": {
            "description": "The sales entity calculation request model in the original state before any changes.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequest"
          },
          "recalculateTaxMode": {
            "description": "The mode for tax recalculation (NoRecalculation, KeepNetPrices, KeepGrossPrices).",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.RecalculateTaxMode"
          },
          "changes": {
            "type": "array",
            "description": "The history of changes made to the sales entity request. Changes are processed in the order specified.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequestChange"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandResponse": {
        "type": "object",
        "description": "Recalculate prices, discounts, and taxes for a sales entity from a client-supplied state without persisting it. - Response",
        "additionalProperties": false,
        "required": [
          "lineItems",
          "totalNetAmount",
          "totalGrossAmount",
          "totalNetAmountExcludingShipping",
          "totalGrossAmountExcludingShipping",
          "vatId",
          "currencyIso",
          "currencyFactor",
          "shippingCostNet",
          "shippingCostGross",
          "vatAmounts",
          "taxSetting"
        ],
        "properties": {
          "lineItems": {
            "type": "array",
            "description": "The list of calculated sales entity line items.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityLineItemResponse"
            }
          },
          "totalNetAmount": {
            "type": "number",
            "description": "The total net amount for the sales entity.",
            "format": "decimal"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "The total gross amount for the sales entity.",
            "format": "decimal"
          },
          "totalNetAmountExcludingShipping": {
            "type": "number",
            "description": "The total net amount for the sales entity excluding shipping costs.",
            "format": "decimal"
          },
          "totalGrossAmountExcludingShipping": {
            "type": "number",
            "description": "The total gross amount for the sales entity excluding shipping costs.",
            "format": "decimal"
          },
          "vatId": {
            "type": "string",
            "description": "The VAT ID of the company for the departure country."
          },
          "currencyIso": {
            "type": "string",
            "description": "The ISO code of the currency used for the calculated prices."
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency factor used for the price conversion.",
            "format": "decimal"
          },
          "shippingCostNet": {
            "type": "number",
            "description": "The net shipping cost.",
            "format": "decimal"
          },
          "shippingCostGross": {
            "type": "number",
            "description": "The gross shipping cost.",
            "format": "decimal"
          },
          "vatAmounts": {
            "type": "array",
            "description": "The VAT amounts grouped by tax rate.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderVatAmountPerRate"
            }
          },
          "taxSetting": {
            "description": "The tax setting applied to the sales entity.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityLineItemResponse": {
        "type": "object",
        "description": "Response model for a calculated sales entity line item.",
        "additionalProperties": false,
        "required": [
          "syncNumber",
          "lineItemType",
          "quantity",
          "salesPriceNet",
          "salesPriceGross",
          "totalSalesPriceNet",
          "totalSalesPriceGross",
          "discountPercent",
          "taxRate",
          "taxClassId",
          "taxCodeId",
          "recalculateLineItemPriceChangeResult"
        ],
        "properties": {
          "syncNumber": {
            "type": "integer",
            "description": "The synchronization identifier for the line item. Negative values indicate system-generated BOM child positions.",
            "format": "int32"
          },
          "lineItemType": {
            "description": "Type of the sales entity line item.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "itemId": {
            "description": "The article/item ID for the line item. Not set for shipping positions and free-text positions.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity for the line item.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The calculated net sales price per unit.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The calculated gross sales price per unit.",
            "format": "decimal"
          },
          "totalSalesPriceNet": {
            "type": "number",
            "description": "The total net amount for this line item after applying quantity and discount.",
            "format": "decimal"
          },
          "totalSalesPriceGross": {
            "type": "number",
            "description": "The total gross amount for this line item after applying quantity and discount.",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount percentage applied to the line item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate applied to the line item.",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The tax class applied to the line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The tax code applied to the line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "parentSyncNumber": {
            "type": "integer",
            "description": "The SyncNumber of the parent line item. Set for BOM components (negative SyncNumbers) and configuration components.",
            "format": "int32"
          },
          "recalculateLineItemPriceChangeResult": {
            "description": "Indicates which price components were changed as a result of a quantity change.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceResult"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderCommandRequest": {
        "type": "object",
        "description": "Calculate prices, discounts, and taxes for a sales order without persisting it. - Request",
        "additionalProperties": false,
        "required": [
          "calculateSalesOrderRequest",
          "recalculateTaxMode",
          "changes"
        ],
        "properties": {
          "calculateSalesOrderRequest": {
            "description": "The sales order calculation request model in the original state before any changes.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderRequest"
          },
          "recalculateTaxMode": {
            "description": "The mode for tax recalculation (NoRecalculation, KeepNetPrices, KeepGrossPrices).",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.RecalculateTaxMode"
          },
          "changes": {
            "type": "array",
            "description": "The history of changes made to the sales order request. Changes are processed in the order specified.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderRequestChange"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderCommandResponse": {
        "type": "object",
        "description": "Calculate prices, discounts, and taxes for a sales order without persisting it. - Response",
        "additionalProperties": false,
        "required": [
          "lineItems",
          "totalNetAmount",
          "totalGrossAmount",
          "totalNetAmountInclShipping",
          "totalGrossAmountInclShipping",
          "companyVatId",
          "currencyIso",
          "currencyFactor",
          "shippingCostNet",
          "vatAmounts",
          "shippingCostGross"
        ],
        "properties": {
          "lineItems": {
            "type": "array",
            "description": "The list of calculated sales order line items.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderLineItemResponse"
            }
          },
          "totalNetAmount": {
            "type": "number",
            "description": "The total net amount for the sales order.",
            "format": "decimal"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "The total gross amount for the sales order.",
            "format": "decimal"
          },
          "totalNetAmountInclShipping": {
            "type": "number",
            "description": "The total net amount for the sales order including shipping costs.",
            "format": "decimal"
          },
          "totalGrossAmountInclShipping": {
            "type": "number",
            "description": "The total gross amount for the sales order including shipping costs.",
            "format": "decimal"
          },
          "companyVatId": {
            "type": "string",
            "description": "The VAT ID of the company for the departure country."
          },
          "currencyIso": {
            "type": "string",
            "description": "The ISO code of the currency used for the calculated prices."
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency factor used for the price conversion.",
            "format": "decimal"
          },
          "shippingCostNet": {
            "type": "number",
            "description": "The net shipping cost.",
            "format": "decimal"
          },
          "vatAmounts": {
            "type": "array",
            "description": "The VAT amounts grouped by tax rate.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderVatAmount"
            }
          },
          "shippingCostGross": {
            "type": "number",
            "description": "The gross shipping cost.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderLineItemResponse": {
        "type": "object",
        "description": "Response model for a calculated sales order line item.",
        "additionalProperties": false,
        "required": [
          "syncNumber",
          "type",
          "quantity",
          "salesPriceNet",
          "salesPriceGross",
          "lineItemTotalNetAmount",
          "lineItemTotalGrossAmount",
          "discountPercent",
          "taxRate",
          "taxClassId"
        ],
        "properties": {
          "syncNumber": {
            "type": "integer",
            "description": "The synchronization identifier for the line item.",
            "format": "int32"
          },
          "type": {
            "description": "Type of the sales order line item.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "itemId": {
            "description": "The article/item ID for the line item. Not set for shipping positions and free-text positions.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity for the line item.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The calculated net sales price for the line item.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The calculated gross sales price for the line item.",
            "format": "decimal"
          },
          "lineItemTotalNetAmount": {
            "type": "number",
            "description": "The total net amount for this line item after applying quantity and discount.",
            "format": "decimal"
          },
          "lineItemTotalGrossAmount": {
            "type": "number",
            "description": "The total gross amount for this line item after applying quantity and discount.",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount percentage applied to the line item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate applied to the line item.",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The tax class applied to the line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "parentSyncNumber": {
            "type": "integer",
            "description": "The SyncNumber of the parent line item. Set for BOM components (negative SyncNumbers) and configuration components.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesOrderVatAmount": {
        "type": "object",
        "description": "VAT amount for a specific tax rate.",
        "additionalProperties": false,
        "required": [
          "taxRate",
          "vatAmount"
        ],
        "properties": {
          "taxRate": {
            "type": "number",
            "description": "The tax rate in percent (e.g. 19.0 for 19% VAT).",
            "format": "decimal"
          },
          "vatAmount": {
            "type": "number",
            "description": "The VAT amount for this tax rate.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress": {
        "type": "object",
        "description": "Address information for sales entity calculation (tax determination).",
        "additionalProperties": false,
        "required": [
          "countryIso"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the address country for tax calculation."
          },
          "state": {
            "type": "string",
            "description": "The state of the address for tax calculation."
          },
          "vatId": {
            "type": "string",
            "description": "The VAT ID of the address for tax calculation."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequest": {
        "type": "object",
        "description": "Request model for an existing sales entity line item. Carries the full current state of the line item.",
        "additionalProperties": false,
        "required": [
          "syncNumber",
          "quantity",
          "taxClassId",
          "taxCodeId",
          "taxRate",
          "totalSalesPriceNet",
          "totalSalesPriceGross",
          "lineItemType"
        ],
        "properties": {
          "syncNumber": {
            "type": "integer",
            "description": "The synchronization identifier for the line item. Must be unique and greater than 0. This ID is assigned by the client and remains constant.",
            "format": "int32"
          },
          "itemId": {
            "description": "The unique identifier of the item/article. If omitted, a free-text position is assumed.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the item. Must be greater than 0.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The current net sales price per unit.",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount percentage for the line item (e.g., 10.0 for 10% discount).",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The tax class identifier for this line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The tax code identifier for this line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate for this line item (e.g., 19.0 for 19%).",
            "format": "decimal"
          },
          "totalSalesPriceNet": {
            "type": "number",
            "description": "The total net sales price for the line item after applying quantity and discount.",
            "format": "decimal"
          },
          "totalSalesPriceGross": {
            "type": "number",
            "description": "The total gross sales price for the line item after applying quantity and discount.",
            "format": "decimal"
          },
          "lineItemType": {
            "description": "The type of the line item (e.g., Item, Custom, Shipping).",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "parentSyncNumber": {
            "type": "integer",
            "description": "The SyncNumber of the parent line item. Used to assign configuration components to their parent configuration item.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestAdd": {
        "type": "object",
        "description": "Request model for a new sales entity line item to be added via a change.",
        "additionalProperties": false,
        "required": [
          "syncNumber",
          "quantity"
        ],
        "properties": {
          "syncNumber": {
            "type": "integer",
            "description": "The synchronization identifier for the new line item. Must be unique and greater than 0.",
            "format": "int32"
          },
          "itemId": {
            "description": "The unique identifier of the item/article. If omitted, a free-text position is created.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the item. Must be greater than 0.",
            "format": "decimal"
          },
          "lineItemType": {
            "type": "integer",
            "description": "The type of the line item (e.g., Item, Custom, Shipping).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChange": {
        "type": "object",
        "description": "Represents a change to apply to an existing line item.",
        "additionalProperties": false,
        "required": [
          "syncNumber"
        ],
        "properties": {
          "syncNumber": {
            "type": "integer",
            "description": "The synchronization identifier for the line item to update.",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "description": "The new quantity of the item.",
            "format": "decimal"
          },
          "recalculatePriceMode": {
            "type": "integer",
            "description": "Determines how the line item price is recalculated when the quantity changes (use the calculated item price or keep the current price).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceChangeMode"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Manual override for the net sales price per unit. Cannot be set simultaneously with SalesPriceGross.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "Manual override for the gross sales price per unit. When set, the net price is recalculated. Cannot be set simultaneously with SalesPriceNet.",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount percentage for the line item (e.g., 10.0 for 10% discount).",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The tax class identifier for this line item. If set, overrides the automatically determined tax class.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChangeSet": {
        "type": "object",
        "description": "Represents a set of changes to apply to line items.",
        "additionalProperties": false,
        "properties": {
          "create": {
            "type": "array",
            "description": "The list of new line items to create.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestAdd"
            }
          },
          "update": {
            "type": "array",
            "description": "The list of existing line items to update.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChange"
            }
          },
          "delete": {
            "type": "array",
            "description": "The list of sync numbers of line items to delete.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequest": {
        "type": "object",
        "description": "Request model for calculating prices, discounts, taxes, and shipping costs for a sales entity.",
        "additionalProperties": false,
        "required": [
          "companyId",
          "vatId",
          "customerId",
          "lineItems",
          "currencyIso",
          "currencyFactor",
          "departureCountryIso",
          "taxSetting"
        ],
        "properties": {
          "companyId": {
            "description": "The unique identifier of the company for the sales entity.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "vatId": {
            "type": "string",
            "description": "Vat id of the seller."
          },
          "customerId": {
            "description": "The unique identifier of the customer for whom the sales entity is being calculated.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "shippingMethodId": {
            "description": "The shipping method ID for shipping cost calculation and tax determination.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shopId": {
            "description": "The shop ID for shop-specific price calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "billingAddress": {
            "description": "The billing address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress"
          },
          "shipmentAddress": {
            "description": "The shipment address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress"
          },
          "lineItems": {
            "type": "array",
            "description": "The list of sales entity line items to be calculated. Each line item carries its full current state.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequest"
            }
          },
          "currencyIso": {
            "type": "string",
            "description": "The ISO code of the currency for price calculation (e.g., EUR, USD)."
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency conversion factor. Must be greater than 0.",
            "format": "decimal"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "The ISO code of the departure country for tax calculation."
          },
          "departureCountryStateCode": {
            "type": "string",
            "description": "The departure country state/region code for state-level tax calculation (e.g., US states like CA, NY)."
          },
          "extraWeight": {
            "type": "number",
            "description": "Additional weight in kg to add to the order for shipping cost calculation.",
            "format": "decimal"
          },
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The tax special treatment mode for the sales entity (e.g., ReverseCharge, ExemptFromVat).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "description": "The tax setting for the sales entity.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          },
          "taxReference": {
            "type": "integer",
            "description": "The tax reference of the sales entity. This setting controls which data is used during tax calculation.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequestChange": {
        "type": "object",
        "description": "Represents a change to apply to the sales entity calculation request.",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "description": "The company ID to use for the calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "The customer ID to use for the calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "shippingMethodId": {
            "description": "The shipping method ID to use for the calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "billingAddress": {
            "description": "The billing address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress"
          },
          "shipmentAddress": {
            "description": "The shipment address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress"
          },
          "lineItemChanges": {
            "description": "The line item changes to apply.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChangeSet"
          },
          "currencyIso": {
            "type": "string",
            "description": "The ISO code of the currency for price calculation."
          },
          "currencyFactor": {
            "type": "number",
            "description": "Manual override for the currency conversion factor.",
            "format": "decimal"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "The ISO code of the departure country for tax calculation."
          },
          "departureCountryStateCode": {
            "type": "string",
            "description": "The departure country state/region code for state-level tax calculation."
          },
          "extraWeight": {
            "type": "number",
            "description": "Additional weight in kg to add to the order for shipping cost calculation.",
            "format": "decimal"
          },
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The tax special treatment mode for the sales entity.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxReference": {
            "type": "integer",
            "description": "The tax reference of the sales entity. This setting controls which data is used during tax calculation.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderAddress": {
        "type": "object",
        "description": "Address information for sales order calculation (tax determination).",
        "additionalProperties": false,
        "required": [
          "countryIso"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the address country for tax calculation."
          },
          "state": {
            "type": "string",
            "description": "The state of the address for tax calculation."
          },
          "vatId": {
            "type": "string",
            "description": "The VAT ID of the address for tax calculation."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderLineItemRequest": {
        "type": "object",
        "description": "Request model for a sales order line item calculation.",
        "additionalProperties": false,
        "required": [
          "syncNumber",
          "quantity"
        ],
        "properties": {
          "syncNumber": {
            "type": "integer",
            "description": "The synchronization identifier for the line item. Must be unique and greater than 0. This ID is assigned by the client and remains constant.",
            "format": "int32"
          },
          "itemId": {
            "description": "The unique identifier of the item/article. If omitted, a free-text position is created.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the item. Must be greater than 0.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Manual override for the net sales price per unit. If set, overrides the calculated price. Cannot be set simultaneously with SalesPriceGross.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "Manual override for the gross sales price per unit. When set, the net price is recalculated. Cannot be set simultaneously with SalesPriceNet.",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount percentage for the line item (e.g., 10.0 for 10% discount).",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The tax class identifier for this line item. If set, overrides the automatically determined tax class.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "parentSyncNumber": {
            "type": "integer",
            "description": "The SyncNumber of the parent line item. Used to assign configuration components to their parent configuration item.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderLineItemRequestChange": {
        "type": "object",
        "description": "Represents a change to apply to an existing line item.",
        "additionalProperties": false,
        "required": [
          "syncNumber"
        ],
        "properties": {
          "syncNumber": {
            "type": "integer",
            "description": "The synchronization identifier for the line item to update.",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the item.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "Manual override for the net sales price per unit. Cannot be set simultaneously with SalesPriceGross.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "Manual override for the gross sales price per unit. When set, the net price is recalculated. Cannot be set simultaneously with SalesPriceNet.",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount percentage for the line item (e.g., 10.0 for 10% discount).",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The tax class identifier for this line item. If set, overrides the automatically determined tax class.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderLineItemRequestChangeSet": {
        "type": "object",
        "description": "Represents a set of changes to apply to line items.",
        "additionalProperties": false,
        "properties": {
          "create": {
            "type": "array",
            "description": "The list of new line items to create.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderLineItemRequest"
            }
          },
          "update": {
            "type": "array",
            "description": "The list of existing line items to update.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderLineItemRequestChange"
            }
          },
          "delete": {
            "type": "array",
            "description": "The list of sync numbers of line items to delete.",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderRequest": {
        "type": "object",
        "description": "Request model for calculating prices, discounts, taxes, and shipping costs for a sales order.",
        "additionalProperties": false,
        "required": [
          "companyId",
          "customerId",
          "lineItems",
          "departureCountryIso"
        ],
        "properties": {
          "companyId": {
            "description": "The unique identifier of the company for the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "The unique identifier of the customer for whom the sales order is being calculated.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "shippingMethodId": {
            "description": "The shipping method ID for shipping cost calculation and tax determination.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shopId": {
            "description": "The shop ID for shop-specific price calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "billingAddress": {
            "description": "The billing address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderAddress"
          },
          "shipmentAddress": {
            "description": "The shipment address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderAddress"
          },
          "lineItems": {
            "type": "array",
            "description": "The list of sales order line items to be calculated.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderLineItemRequest"
            }
          },
          "currencyIso": {
            "type": "string",
            "description": "The ISO code of the currency for price calculation (e.g., EUR, USD). If not specified, the default currency will be used."
          },
          "currencyFactor": {
            "type": "number",
            "description": "Manual override for the currency conversion factor. If set (greater than 0), overrides the default factor from the currency settings.",
            "format": "decimal"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "The ISO code of the departure country for tax calculation."
          },
          "departureCountryStateCode": {
            "type": "string",
            "description": "The departure country state/region code for state-level tax calculation (e.g., US states like CA, NY)."
          },
          "extraWeight": {
            "type": "number",
            "description": "Additional weight in kg to add to the order for shipping cost calculation.",
            "format": "decimal"
          },
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The tax special treatment mode for the sales order (e.g., ReverseCharge, TaxExempt).",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxReference": {
            "type": "integer",
            "description": "The tax reference of the sales order. This setting controls which data is used during tax calculation.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderRequestChange": {
        "type": "object",
        "description": "Represents a change to apply to the sales order calculation request.",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "description": "The company ID to use for the calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "The customer ID to use for the calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "shippingMethodId": {
            "description": "The shipping method ID to use for the calculation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "billingAddress": {
            "description": "The billing address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderAddress"
          },
          "shipmentAddress": {
            "description": "The shipment address information for tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderAddress"
          },
          "lineItemChanges": {
            "description": "The line item changes to apply.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesOrderLineItemRequestChangeSet"
          },
          "currencyIso": {
            "type": "string",
            "description": "The ISO code of the currency for price calculation."
          },
          "currencyFactor": {
            "type": "number",
            "description": "Manual override for the currency conversion factor.",
            "format": "decimal"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "The ISO code of the departure country for tax calculation."
          },
          "departureCountryStateCode": {
            "type": "string",
            "description": "The departure country state/region code for state-level tax calculation."
          },
          "extraWeight": {
            "type": "number",
            "description": "Additional weight in kg to add to the order for shipping cost calculation.",
            "format": "decimal"
          },
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The tax special treatment mode for the sales order.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxReference": {
            "type": "integer",
            "description": "The tax reference of the sales order. This setting controls which data is used during tax calculation.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderAddress": {
        "type": "object",
        "description": "Address details for the sales order.",
        "additionalProperties": false,
        "required": [
          "street",
          "city",
          "countryIso"
        ],
        "properties": {
          "salutation": {
            "type": "string",
            "description": "The SalesOrderAddress Salutation"
          },
          "title": {
            "type": "string",
            "description": "The SalesOrderAddress Title"
          },
          "firstName": {
            "type": "string",
            "description": "The SalesOrderAddress FirstName"
          },
          "lastName": {
            "type": "string",
            "description": "The SalesOrderAddress LastName"
          },
          "company": {
            "type": "string",
            "description": "The SalesOrderAddress Company"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The SalesOrderAddress AdditionalCompanyLine"
          },
          "street": {
            "type": "string",
            "description": "The SalesOrderAddress Street"
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "The SalesOrderAddress AdditionalAddressLine"
          },
          "city": {
            "type": "string",
            "description": "The SalesOrderAddress City"
          },
          "postalCode": {
            "type": "string",
            "description": "The SalesOrderAddress PostalCode"
          },
          "state": {
            "type": "string",
            "description": "The SalesOrderAddress State"
          },
          "countryIso": {
            "type": "string",
            "description": "The SalesOrderAddress CountryISO",
            "maxLength": 2,
            "minLength": 2
          },
          "postId": {
            "type": "string",
            "description": "The SalesOrderAddress PostId"
          },
          "emailAddress": {
            "type": "string",
            "description": "The SalesOrderAddress EmailAddress"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The SalesOrderAddress PhoneNumber"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The SalesOrderAddress MobilePhoneNumber"
          },
          "fax": {
            "type": "string",
            "description": "The SalesOrderAddress Fax"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesOrderAddress VAT ID"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderDepartureCountry": {
        "type": "object",
        "description": "Defines the departure country information for a sales order during its creation.",
        "additionalProperties": false,
        "required": [
          "countryIso",
          "currencyIso"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the departure country.",
            "maxLength": 2,
            "minLength": 2
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales order departure country currency iso",
            "maxLength": 3,
            "minLength": 3
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales order departure country currency factor",
            "format": "decimal"
          },
          "state": {
            "type": "string",
            "description": "DEPRECATED: do not use; use StateCode instead. The SalesOrder State."
          },
          "stateCode": {
            "type": "string",
            "description": "The SalesOrder State code"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderExternalDetails": {
        "type": "object",
        "description": "External details for the sales order.",
        "additionalProperties": false,
        "properties": {
          "externalCreatedDate": {
            "type": "string",
            "description": "The SalesOrder ExternalCreatedDate",
            "format": "date-time"
          },
          "externalInvoiceType": {
            "type": "integer",
            "description": "The SalesOrder ExternalInvoiceType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType"
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder ExternalSalesOrderNumber"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderLineItem": {
        "type": "object",
        "description": "Line item details for the new sales order.",
        "additionalProperties": false,
        "properties": {
          "itemId": {
            "description": "Unique ID to identify an item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "parentSalesOrderLineItemId": {
            "description": "The SalesOrderLineItem ParentSalesOrderLineItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "taxClassId": {
            "description": "The SalesOrderLineItem TaxClassId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The SalesOrderLineItem TaxCodeId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "billOfMaterialsType": {
            "type": "integer",
            "description": "The SalesOrderLineItem BillOfMaterialsType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.BillOfMaterialsType"
          },
          "configurationItemType": {
            "type": "integer",
            "description": "The SalesOrderLineItem ConfigurationItemType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ConfigurationItemType"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "fnSku": {
            "type": "string",
            "description": "The SalesOrderLineItem FNSKU"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "note": {
            "type": "string",
            "description": "The SalesOrderLineItem Note"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "sku": {
            "type": "string",
            "description": "SKU of the sales order line item."
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "type": {
            "type": "integer",
            "description": "DEPRECATED: do not use; use LineItemType instead.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "lineItemType": {
            "type": "integer",
            "description": "Type of the sales order line item.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "variants": {
            "type": "array",
            "description": "List of SalesOrderLineItemVariant",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderLineItemVariant"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderLineItemVariant": {
        "type": "object",
        "description": "Sales order line item variant details.",
        "additionalProperties": false,
        "required": [
          "name",
          "itemVariantId"
        ],
        "properties": {
          "extraWeight": {
            "type": "number",
            "description": "The SalesOrderLineItemVariant ExtraWeight",
            "format": "decimal"
          },
          "name": {
            "type": "string",
            "description": "The SalesOrderLineItemVariant Name"
          },
          "surchargeNet": {
            "type": "number",
            "description": "The SalesOrderLineItemVariant SurchargeNet",
            "format": "decimal"
          },
          "value": {
            "type": "string",
            "description": "The SalesOrderLineItemVariant Value"
          },
          "itemVariantId": {
            "description": "The SalesOrderLineItemVariant ItemVariantId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          },
          "itemVariantValueId": {
            "description": "The SalesOrderLineItemVariant ItemVariantValueId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderPaymentDetails": {
        "type": "object",
        "description": "Payment details for the new sales order.",
        "additionalProperties": false,
        "required": [
          "currencyIso"
        ],
        "properties": {
          "cashDiscount": {
            "type": "number",
            "description": "The SalesOrder CashDiscount",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The SalesOrder CashDiscountDays",
            "format": "int32"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The SalesOrder PaymentDueDateInDays",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales order departure country currency iso",
            "maxLength": 3,
            "minLength": 3
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales order departure country currency factor",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderPaymentInfo": {
        "type": "object",
        "description": "Payment info for the new sales order.",
        "additionalProperties": false,
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo AccountHolder"
          },
          "bankName": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo BankName"
          },
          "bIC": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo BIC"
          },
          "creditorId": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo CreditorId"
          },
          "dueDate": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo DueDate",
            "format": "date-time"
          },
          "endToEndId": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo EndToEndId"
          },
          "iBAN": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo IBAN"
          },
          "mandateReference": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo MandateReference"
          },
          "paymentInfo": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo PaymentInfo"
          },
          "paymentReference": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo PaymentReference"
          },
          "referenceEmail": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo ReferenceEmail"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderShippingDetails": {
        "type": "object",
        "description": "Shipping details for the new sales order.",
        "additionalProperties": false,
        "properties": {
          "deliveryFromDate": {
            "type": "string",
            "description": "The SalesOrder DeliveryFromDate",
            "format": "date-time"
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "The SalesOrder EstimatedDeliveryDate",
            "format": "date-time"
          },
          "extraWeight": {
            "type": "number",
            "description": "The SalesOrder ExtraWeight",
            "format": "decimal"
          },
          "maxDeliveryDays": {
            "type": "integer",
            "description": "The SalesOrder MaxDeliveryDays",
            "format": "int32"
          },
          "shippingDate": {
            "type": "string",
            "description": "The SalesOrder ShippingDate",
            "format": "date-time"
          },
          "shippingPriority": {
            "type": "integer",
            "description": "The SalesOrder ShippingPriority",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderTaxDetails": {
        "type": "object",
        "description": "Tax details for the new sales order.",
        "additionalProperties": false,
        "properties": {
          "taxReference": {
            "type": "integer",
            "description": "The SalesOrder TaxReference. This setting controls which data is used during tax calculation.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          },
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The SalesOrder SpecialTaxTreatment",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "type": "integer",
            "description": "The SalesOrder TaxSetting",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderText": {
        "type": "object",
        "description": "Tax details for the new sales order.",
        "additionalProperties": false,
        "properties": {
          "comment": {
            "type": "string",
            "description": "The SalesOrderText Comment"
          },
          "customerComment": {
            "type": "string",
            "description": "The SalesOrderText CustomerComment"
          },
          "printText": {
            "type": "string",
            "description": "The SalesOrderText PrintText"
          },
          "processStatus": {
            "type": "string",
            "description": "The SalesOrderText ProcessStatus"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateSalesOrderCommandRequest": {
        "type": "object",
        "description": "Creates a new sales order. - Request",
        "additionalProperties": false,
        "required": [
          "companyId",
          "customerId",
          "billingAddress",
          "departureCountry",
          "lineItems",
          "paymentDetails",
          "languageIso",
          "vatId"
        ],
        "properties": {
          "disableAutomaticWorkflows": {
            "type": "boolean",
            "description": "Indicates whether automatic workflows should be disabled for this sales order."
          },
          "useBillingAddressAsShipmentAddress": {
            "type": "boolean",
            "description": "Indicates whether the billing address should be used as the shipment address. If no shipment address is provided and the flag ist not set, the billing address will also be used as shipment address. If the shipment address is provided, this flag will be ignored."
          },
          "cartonItemId": {
            "description": "The SalesOrder CartonItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "companyId": {
            "description": "The SalesOrder CompanyId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "The customer ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "onHoldReasonId": {
            "description": "The SalesOrder OnHoldReasonId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "paymentMethodId": {
            "description": "The SalesOrder PaymentMethodId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "processColourId": {
            "description": "The SalesOrder ProcessColourId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "processStatusId": {
            "description": "The SalesOrder ProcessStatusId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorgangsstatusKey"
          },
          "billingAddress": {
            "description": "SalesOrderBillingAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderAddress"
          },
          "departureCountry": {
            "description": "DepartureCountry",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderDepartureCountry"
          },
          "externalDetails": {
            "description": "ExternalDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderExternalDetails"
          },
          "lineItems": {
            "type": "array",
            "description": "List of SalesOrderLineItem",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderLineItem"
            }
          },
          "paymentDetails": {
            "description": "PaymentDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderPaymentDetails"
          },
          "paymentInfo": {
            "description": "SalesOrderPaymentInfo",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderPaymentInfo"
          },
          "shipmentAddress": {
            "description": "SalesOrderShipmentAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderAddress"
          },
          "shippingDetails": {
            "description": "ShippingDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderShippingDetails"
          },
          "taxDetails": {
            "description": "TaxDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderTaxDetails"
          },
          "text": {
            "description": "SalesOrderText",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCreateSalesOrderText"
          },
          "customerSalesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder CustomerSalesOrderNumber"
          },
          "itemDescriptionType": {
            "type": "integer",
            "description": "The SalesOrder ItemDescriptionType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "languageIso": {
            "type": "string",
            "description": "The SalesOrder LanguageISO",
            "maxLength": 5,
            "minLength": 2
          },
          "readOnlyType": {
            "type": "integer",
            "description": "The SalesOrder ReadOnlyType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "salesOrderDate": {
            "type": "string",
            "description": "The SalesOrder Date",
            "format": "date-time"
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder SalesOrderNumber"
          },
          "shippingMethodId": {
            "description": "The SalesOrder ShippingMethodId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesOrder VATId"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateSalesOrderCommandResponse": {
        "type": "object",
        "description": "Creates a new sales order. - Response",
        "additionalProperties": false,
        "required": [
          "salesOrderId"
        ],
        "properties": {
          "salesOrderId": {
            "description": "The ID of the newly created sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.Deliverability": {
        "type": "integer",
        "description": "0 = NotDeliverable, 1 = PartiallyDeliverable, 2 = Deliverable",
        "format": "int32",
        "x-enumNames": [
          "NotDeliverable",
          "PartiallyDeliverable",
          "Deliverable"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrder": {
        "type": "object",
        "description": "An empty sales order with default values.",
        "additionalProperties": false,
        "required": [
          "itemDescriptionType",
          "readOnlyType",
          "companyId",
          "languageId",
          "additionalWeight",
          "specialTaxTreatment",
          "taxSetting",
          "departureCountry",
          "paymentDetails",
          "billingAddress",
          "shipmentAddress"
        ],
        "properties": {
          "salesOrderDate": {
            "type": "string",
            "description": "The default sales order date (current date/time).",
            "format": "date-time"
          },
          "itemDescriptionType": {
            "description": "The default item description type from global settings.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "readOnlyType": {
            "description": "The default read-only type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "companyId": {
            "description": "The company ID the sales order is initialized for.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "languageId": {
            "description": "The default language ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SpracheKey"
          },
          "additionalWeight": {
            "type": "number",
            "description": "The default additional weight from global settings.",
            "format": "decimal"
          },
          "vatId": {
            "type": "string",
            "description": "The VAT ID of the company."
          },
          "specialTaxTreatment": {
            "description": "The special tax treatment setting.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "description": "The tax setting.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          },
          "departureCountry": {
            "description": "The departure country information.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrderDepartureCountry"
          },
          "paymentDetails": {
            "description": "The payment details.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrderPaymentDetails"
          },
          "billingAddress": {
            "description": "The initialized empty billing address.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrderAddress"
          },
          "shipmentAddress": {
            "description": "The initialized empty shipment address.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrderAddress"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrderAddress": {
        "type": "object",
        "description": "An empty initialized address for the sales order.",
        "additionalProperties": false,
        "properties": {
          "salutation": {
            "type": "string",
            "description": "The address salutation."
          },
          "title": {
            "type": "string",
            "description": "The address title."
          },
          "firstName": {
            "type": "string",
            "description": "The first name."
          },
          "lastName": {
            "type": "string",
            "description": "The last name."
          },
          "company": {
            "type": "string",
            "description": "The company name."
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "Additional company line."
          },
          "street": {
            "type": "string",
            "description": "The street address."
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "Additional address line."
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code."
          },
          "city": {
            "type": "string",
            "description": "The city."
          },
          "state": {
            "type": "string",
            "description": "The state or region."
          },
          "countryIso": {
            "type": "string",
            "description": "The country ISO code."
          },
          "countryName": {
            "type": "string",
            "description": "The country name."
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number."
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The mobile phone number."
          },
          "fax": {
            "type": "string",
            "description": "The fax number."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrderDepartureCountry": {
        "type": "object",
        "description": "Departure country information for the empty sales order.",
        "additionalProperties": false,
        "required": [
          "countryIso",
          "currencyIso",
          "currencyFactor"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the departure country (default is company headquarters)."
          },
          "currencyIso": {
            "type": "string",
            "description": "The currency ISO code of the departure country."
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency factor.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.EmptySalesOrderPaymentDetails": {
        "type": "object",
        "description": "Payment details for the empty sales order.",
        "additionalProperties": false,
        "required": [
          "currencyIso",
          "currencyFactor",
          "paymentDueDateInDays",
          "cashDiscount",
          "cashDiscountDays"
        ],
        "properties": {
          "currencyIso": {
            "type": "string",
            "description": "The default currency ISO code."
          },
          "currencyFactor": {
            "type": "number",
            "description": "The default currency factor.",
            "format": "decimal"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The default payment due date in days.",
            "format": "int32"
          },
          "cashDiscount": {
            "type": "number",
            "description": "The default cash discount percentage.",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The default cash discount days.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.ItemPriceDetails": {
        "type": "object",
        "description": "Price details for an item.",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "Unique ID to identify an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "defaultSalesPriceNet": {
            "type": "number",
            "description": "The default net sales price of the item.",
            "format": "decimal"
          },
          "latestSalesPriceNet": {
            "type": "number",
            "description": "The latest net sales price of the item.",
            "format": "decimal"
          },
          "customersLatestSalesPriceNet": {
            "type": "number",
            "description": "The latest net sales price of the item for a specific customer.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "latestPurchasePriceNet": {
            "type": "number",
            "description": "The latest purchase price of the item.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.MarkSalesOrderAsPaidCommandRequest": {
        "type": "object",
        "description": "Marks a given sales order as completely paid by creating a payment with the open amount of the sales order. - Request",
        "additionalProperties": false,
        "properties": {
          "paymentDate": {
            "type": "string",
            "description": "Date when the payment was made. If not provided, the current date and time will be used.",
            "format": "date-time"
          },
          "paymentMethodId": {
            "description": "ID of the payment method to be used for the payment. If not provided, the default payment method will be used.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "distribute": {
            "type": "boolean",
            "description": "Whether to distribute the payment to associated invoices. If not provided, it will default to true."
          },
          "comment": {
            "type": "string",
            "description": "Comment for the payment. If not provided, no comment will be added to the payment."
          },
          "sendMail": {
            "type": "boolean",
            "description": "Whether to send a confirmation email after payment processing. If not provided, it will default to false."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.MarkSalesOrderAsPaidCommandResponse": {
        "type": "object",
        "description": "Marks a given sales order as completely paid by creating a payment with the open amount of the sales order. - Response",
        "additionalProperties": false,
        "required": [
          "paymentIds"
        ],
        "properties": {
          "paymentIds": {
            "type": "array",
            "description": "List of the created payment Ids.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungKey"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.RecalculateTaxMode": {
        "type": "integer",
        "description": "0 = NoRecalculation, 1 = KeepNetPrices, 2 = KeepGrossPrices",
        "format": "int32",
        "x-enumNames": [
          "NoRecalculation",
          "KeepNetPrices",
          "KeepGrossPrices"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrder": {
        "type": "object",
        "description": "A single sales order.",
        "additionalProperties": false,
        "required": [
          "id",
          "isCancelled",
          "isPending",
          "itemDescriptionType",
          "readOnlyType",
          "salesOrderStatus",
          "salesOrderNumber",
          "departureCountry",
          "externalDetails",
          "paymentDetails",
          "shippingDetails",
          "taxDetails"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "customerId": {
            "description": "Customer this SalesOrder belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "paymentInfo": {
            "description": "SalesOrderPaymentInfo",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderPaymentInfo"
          },
          "text": {
            "description": "SalesOrderText",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderText"
          },
          "salesOrderDate": {
            "type": "string",
            "description": "The SalesOrder Date",
            "format": "date-time"
          },
          "isCancelled": {
            "type": "boolean",
            "description": "Indicates if the order has been cancelled."
          },
          "isPending": {
            "type": "boolean",
            "description": "The SalesOrder IsPending"
          },
          "itemDescriptionType": {
            "description": "The SalesOrder ItemDescriptionType",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "readOnlyType": {
            "description": "The SalesOrder ReadOnlyType",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "salesOrderStatus": {
            "type": "integer",
            "description": "The SalesOrder SalesOrderStatus",
            "format": "int32"
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder SalesOrderNumber"
          },
          "departureCountry": {
            "description": "DepartureCountry",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderDepartureCountry"
          },
          "externalDetails": {
            "description": "ExternalDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderExternalDetails"
          },
          "paymentDetails": {
            "description": "PaymentDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderPaymentDetails"
          },
          "shippingDetails": {
            "description": "ShippingDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderShippingDetails"
          },
          "taxDetails": {
            "description": "TaxDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderTaxDetails"
          },
          "processColourId": {
            "description": "The SalesOrder Process colour id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "onHoldReasonId": {
            "description": "The SalesOrder OnHold reason id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "cartonItemId": {
            "description": "The SalesOrder Carton item id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "paymentMethodId": {
            "description": "The SalesOrder Payment method id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "shippingMethodId": {
            "description": "The SalesOrder Shipping method id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "processStatusId": {
            "description": "The SalesOrder Process status id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorgangsstatusKey"
          },
          "languageIso": {
            "type": "string",
            "description": "The SalesOrder Language iso code"
          },
          "customerSalesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder Customer sales order number"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesOrder Vat Id"
          },
          "companyId": {
            "description": "The SalesOrder Company Id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "shipmentAddress": {
            "description": "SalesOrderShipmentAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderAddress"
          },
          "billingAddress": {
            "description": "SalesOrderBillingAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderAddress"
          },
          "lineItems": {
            "type": "array",
            "description": "List of SalesOrderLineItem",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderLineItem"
            }
          },
          "keyFigures": {
            "description": "Key figures of the sales order.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderKeyFigures"
          },
          "invoices": {
            "type": "array",
            "description": "List of invoices associated with this sales order",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderInvoice"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderAddress": {
        "type": "object",
        "description": "Address information for a sales order",
        "additionalProperties": false,
        "required": [
          "salesOrderId",
          "type"
        ],
        "properties": {
          "salesOrderId": {
            "description": "The SalesOrder this address belongs to",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "type": {
            "description": "The purpose of this address",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.AddressType"
          },
          "customerId": {
            "description": "The customer this address belongs to",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "salutation": {
            "type": "string",
            "description": "The SalesOrderAddress Salutation"
          },
          "title": {
            "type": "string",
            "description": "The SalesOrderAddress Title"
          },
          "firstName": {
            "type": "string",
            "description": "The SalesOrderAddress FirstName"
          },
          "lastName": {
            "type": "string",
            "description": "The SalesOrderAddress LastName"
          },
          "company": {
            "type": "string",
            "description": "The SalesOrderAddress Company"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The SalesOrderAddress AdditionalCompanyLine"
          },
          "street": {
            "type": "string",
            "description": "The SalesOrderAddress Street"
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "The SalesOrderAddress AdditionalAddressLine"
          },
          "city": {
            "type": "string",
            "description": "The SalesOrderAddress City"
          },
          "postalCode": {
            "type": "string",
            "description": "The SalesOrderAddress PostalCode"
          },
          "state": {
            "type": "string",
            "description": "The SalesOrderAddress State"
          },
          "countryIso": {
            "type": "string",
            "description": "The SalesOrderAddress CountryISO"
          },
          "postId": {
            "type": "string",
            "description": "The SalesOrderAddress PostId"
          },
          "emailAddress": {
            "type": "string",
            "description": "The SalesOrderAddress EmailAddress"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The SalesOrderAddress PhoneNumber"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The SalesOrderAddress MobilePhoneNumber"
          },
          "fax": {
            "type": "string",
            "description": "The SalesOrderAddress Fax"
          },
          "country": {
            "type": "string",
            "description": "The SalesOrderAddress Countryname"
          },
          "customsDocumentsRequired": {
            "type": "boolean",
            "description": "Information about the need for additional documents"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesOrderAddress VAT ID"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderDepartureCountry": {
        "type": "object",
        "description": "Departure country information for a sales order",
        "additionalProperties": false,
        "required": [
          "currencyFactor"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The SalesOrder CountryISO"
          },
          "currencyIso": {
            "type": "string",
            "description": "The SalesOrder DepartureCountry CurrencyISO"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The SalesOrder DepartureCountry CurrencyFactor",
            "format": "decimal"
          },
          "state": {
            "type": "string",
            "description": "The SalesOrder State"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderExternalDetails": {
        "type": "object",
        "description": "External details for a sales order",
        "additionalProperties": false,
        "required": [
          "externalInvoiceType"
        ],
        "properties": {
          "externalCreatedDate": {
            "type": "string",
            "description": "The SalesOrder ExternalCreatedDate",
            "format": "date-time"
          },
          "externalInvoiceType": {
            "description": "The SalesOrder ExternalInvoiceType",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType"
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder ExternalSalesOrderNumber"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderInvoice": {
        "type": "object",
        "description": "Invoice information associated with a sales order, including status details",
        "additionalProperties": false,
        "required": [
          "id",
          "salesInvoiceNumber",
          "createdDate",
          "isCancelled",
          "isDraft"
        ],
        "properties": {
          "id": {
            "description": "Unique ID of the invoice",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RechnungKey"
          },
          "salesInvoiceNumber": {
            "type": "string",
            "description": "The invoice number"
          },
          "createdDate": {
            "type": "string",
            "description": "The date the invoice was created",
            "format": "date-time"
          },
          "isCancelled": {
            "type": "boolean",
            "description": "Whether the invoice has been cancelled"
          },
          "isDraft": {
            "type": "boolean",
            "description": "Whether the invoice is a draft"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderKeyFigures": {
        "type": "object",
        "description": "Provides key figures and status information for a sales order.",
        "additionalProperties": false,
        "required": [
          "salesOrderId",
          "alreadyPaidAmount",
          "creditsTotalGrossAmount",
          "deliveryStatus",
          "invoiceStatus",
          "invoicesTotalGrossAmount",
          "invoicesTotalNetAmount",
          "isCashOnDelivery",
          "isFullyReturned",
          "isLockedForDelivery",
          "packageCount",
          "paymentStatus",
          "shippedPackageCount",
          "stillToPay",
          "stillToPayWithoutCancellation",
          "totalGrossAmount",
          "totalNetAmount",
          "totalGrossAmountExcludingShipping",
          "totalNetAmountExcludingShipping",
          "totalQuantity",
          "shippingCostNet",
          "shippingCostGross",
          "vatAmounts"
        ],
        "properties": {
          "salesOrderId": {
            "description": "The unique identifier for the sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "alreadyPaidAmount": {
            "type": "number",
            "description": "The total amount already paid by the customer.",
            "format": "decimal"
          },
          "creditsTotalGrossAmount": {
            "type": "number",
            "description": "The total gross amount of all related credit notes.",
            "format": "decimal"
          },
          "dateOfPayment": {
            "type": "string",
            "description": "The date and time when the payment was received.",
            "format": "date-time"
          },
          "deliveryStatus": {
            "description": "The current delivery status of the sales order.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.DeliveryStatus"
          },
          "emailedDate": {
            "type": "string",
            "description": "The date and time when the order was sent via email.",
            "format": "date-time"
          },
          "invoiceNumbers": {
            "type": "string",
            "description": "A comma-separated string of associated invoice numbers."
          },
          "invoiceStatus": {
            "description": "The overall status of the associated invoices.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.InvoiceStatus"
          },
          "invoicesTotalGrossAmount": {
            "type": "number",
            "description": "The total gross amount of all associated invoices.",
            "format": "decimal"
          },
          "invoicesTotalNetAmount": {
            "type": "number",
            "description": "The total net amount of all associated invoices.",
            "format": "decimal"
          },
          "isCashOnDelivery": {
            "type": "boolean",
            "description": "Whether the order is handled via cash on delivery."
          },
          "isFullyReturned": {
            "type": "boolean",
            "description": "Whether all items in the order have been returned."
          },
          "isLockedForDelivery": {
            "type": "boolean",
            "description": "Whether the order is currently blocked for shipping."
          },
          "lastShippingDate": {
            "type": "string",
            "description": "The date and time of the last shipping activity.",
            "format": "date-time"
          },
          "packageCount": {
            "type": "integer",
            "description": "The total number of packages associated with this order.",
            "format": "int32"
          },
          "paymentMailDate": {
            "type": "string",
            "description": "The date and time when the payment confirmation email was sent.",
            "format": "date-time"
          },
          "paymentStatus": {
            "description": "The current payment status of the sales order.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.InvoicePaymentStatus"
          },
          "printedDate": {
            "type": "string",
            "description": "The date and time when the order documents were printed.",
            "format": "date-time"
          },
          "shippedPackageCount": {
            "type": "integer",
            "description": "The number of packages that have already been shipped.",
            "format": "int32"
          },
          "shippingMailDate": {
            "type": "string",
            "description": "The date and time when the shipping notification email was sent.",
            "format": "date-time"
          },
          "stillToPay": {
            "type": "number",
            "description": "The remaining amount to be paid for this order.",
            "format": "decimal"
          },
          "stillToPayWithoutCancellation": {
            "type": "number",
            "description": "The remaining amount to be paid, excluding any cancelled items.",
            "format": "decimal"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "The total gross amount of the sales order including shipping costs.",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "The total net amount of the sales order including shipping costs.",
            "format": "decimal"
          },
          "totalGrossAmountExcludingShipping": {
            "type": "number",
            "description": "The total gross amount of the sales order's articles only, excluding shipping costs.",
            "format": "decimal"
          },
          "totalNetAmountExcludingShipping": {
            "type": "number",
            "description": "The total net amount of the sales order's articles only, excluding shipping costs.",
            "format": "decimal"
          },
          "totalQuantity": {
            "type": "number",
            "description": "The total ordered quantity of the sales order: the sum of the quantities of all countable line items. Not every line item type counts; shipping and payment related items are excluded. 0 if the sales order has no countable line items.",
            "format": "decimal"
          },
          "shippingCostNet": {
            "type": "number",
            "description": "The net shipping cost.",
            "format": "decimal"
          },
          "shippingCostGross": {
            "type": "number",
            "description": "The gross shipping cost.",
            "format": "decimal"
          },
          "vatAmounts": {
            "type": "array",
            "description": "The VAT amounts grouped by tax rate.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderVatAmountPerRate"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderLineItem": {
        "type": "object",
        "description": "A single line item of a sales order",
        "additionalProperties": false,
        "required": [
          "id",
          "salesOrderId",
          "isReserved",
          "type",
          "lineItemType",
          "quantity",
          "salesPriceNet",
          "salesPriceGross",
          "discountPercent",
          "purchasePriceNet",
          "taxRate",
          "totalSalesPriceNet",
          "totalSalesPriceGross",
          "sortOrder",
          "hasUpload",
          "configurationItemType",
          "billOfMaterialsType"
        ],
        "properties": {
          "id": {
            "description": "Id of this position",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "salesOrderId": {
            "description": "Id of the SalesOrder this position belongs to",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sku": {
            "type": "string",
            "description": "Sku"
          },
          "isReserved": {
            "type": "boolean",
            "description": "Reserved status of that position"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "fnSku": {
            "type": "string",
            "description": "The SalesOrderLineItem FNSKU"
          },
          "type": {
            "description": "DEPRECATED: do not use; use LineItemType instead. Type of the sales order line item.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "lineItemType": {
            "description": "Type of the sales order line item.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The gross sales price per unit (excl. quantity and discount).",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The SalesOrderLineItem TaxClassId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The SalesOrderLineItem TaxCodeId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "note": {
            "type": "string",
            "description": "The SalesOrderLineItem Note"
          },
          "totalSalesPriceNet": {
            "type": "number",
            "description": "Total price net.",
            "format": "decimal"
          },
          "totalSalesPriceGross": {
            "type": "number",
            "description": "Total price gross.",
            "format": "decimal"
          },
          "sortOrder": {
            "type": "integer",
            "description": "Sort order.",
            "format": "int32"
          },
          "standardName": {
            "type": "string",
            "description": "The default name."
          },
          "hasUpload": {
            "type": "boolean",
            "description": "Information about an uploaded file."
          },
          "parentSalesOrderLineItemId": {
            "description": "Id of the parent line item if this is a child line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "configurationItemType": {
            "description": "Configuration item type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ConfigurationItemType"
          },
          "billOfMaterialsType": {
            "description": "Bill of materials type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.BillOfMaterialsType"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderListItem": {
        "type": "object",
        "description": "Single row of the salesorder overview table",
        "additionalProperties": false,
        "required": [
          "id",
          "assignedUserId",
          "createdByUserId",
          "currencyFactor",
          "deliveryCompleteStatus",
          "departureCountryCurrencyFactor",
          "departureCountryCurrencyIso",
          "externalSalesInvoiceType",
          "extraWeight",
          "isIntraCommunityDelivery",
          "isCancelled",
          "isPending",
          "itemDescriptionType",
          "languageIso",
          "needsOnlineSynchronisation",
          "readOnlyType",
          "salesOrderDate",
          "salesOrderNumber",
          "salesOrderStatus",
          "shippingPriority",
          "isExemptFromVat",
          "companyId",
          "salesInvoiceStatus",
          "customerGroupName",
          "salesInvoiceCorrectionTotalGrossAmount",
          "alreadyPaidAmount",
          "totalQuantity",
          "paymentStatus",
          "deliveryStatus",
          "deliverability",
          "platformType"
        ],
        "properties": {
          "id": {
            "description": "Sales order id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "accountsReceivableNumber": {
            "type": "integer",
            "description": "The SalesOrder AccountsReceivableNumber",
            "format": "int32"
          },
          "assignedUserId": {
            "description": "Assigned user ID",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "companyName": {
            "type": "string",
            "description": "Company name"
          },
          "createdByUserId": {
            "description": "Created by user ID",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "currencyFactor": {
            "type": "number",
            "description": "Currency factor",
            "format": "decimal"
          },
          "currencyIso": {
            "type": "string",
            "description": "Currency ISO code"
          },
          "customerId": {
            "description": "Customer ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "customerNumber": {
            "type": "string",
            "description": "The SalesOrder CustomerNumber"
          },
          "deliveryCompleteStatus": {
            "description": "The SalesOrder DeliveryCompleteStatus\n[DEPRECATED since=2 replacement=DeliveryStatus removal=3] Redundant.",
            "deprecated": true,
            "x-deprecatedMessage": "Deprecated since API v2: Redundant. Use 'DeliveryStatus' instead. Planned removal: API v3.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.DeliveryCompleteStatus"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "The SalesOrder CountryISO"
          },
          "departureCountryCurrencyFactor": {
            "type": "number",
            "description": "The SalesOrder CurrencyFactor",
            "format": "decimal"
          },
          "departureCountryCurrencyIso": {
            "type": "string",
            "description": "The SalesOrder CurrencyISO"
          },
          "ebayUsername": {
            "type": "string",
            "description": "The SalesOrder EbayUsername"
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "The SalesOrder",
            "format": "date-time"
          },
          "externalSalesInvoiceType": {
            "description": "The SalesOrder ExternalInvoiceType",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType"
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder"
          },
          "extraWeight": {
            "type": "number",
            "description": "The SalesOrder ExtraWeight",
            "format": "decimal"
          },
          "isIntraCommunityDelivery": {
            "type": "boolean",
            "description": "SpacialTaxTreatment IntraCommunityDelivery"
          },
          "isCancelled": {
            "type": "boolean",
            "description": "Indicates if the order is cancelled"
          },
          "isPending": {
            "type": "boolean",
            "description": "Indicates if the order is pending"
          },
          "itemDescriptionType": {
            "description": "Item description type",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "languageIso": {
            "type": "string",
            "description": "Language ISO code"
          },
          "lastShippingDate": {
            "type": "string",
            "description": "The latest SalesOrder ShippingDate",
            "format": "date-time"
          },
          "needsOnlineSynchronisation": {
            "type": "boolean",
            "description": "The SalesOrder NeedsOnlineSynchronization"
          },
          "onHoldReasonId": {
            "description": "On hold reason ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "paymentMethodId": {
            "description": "Payment method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The SalesOrder PaymentDueDateInDays",
            "format": "int32"
          },
          "processColourCode": {
            "type": "integer",
            "description": "Process colour code",
            "format": "int32"
          },
          "processColourName": {
            "type": "string",
            "description": "Process colour name"
          },
          "processStatusName": {
            "type": "string",
            "description": "Process status name"
          },
          "readOnlyType": {
            "description": "Read only type indicator",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "salesChannelId": {
            "type": "string",
            "description": "Sales channel ID"
          },
          "platformId": {
            "description": "DEPRECATED: do not use; use salesChannelId instead. Raw platform key (kPlattform); kept only as the source for salesChannelId.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PlattformKey"
          },
          "shopId": {
            "description": "DEPRECATED: do not use; use salesChannelId instead. Raw shop key (kShop); kept only as the source for salesChannelId.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ShopKey"
          },
          "salesOrderDate": {
            "type": "string",
            "description": "The date when the order was created",
            "format": "date-time"
          },
          "salesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder SalesOrderNumber"
          },
          "salesOrderStatus": {
            "type": "integer",
            "description": "Sales order status",
            "format": "int32"
          },
          "shippingMethodId": {
            "description": "Shipping method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "shippingPriority": {
            "type": "integer",
            "description": "The SalesOrder ShippingPriority",
            "format": "int32"
          },
          "shopPaymentModule": {
            "type": "string",
            "description": "The SalesOrder ShopPaymentModule"
          },
          "taxSetting": {
            "description": "The SalesOrder TaxSetting",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "The total gross amount of the order",
            "format": "decimal"
          },
          "isExemptFromVat": {
            "type": "boolean",
            "description": "SpacialTaxTreatment VATFree"
          },
          "companyId": {
            "description": "The company ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "onlineSalesOrderId": {
            "type": "integer",
            "description": "The internet order ID",
            "format": "int32"
          },
          "comment": {
            "type": "string",
            "description": "Comment/Annotation"
          },
          "printDate": {
            "type": "string",
            "description": "Print date",
            "format": "date-time"
          },
          "mailDate": {
            "type": "string",
            "description": "Mail date",
            "format": "date-time"
          },
          "paymentMailDate": {
            "type": "string",
            "description": "Payment mail date",
            "format": "date-time"
          },
          "dateOfPayment": {
            "type": "string",
            "description": "Date of payment",
            "format": "date-time"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date",
            "format": "date-time"
          },
          "onHoldReasonName": {
            "type": "string",
            "description": "On hold reason name"
          },
          "salesInvoiceStatus": {
            "description": "Sales invoice status",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.InvoiceStatus"
          },
          "billingAddressCompany": {
            "type": "string",
            "description": "Billing address company"
          },
          "billingAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "Billing address additional company line"
          },
          "billingAddressSalutation": {
            "type": "string",
            "description": "Billing address salutation"
          },
          "billingAddressTitle": {
            "type": "string",
            "description": "Billing address title"
          },
          "billingAddressFirstName": {
            "type": "string",
            "description": "Billing address first name"
          },
          "billingAddressLastName": {
            "type": "string",
            "description": "Billing address last name"
          },
          "billingAddressStreet": {
            "type": "string",
            "description": "Billing address street"
          },
          "billingAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Billing address additional address line"
          },
          "billingAddressPostalCode": {
            "type": "string",
            "description": "Billing address postal code"
          },
          "billingAddressCity": {
            "type": "string",
            "description": "Billing address city"
          },
          "billingAddressCountryName": {
            "type": "string",
            "description": "Billing address country name"
          },
          "billingAddressPhoneNumber": {
            "type": "string",
            "description": "Billing address phone number"
          },
          "billingAddressMobilePhoneNumber": {
            "type": "string",
            "description": "Billing address mobile phone number"
          },
          "billingAddressFax": {
            "type": "string",
            "description": "Billing address fax"
          },
          "billingAddressEmailAddress": {
            "type": "string",
            "description": "Billing address email address"
          },
          "billingAddressPostId": {
            "type": "string",
            "description": "Billing address post ID"
          },
          "billingAddressState": {
            "type": "string",
            "description": "Billing address state"
          },
          "billingAddressCountryIso": {
            "type": "string",
            "description": "Billing address country ISO"
          },
          "shipmentAddressCompany": {
            "type": "string",
            "description": "Shipment address company"
          },
          "shipmentAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "Shipment address additional company line"
          },
          "shipmentAddressSalutation": {
            "type": "string",
            "description": "Shipment address salutation"
          },
          "shipmentAddressTitle": {
            "type": "string",
            "description": "Shipment address title"
          },
          "shipmentAddressFirstName": {
            "type": "string",
            "description": "Shipment address first name"
          },
          "shipmentAddressLastName": {
            "type": "string",
            "description": "Shipment address last name"
          },
          "shipmentAddressStreet": {
            "type": "string",
            "description": "Shipment address street"
          },
          "shipmentAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Shipment address additional address line"
          },
          "shipmentAddressPostalCode": {
            "type": "string",
            "description": "Shipment address postal code"
          },
          "shipmentAddressCity": {
            "type": "string",
            "description": "Shipment address city"
          },
          "shipmentAddressCountryName": {
            "type": "string",
            "description": "Shipment address country name"
          },
          "shipmentAddressPhoneNumber": {
            "type": "string",
            "description": "Shipment address phone number"
          },
          "shipmentAddressMobilePhoneNumber": {
            "type": "string",
            "description": "Shipment address mobile phone number"
          },
          "shipmentAddressFax": {
            "type": "string",
            "description": "Shipment address fax"
          },
          "shipmentAddressEmailAddress": {
            "type": "string",
            "description": "Shipment address email address"
          },
          "shipmentAddressPostId": {
            "type": "string",
            "description": "Shipment address post ID"
          },
          "shipmentAddressState": {
            "type": "string",
            "description": "Shipment address state"
          },
          "shipmentAddressCountryIso": {
            "type": "string",
            "description": "Shipment address country ISO"
          },
          "assignedUserName": {
            "type": "string",
            "description": "Assigned user name"
          },
          "salesChannelName": {
            "type": "string",
            "description": "Sales channel name"
          },
          "customerGroupName": {
            "type": "string",
            "description": "Customer group name"
          },
          "paymentMethodName": {
            "type": "string",
            "description": "Payment method name"
          },
          "shippingMethodName": {
            "type": "string",
            "description": "Shipping method name"
          },
          "shippingCountryTotalGrossAmount": {
            "type": "number",
            "description": "Shipping country total gross amount",
            "format": "decimal"
          },
          "customerComment": {
            "type": "string",
            "description": "Customer comment"
          },
          "paymentReference": {
            "type": "string",
            "description": "Payment reference"
          },
          "salesInvoiceCorrectionTotalGrossAmount": {
            "type": "number",
            "description": "Credits total gross amount",
            "format": "decimal"
          },
          "alreadyPaidAmount": {
            "type": "number",
            "description": "Already paid amount",
            "format": "decimal"
          },
          "stillToPay": {
            "type": "number",
            "description": "Still to pay amount",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Total net amount",
            "format": "decimal"
          },
          "totalQuantity": {
            "type": "number",
            "description": "The total ordered quantity of the sales order: the sum of the quantities of all countable line items. Not every line item type counts; shipping and payment related items are excluded. 0 if the sales order has no countable line items.",
            "format": "decimal"
          },
          "wMSLocked": {
            "type": "integer",
            "description": "WMS locked",
            "format": "int32"
          },
          "wMSPartialShipment": {
            "type": "integer",
            "description": "WMS partial shipment",
            "format": "int32"
          },
          "wMSPrePicking": {
            "type": "integer",
            "description": "WMS pre picking",
            "format": "int32"
          },
          "paymentStatus": {
            "description": "Payment status",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.InvoicePaymentStatus"
          },
          "deliveryStatus": {
            "description": "Delivery status",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.DeliveryStatus"
          },
          "deliverability": {
            "description": "Indicates whether and to what extent the sales order is available for delivery.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.Deliverability"
          },
          "platformType": {
            "type": "integer",
            "description": "Platform type",
            "format": "int32"
          },
          "salesInvoiceNumbers": {
            "type": "string",
            "description": "Sales invoice numbers"
          },
          "cancelledDate": {
            "type": "string",
            "description": "Cancelled date",
            "format": "date-time"
          },
          "cancellationComment": {
            "type": "string",
            "description": "Cancellation comment"
          },
          "cancellationUserName": {
            "type": "string",
            "description": "Cancellation user name"
          },
          "cancellationReason": {
            "type": "string",
            "description": "Cancellation reason"
          },
          "amazonUserId": {
            "type": "integer",
            "description": "Amazon user ID",
            "format": "int32"
          },
          "createdByUserName": {
            "type": "string",
            "description": "Created by user name"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderPaymentDetails": {
        "type": "object",
        "description": "Payment details for a sales order",
        "additionalProperties": false,
        "required": [
          "cashDiscount",
          "cashDiscountDays",
          "financingCosts",
          "paymentDueDateInDays",
          "currencyFactor"
        ],
        "properties": {
          "cashDiscount": {
            "type": "number",
            "description": "The SalesOrder CashDiscount",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The SalesOrder CashDiscountDays",
            "format": "int32"
          },
          "financingCosts": {
            "type": "number",
            "description": "The SalesOrder FinancingCosts",
            "format": "decimal"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The SalesOrder PaymentDueDateInDays",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "The currency ISO code"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency factor",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderPaymentInfo": {
        "type": "object",
        "description": "Payment information and bank details for a sales order",
        "additionalProperties": false,
        "required": [
          "paymentInfoType"
        ],
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo AccountHolder"
          },
          "bankName": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo BankName"
          },
          "bIC": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo BIC"
          },
          "creditorId": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo CreditorId"
          },
          "dueDate": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo DueDate",
            "format": "date-time"
          },
          "endToEndId": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo EndToEndId"
          },
          "iBAN": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo IBAN"
          },
          "mandateReference": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo MandateReference"
          },
          "paymentInfo": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo PaymentInfo"
          },
          "paymentInfoType": {
            "type": "integer",
            "description": "The SalesOrderPaymentInfo PaymentInfoType",
            "format": "int32"
          },
          "paymentReference": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo PaymentReference"
          },
          "referenceEmail": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo ReferenceEmail"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderShippingDetails": {
        "type": "object",
        "description": "Shipping details for a sales order",
        "additionalProperties": false,
        "required": [
          "extraWeight",
          "maxDeliveryDays",
          "shippingPriority"
        ],
        "properties": {
          "deliveryFromDate": {
            "type": "string",
            "description": "The SalesOrder DeliveryFromDate",
            "format": "date-time"
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "The SalesOrder EstimatedDeliveryDate",
            "format": "date-time"
          },
          "extraWeight": {
            "type": "number",
            "description": "The SalesOrder ExtraWeight",
            "format": "decimal"
          },
          "maxDeliveryDays": {
            "type": "integer",
            "description": "The SalesOrder MaxDeliveryDays",
            "format": "int32"
          },
          "shippingDate": {
            "type": "string",
            "description": "The SalesOrder ShippingDate",
            "format": "date-time"
          },
          "shippingPriority": {
            "type": "integer",
            "description": "The SalesOrder ShippingPriority",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderTaxDetails": {
        "type": "object",
        "description": "Tax details for a sales order",
        "additionalProperties": false,
        "required": [
          "taxReference",
          "specialTaxTreatment",
          "taxSetting"
        ],
        "properties": {
          "taxReference": {
            "description": "The SalesOrder TaxReference. This setting controls which data is used during tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          },
          "specialTaxTreatment": {
            "description": "The SalesOrder SpecialTaxTreatment",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "description": "The SalesOrder TaxSetting",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderText": {
        "type": "object",
        "description": "Text and comment information for a sales order",
        "additionalProperties": false,
        "properties": {
          "comment": {
            "type": "string",
            "description": "The SalesOrderText Comment"
          },
          "customerComment": {
            "type": "string",
            "description": "The SalesOrderText CustomerComment"
          },
          "printText": {
            "type": "string",
            "description": "The SalesOrderText PrintText"
          },
          "processStatus": {
            "type": "string",
            "description": "The SalesOrderText ProcessStatus"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderVatAmountPerRate": {
        "type": "object",
        "description": "VAT amount for a specific tax rate.",
        "additionalProperties": false,
        "required": [
          "taxRate",
          "vatAmount"
        ],
        "properties": {
          "taxRate": {
            "type": "number",
            "description": "The tax rate in percent (e.g. 19.0 for 19% VAT).",
            "format": "decimal"
          },
          "vatAmount": {
            "type": "number",
            "description": "The VAT amount for this tax rate.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandRequest": {
        "type": "object",
        "description": "Modifies an existing sales order. - Request",
        "additionalProperties": false,
        "properties": {
          "disableAutomaticWorkflows": {
            "type": "boolean",
            "description": "Indicates whether automatic workflows should be disabled for this sales order."
          },
          "useBillingAddressAsShipmentAddress": {
            "type": "boolean",
            "description": "Indicates whether the billing address should be used as the shipment address."
          },
          "cartonItemId": {
            "description": "The SalesOrder CartonItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "companyId": {
            "description": "Unique ID of the company.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "The ID of the customer associated with the sales order.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "onHoldReasonId": {
            "description": "The SalesOrder OnHoldReasonId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "paymentMethodId": {
            "description": "The ID of the payment method for the sales order.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "processColourId": {
            "description": "The SalesOrder ProcessColourId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "processStatusId": {
            "description": "The SalesOrder ProcessStatusId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorgangsstatusKey"
          },
          "shippingMethodId": {
            "description": "The ID of the shipping method for the sales order.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "billingAddress": {
            "description": "SalesOrderBillingAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderAddress"
          },
          "shipmentAddress": {
            "description": "SalesOrderShipmentAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderAddress"
          },
          "departureCountry": {
            "description": "DepartureCountry",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderDepartureCountry"
          },
          "externalDetails": {
            "description": "ExternalDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderExternalDetails"
          },
          "lineItems": {
            "type": "array",
            "description": "The line items included in the sales order.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderLineItem"
            }
          },
          "paymentDetails": {
            "description": "PaymentDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderPaymentDetails"
          },
          "paymentInfo": {
            "description": "SalesOrderPaymentInfo",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderPaymentInfo"
          },
          "shippingDetails": {
            "description": "ShippingDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderShippingDetails"
          },
          "taxDetails": {
            "description": "TaxDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderTaxDetails"
          },
          "text": {
            "description": "SalesOrderText",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderText"
          },
          "customerSalesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder CustomerSalesOrderNumber"
          },
          "itemDescriptionType": {
            "type": "integer",
            "description": "The SalesOrder ItemDescriptionType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "languageIso": {
            "type": "string",
            "description": "The SalesOrder LanguageISO"
          },
          "readOnlyType": {
            "type": "integer",
            "description": "The SalesOrder ReadOnlyType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "salesOrderDate": {
            "type": "string",
            "description": "The SalesOrder Date",
            "format": "date-time"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesOrder VATId"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandResponse": {
        "type": "object",
        "description": "Modifies an existing sales order. - Response",
        "additionalProperties": false,
        "required": [
          "salesOrderId"
        ],
        "properties": {
          "salesOrderId": {
            "description": "Unique ID of the modified sales order.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderAddress": {
        "type": "object",
        "description": "address details for the sales order.",
        "additionalProperties": false,
        "properties": {
          "salutation": {
            "type": "string",
            "description": "The SalesOrderAddress Salutation"
          },
          "title": {
            "type": "string",
            "description": "The SalesOrderAddress Title"
          },
          "firstName": {
            "type": "string",
            "description": "The SalesOrderAddress FirstName"
          },
          "lastName": {
            "type": "string",
            "description": "The SalesOrderAddress LastName"
          },
          "company": {
            "type": "string",
            "description": "The SalesOrderAddress Company"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The SalesOrderAddress AdditionalCompanyLine"
          },
          "street": {
            "type": "string",
            "description": "The SalesOrderAddress Street"
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "The SalesOrderAddress AdditionalAddressLine"
          },
          "city": {
            "type": "string",
            "description": "The SalesOrderAddress City"
          },
          "postalCode": {
            "type": "string",
            "description": "The SalesOrderAddress PostalCode"
          },
          "state": {
            "type": "string",
            "description": "The SalesOrderAddress State"
          },
          "countryIso": {
            "type": "string",
            "description": "The SalesOrderAddress CountryISO"
          },
          "postId": {
            "type": "string",
            "description": "The SalesOrderAddress PostId"
          },
          "emailAddress": {
            "type": "string",
            "description": "The SalesOrderAddress EmailAddress"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The SalesOrderAddress PhoneNumber"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The SalesOrderAddress MobilePhoneNumber"
          },
          "fax": {
            "type": "string",
            "description": "The SalesOrderAddress Fax"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesOrderAddress VAT ID"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderDepartureCountry": {
        "type": "object",
        "description": "Departure country information for the sales order to be modified.",
        "additionalProperties": false,
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the departure country."
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales order departure country currency iso"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales order departure country currency factor",
            "format": "decimal"
          },
          "stateCode": {
            "type": "string",
            "description": "The SalesOrder StateCode"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderExternalDetails": {
        "type": "object",
        "description": "External details for the sales order to be modified.",
        "additionalProperties": false,
        "properties": {
          "externalCreatedDate": {
            "type": "string",
            "description": "The SalesOrder ExternalCreatedDate",
            "format": "date-time"
          },
          "externalInvoiceType": {
            "type": "integer",
            "description": "The SalesOrder ExternalInvoiceType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType"
          },
          "externalSalesOrderNumber": {
            "type": "string",
            "description": "The SalesOrder ExternalSalesOrderNumber"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderLineItem": {
        "type": "object",
        "description": "Line item details for the sales order line item to be modified.",
        "additionalProperties": false,
        "properties": {
          "salesOrderLineItemId": {
            "description": "Unique ID of the sales order line item to be modified.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "parentSalesOrderLineItemId": {
            "description": "The SalesOrderLineItem ParentSalesOrderLineItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "taxClassId": {
            "description": "The SalesOrderLineItem TaxClassId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The SalesOrderLineItem TaxCodeId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "billOfMaterialsType": {
            "type": "integer",
            "description": "The SalesOrderLineItem BillOfMaterialsType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.BillOfMaterialsType"
          },
          "configurationItemType": {
            "type": "integer",
            "description": "The SalesOrderLineItem ConfigurationItemType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ConfigurationItemType"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "fnSku": {
            "type": "string",
            "description": "The SalesOrderLineItem FNSKU"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "note": {
            "type": "string",
            "description": "The SalesOrderLineItem Note"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "DEPRECATED: do not use; use SalesPriceNet instead.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "sku": {
            "type": "string",
            "description": "SKU of the sales order line item."
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "type": {
            "type": "integer",
            "description": "DEPRECATED: do not use; use LineItemType instead.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "lineItemType": {
            "type": "integer",
            "description": "Type of the sales order line item.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "variants": {
            "type": "array",
            "description": "List of SalesOrderLineItemVariant",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderLineItemVariant"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderLineItemVariant": {
        "type": "object",
        "description": "Sales order line item variant details for the sales order to be modified.",
        "additionalProperties": false,
        "required": [
          "name",
          "itemVariantId"
        ],
        "properties": {
          "extraWeight": {
            "type": "number",
            "description": "The SalesOrderLineItemVariant ExtraWeight",
            "format": "decimal"
          },
          "name": {
            "type": "string",
            "description": "The SalesOrderLineItemVariant Name"
          },
          "surchargeNet": {
            "type": "number",
            "description": "The SalesOrderLineItemVariant SurchargeNet",
            "format": "decimal"
          },
          "value": {
            "type": "string",
            "description": "The SalesOrderLineItemVariant Value"
          },
          "itemVariantId": {
            "description": "The SalesOrderLineItemVariant ItemVariantId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          },
          "itemVariantValueId": {
            "description": "The SalesOrderLineItemVariant ItemVariantValueId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderPaymentDetails": {
        "type": "object",
        "description": "Payment details for the sales order to be modified.",
        "additionalProperties": false,
        "properties": {
          "cashDiscount": {
            "type": "number",
            "description": "The SalesOrder CashDiscount",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The SalesOrder CashDiscountDays",
            "format": "int32"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The SalesOrder PaymentDueDateInDays",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales order currency iso"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales order currency factor",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderPaymentInfo": {
        "type": "object",
        "description": "Payment info for the sales order to be modified.",
        "additionalProperties": false,
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo AccountHolder"
          },
          "bankName": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo BankName"
          },
          "bIC": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo BIC"
          },
          "creditorId": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo CreditorId"
          },
          "dueDate": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo DueDate",
            "format": "date-time"
          },
          "endToEndId": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo EndToEndId"
          },
          "iBAN": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo IBAN"
          },
          "mandateReference": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo MandateReference"
          },
          "paymentInfo": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo PaymentInfo"
          },
          "paymentInfoType": {
            "type": "integer",
            "description": "The SalesOrderPaymentInfo PaymentInfoType",
            "format": "int32"
          },
          "paymentReference": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo PaymentReference"
          },
          "referenceEmail": {
            "type": "string",
            "description": "The SalesOrderPaymentInfo ReferenceEmail"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderShippingDetails": {
        "type": "object",
        "description": "Shipping details for the sales order to be modified.",
        "additionalProperties": false,
        "properties": {
          "deliveryFromDate": {
            "type": "string",
            "description": "The SalesOrder DeliveryFromDate",
            "format": "date-time"
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "The SalesOrder EstimatedDeliveryDate",
            "format": "date-time"
          },
          "extraWeight": {
            "type": "number",
            "description": "The SalesOrder ExtraWeight",
            "format": "decimal"
          },
          "maxDeliveryDays": {
            "type": "integer",
            "description": "The SalesOrder MaxDeliveryDays",
            "format": "int32"
          },
          "shippingDate": {
            "type": "string",
            "description": "The SalesOrder ShippingDate",
            "format": "date-time"
          },
          "shippingPriority": {
            "type": "integer",
            "description": "The SalesOrder ShippingPriority",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderTaxDetails": {
        "type": "object",
        "description": "Tax details for the sales order to be modified.",
        "additionalProperties": false,
        "properties": {
          "taxReference": {
            "type": "integer",
            "description": "The SalesOrder TaxReference. This setting controls which data is used during tax calculation.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          },
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The SalesOrder SpecialTaxTreatment",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "type": "integer",
            "description": "The SalesOrder TaxSetting",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderText": {
        "type": "object",
        "description": "Text details for the sales order to be modified.",
        "additionalProperties": false,
        "properties": {
          "comment": {
            "type": "string",
            "description": "The SalesOrderText Comment"
          },
          "customerComment": {
            "type": "string",
            "description": "The SalesOrderText CustomerComment"
          },
          "printText": {
            "type": "string",
            "description": "The SalesOrderText PrintText"
          },
          "processStatus": {
            "type": "string",
            "description": "The SalesOrderText ProcessStatus"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CancelSalesQuotationCommandRequest": {
        "type": "object",
        "description": "Cancels a sales quotation. - Request",
        "additionalProperties": false,
        "required": [
          "cancellationReasonId"
        ],
        "properties": {
          "cancellationReasonId": {
            "description": "The reason for cancelling the quotation.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.AuftragStornogrundKey"
          },
          "cancellationComment": {
            "type": "string",
            "description": "An optional comment explaining the cancellation."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationAddress": {
        "type": "object",
        "description": "Billing address details for the sales quotation.",
        "additionalProperties": false,
        "required": [
          "street",
          "city",
          "countryIso"
        ],
        "properties": {
          "salutation": {
            "type": "string",
            "description": "The SalesQuotationAddress Salutation"
          },
          "title": {
            "type": "string",
            "description": "The SalesQuotationAddress Title"
          },
          "firstName": {
            "type": "string",
            "description": "The SalesQuotationAddress FirstName"
          },
          "lastName": {
            "type": "string",
            "description": "The SalesQuotationAddress LastName"
          },
          "company": {
            "type": "string",
            "description": "The SalesQuotationAddress Company"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The SalesQuotationAddress AdditionalCompanyLine"
          },
          "street": {
            "type": "string",
            "description": "The SalesQuotationAddress Street"
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "The SalesQuotationAddress AdditionalAddressLine"
          },
          "city": {
            "type": "string",
            "description": "The SalesQuotationAddress City"
          },
          "postalCode": {
            "type": "string",
            "description": "The SalesQuotationAddress PostalCode"
          },
          "state": {
            "type": "string",
            "description": "The SalesQuotationAddress State"
          },
          "countryIso": {
            "type": "string",
            "description": "The SalesQuotationAddress CountryISO",
            "maxLength": 2,
            "minLength": 2
          },
          "postId": {
            "type": "string",
            "description": "The SalesQuotationAddress PostId"
          },
          "emailAddress": {
            "type": "string",
            "description": "The SalesQuotationAddress EmailAddress"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The SalesQuotationAddress PhoneNumber"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The SalesQuotationAddress MobilePhoneNumber"
          },
          "fax": {
            "type": "string",
            "description": "The SalesQuotationAddress Fax"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationDepartureCountry": {
        "type": "object",
        "description": "Defines the departure country information for a sales quotation during its creation.",
        "additionalProperties": false,
        "required": [
          "countryIso",
          "currencyIso"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the departure country.",
            "maxLength": 2,
            "minLength": 2
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales quotation departure country currency iso",
            "maxLength": 3,
            "minLength": 3
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales quotation departure country currency factor",
            "format": "decimal"
          },
          "state": {
            "type": "string",
            "description": "DEPRECATED: do not use; use StateCode instead. The SalesQuotation State."
          },
          "stateCode": {
            "type": "string",
            "description": "The SalesQuotation State code"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationExternalDetails": {
        "type": "object",
        "description": "External details for the sales quotation.",
        "additionalProperties": false,
        "properties": {
          "externalCreatedDate": {
            "type": "string",
            "description": "The SalesQuotation ExternalCreatedDate",
            "format": "date-time"
          },
          "externalInvoiceType": {
            "type": "integer",
            "description": "The SalesQuotation ExternalInvoiceType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType"
          },
          "externalSalesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation ExternalSalesQuotationNumber"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationLineItem": {
        "type": "object",
        "description": "Line item details for the new sales quotation.",
        "additionalProperties": false,
        "properties": {
          "itemId": {
            "description": "Unique ID to identify an item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "parentSalesQuotationLineItemId": {
            "description": "The SalesQuotationLineItem ParentSalesQuotationLineItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "taxClassId": {
            "description": "The SalesQuotationLineItem TaxClassId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The SalesQuotationLineItem TaxCodeId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "billOfMaterialsType": {
            "type": "integer",
            "description": "The SalesQuotationLineItem BillOfMaterialsType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.BillOfMaterialsType"
          },
          "configurationItemType": {
            "type": "integer",
            "description": "The SalesQuotationLineItem ConfigurationItemType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ConfigurationItemType"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "fnSku": {
            "type": "string",
            "description": "The SalesQuotationLineItem FNSKU"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "note": {
            "type": "string",
            "description": "The SalesQuotationLineItem Note"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "sku": {
            "type": "string",
            "description": "SKU of the sales quotation line item."
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "type": {
            "type": "integer",
            "description": "DEPRECATED: do not use; use LineItemType instead.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "lineItemType": {
            "type": "integer",
            "description": "Type of the sales quotation line item.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "variants": {
            "type": "array",
            "description": "List of SalesQuotationLineItemVariant",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationLineItemVariant"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationLineItemVariant": {
        "type": "object",
        "description": "Sales quotation line item variant details.",
        "additionalProperties": false,
        "required": [
          "name",
          "itemVariantId"
        ],
        "properties": {
          "extraWeight": {
            "type": "number",
            "description": "The SalesQuotationLineItemVariant ExtraWeight",
            "format": "decimal"
          },
          "name": {
            "type": "string",
            "description": "The SalesQuotationLineItemVariant Name"
          },
          "surchargeNet": {
            "type": "number",
            "description": "The SalesQuotationLineItemVariant SurchargeNet",
            "format": "decimal"
          },
          "value": {
            "type": "string",
            "description": "The SalesQuotationLineItemVariant Value"
          },
          "itemVariantId": {
            "description": "The SalesQuotationLineItemVariant ItemVariantId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          },
          "itemVariantValueId": {
            "description": "The SalesQuotationLineItemVariant ItemVariantValueId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationPaymentDetails": {
        "type": "object",
        "description": "Payment details for the new sales quotation.",
        "additionalProperties": false,
        "required": [
          "currencyIso"
        ],
        "properties": {
          "cashDiscount": {
            "type": "number",
            "description": "The SalesQuotation CashDiscount",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The SalesQuotation CashDiscountDays",
            "format": "int32"
          },
          "financingCosts": {
            "type": "number",
            "description": "The SalesQuotation FinancingCosts",
            "format": "decimal"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The SalesQuotation PaymentDueDateInDays",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales quotation departure country currency iso",
            "maxLength": 3,
            "minLength": 3
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales quotation departure country currency factor",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationPaymentInfo": {
        "type": "object",
        "description": "Payment info for the new sales quotation.",
        "additionalProperties": false,
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo AccountHolder"
          },
          "bankName": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo BankName"
          },
          "bIC": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo BIC"
          },
          "creditorId": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo CreditorId"
          },
          "dueDate": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo DueDate",
            "format": "date-time"
          },
          "endToEndId": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo EndToEndId"
          },
          "iBAN": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo IBAN"
          },
          "mandateReference": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo MandateReference"
          },
          "paymentInfo": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo PaymentInfo"
          },
          "paymentReference": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo PaymentReference"
          },
          "referenceEmail": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo ReferenceEmail"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationShippingDetails": {
        "type": "object",
        "description": "Shipping details for the new sales quotation.",
        "additionalProperties": false,
        "properties": {
          "deliveryFromDate": {
            "type": "string",
            "description": "The SalesQuotation DeliveryFromDate",
            "format": "date-time"
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "The SalesQuotation EstimatedDeliveryDate",
            "format": "date-time"
          },
          "extraWeight": {
            "type": "number",
            "description": "The SalesQuotation ExtraWeight",
            "format": "decimal"
          },
          "maxDeliveryDays": {
            "type": "integer",
            "description": "The SalesQuotation MaxDeliveryDays",
            "format": "int32"
          },
          "shippingDate": {
            "type": "string",
            "description": "The SalesQuotation ShippingDate",
            "format": "date-time"
          },
          "shippingPriority": {
            "type": "integer",
            "description": "The SalesQuotation ShippingPriority",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationTaxDetails": {
        "type": "object",
        "description": "Tax details for the new sales quotation.",
        "additionalProperties": false,
        "properties": {
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The SalesQuotation SpecialTaxTreatment",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "type": "integer",
            "description": "The SalesQuotation TaxSetting",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationText": {
        "type": "object",
        "description": "Text details for the new sales quotation.",
        "additionalProperties": false,
        "properties": {
          "comment": {
            "type": "string",
            "description": "The SalesQuotationText Comment"
          },
          "customerComment": {
            "type": "string",
            "description": "The SalesQuotationText CustomerComment"
          },
          "printText": {
            "type": "string",
            "description": "The SalesQuotationText PrintText"
          },
          "processStatus": {
            "type": "string",
            "description": "The SalesQuotationText ProcessStatus"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateSalesOrderFromSalesQuotationCommandResponse": {
        "type": "object",
        "description": "Create a new sales order for a sales quotation - Response",
        "additionalProperties": false,
        "required": [
          "salesOrderId"
        ],
        "properties": {
          "salesOrderId": {
            "description": "The ID of the created sales order",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateSalesQuotationCommandRequest": {
        "type": "object",
        "description": "Creates a new sales quotation. - Request",
        "additionalProperties": false,
        "required": [
          "companyId",
          "customerId",
          "billingAddress",
          "departureCountry",
          "lineItems",
          "paymentDetails",
          "languageIso",
          "vatId"
        ],
        "properties": {
          "disableAutomaticWorkflows": {
            "type": "boolean",
            "description": "Indicates whether automatic workflows should be disabled for this sales quotation."
          },
          "useBillingAddressAsShipmentAddress": {
            "type": "boolean",
            "description": "Indicates whether the billing address should be used as the shipment address. If no shipment address is provided and the flag ist not set, the billing address will also be used as shipment address. If the shipment address is provided, this flag will be ignored."
          },
          "cartonItemId": {
            "description": "The SalesQuotation CartonItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "companyId": {
            "description": "The SalesQuotation CompanyId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "The customer ID.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "onHoldReasonId": {
            "description": "The SalesQuotation OnHoldReasonId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "paymentMethodId": {
            "description": "The SalesQuotation PaymentMethodId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "processColourId": {
            "description": "The SalesQuotation ProcessColourId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "processStatusId": {
            "description": "The SalesQuotation ProcessStatusId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorgangsstatusKey"
          },
          "billingAddress": {
            "description": "SalesQuotationBillingAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationAddress"
          },
          "departureCountry": {
            "description": "DepartureCountry",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationDepartureCountry"
          },
          "externalDetails": {
            "description": "ExternalDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationExternalDetails"
          },
          "lineItems": {
            "type": "array",
            "description": "List of SalesQuotationLineItem",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationLineItem"
            }
          },
          "paymentDetails": {
            "description": "PaymentDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationPaymentDetails"
          },
          "paymentInfo": {
            "description": "SalesQuotationPaymentInfo",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationPaymentInfo"
          },
          "shipmentAddress": {
            "description": "SalesQuotationShipmentAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationAddress"
          },
          "shippingDetails": {
            "description": "ShippingDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationShippingDetails"
          },
          "taxDetails": {
            "description": "TaxDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationTaxDetails"
          },
          "text": {
            "description": "SalesQuotationText",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateCreateSalesQuotationText"
          },
          "customerSalesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation CustomerSalesQuotationNumber"
          },
          "customerVatId": {
            "type": "string",
            "description": "The VAT ID of the customer."
          },
          "itemDescriptionType": {
            "type": "integer",
            "description": "The SalesQuotation ItemDescriptionType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "languageIso": {
            "type": "string",
            "description": "The SalesQuotation LanguageISO",
            "maxLength": 5,
            "minLength": 2
          },
          "readOnlyType": {
            "type": "integer",
            "description": "The SalesQuotation ReadOnlyType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "salesQuotationDate": {
            "type": "string",
            "description": "The SalesQuotation Date",
            "format": "date-time"
          },
          "salesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation SalesQuotationNumber"
          },
          "shippingMethodId": {
            "description": "The SalesQuotation ShippingMethodId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesQuotation VATId"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.CreateSalesQuotationCommandResponse": {
        "type": "object",
        "description": "Creates a new sales quotation. - Response",
        "additionalProperties": false,
        "required": [
          "salesQuotationId"
        ],
        "properties": {
          "salesQuotationId": {
            "description": "Unique ID of the newly created sales quotation.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotation": {
        "type": "object",
        "description": "A single sales quotation.",
        "additionalProperties": false,
        "required": [
          "id",
          "isCancelled",
          "isPending",
          "itemDescriptionType",
          "readOnlyType",
          "salesQuotationStatus",
          "salesQuotationNumber",
          "departureCountry",
          "externalDetails",
          "paymentDetails",
          "shippingDetails",
          "taxDetails"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a sales quoation.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "customerId": {
            "description": "Customer this SalesQuotation belongs to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "paymentInfo": {
            "description": "SalesQuotationPaymentInfo",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationPaymentInfo"
          },
          "text": {
            "description": "SalesQuotationText",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationText"
          },
          "salesQuotationDate": {
            "type": "string",
            "description": "The SalesQuotation Date",
            "format": "date-time"
          },
          "isCancelled": {
            "type": "boolean",
            "description": "Indicates if the quotation has been cancelled."
          },
          "isPending": {
            "type": "boolean",
            "description": "The SalesQuotation IsPending"
          },
          "itemDescriptionType": {
            "description": "The SalesQuotation ItemDescriptionType",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "readOnlyType": {
            "description": "The SalesQuotation ReadOnlyType",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "salesQuotationStatus": {
            "type": "integer",
            "description": "The SalesQuotation Status",
            "format": "int32"
          },
          "salesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation SalesQuotationNumber"
          },
          "departureCountry": {
            "description": "DepartureCountry",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationDepartureCountry"
          },
          "externalDetails": {
            "description": "ExternalDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationExternalDetails"
          },
          "paymentDetails": {
            "description": "PaymentDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationPaymentDetails"
          },
          "shippingDetails": {
            "description": "ShippingDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationShippingDetails"
          },
          "taxDetails": {
            "description": "TaxDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationTaxDetails"
          },
          "processColourId": {
            "description": "The SalesQuotation Process colour id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "onHoldReasonId": {
            "description": "The SalesQuotation OnHold reason id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "cartonItemId": {
            "description": "The SalesQuotation Carton item id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "paymentMethodId": {
            "description": "The SalesQuotation Payment method id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "shippingMethodId": {
            "description": "The SalesQuotation Shipping method id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "processStatusId": {
            "description": "The SalesQuotation Process status id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorgangsstatusKey"
          },
          "languageIso": {
            "type": "string",
            "description": "The SalesQuotation Language iso code"
          },
          "customerSalesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation Customer sales quotation number"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesQuotation Vat Id"
          },
          "companyId": {
            "description": "The SalesQuotation Company Id",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "shipmentAddress": {
            "description": "SalesQuotationShippingAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationAddress"
          },
          "billingAddress": {
            "description": "SalesQuotationBillingAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationAddress"
          },
          "lineItems": {
            "type": "array",
            "description": "List of SalesQuotationLineItem",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationLineItem"
            }
          },
          "keyFigures": {
            "description": "Key figures of the sales quotation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationKeyFigures"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationAddress": {
        "type": "object",
        "description": "Address information for a sales quotation",
        "additionalProperties": false,
        "required": [
          "salesQuotationId",
          "type"
        ],
        "properties": {
          "salesQuotationId": {
            "description": "The SalesQuotation this address belongs to",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "type": {
            "description": "The purpose of this address",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.AddressType"
          },
          "customerId": {
            "description": "The customer this address belongs to",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "salutation": {
            "type": "string",
            "description": "The SalesQuotationAddress Salutation"
          },
          "title": {
            "type": "string",
            "description": "The SalesQuotationAddress Title"
          },
          "firstName": {
            "type": "string",
            "description": "The SalesQuotationAddress FirstName"
          },
          "lastName": {
            "type": "string",
            "description": "The SalesQuotationAddress LastName"
          },
          "company": {
            "type": "string",
            "description": "The SalesQuotationAddress Company"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The SalesQuotationAddress AdditionalCompanyLine"
          },
          "street": {
            "type": "string",
            "description": "The SalesQuotationAddress Street"
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "The SalesQuotationAddress AdditionalAddressLine"
          },
          "city": {
            "type": "string",
            "description": "The SalesQuotationAddress City"
          },
          "postalCode": {
            "type": "string",
            "description": "The SalesQuotationAddress PostalCode"
          },
          "state": {
            "type": "string",
            "description": "The SalesQuotationAddress State"
          },
          "countryIso": {
            "type": "string",
            "description": "The SalesQuotationAddress CountryISO"
          },
          "postId": {
            "type": "string",
            "description": "The SalesQuotationAddress PostId"
          },
          "emailAddress": {
            "type": "string",
            "description": "The SalesQuotationAddress EmailAddress"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The SalesQuotationAddress PhoneNumber"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The SalesQuotationAddress MobilePhoneNumber"
          },
          "fax": {
            "type": "string",
            "description": "The SalesQuotationAddress Fax"
          },
          "country": {
            "type": "string",
            "description": "The SalesQuotationAddress Countryname"
          },
          "customsDocumentsRequired": {
            "type": "boolean",
            "description": "Information about the need for additional documents"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesQuotationAddress VAT ID"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationDepartureCountry": {
        "type": "object",
        "description": "Departure country information for a sales quotation",
        "additionalProperties": false,
        "required": [
          "currencyFactor"
        ],
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The SalesQuotation CountryISO"
          },
          "currencyIso": {
            "type": "string",
            "description": "The SalesQuotation DepartureCountry CurrencyISO"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The SalesQuotation DepartureCountry CurrencyFactor",
            "format": "decimal"
          },
          "stateCode": {
            "type": "string",
            "description": "The SalesQuotation StateCode"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationExternalDetails": {
        "type": "object",
        "description": "External details for a sales quotation",
        "additionalProperties": false,
        "required": [
          "externalInvoiceType"
        ],
        "properties": {
          "externalCreatedDate": {
            "type": "string",
            "description": "The SalesQuotation ExternalCreatedDate",
            "format": "date-time"
          },
          "externalInvoiceType": {
            "description": "The SalesQuotation ExternalInvoiceType",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType"
          },
          "externalSalesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation ExternalSalesQuotationNumber"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationKeyFigures": {
        "type": "object",
        "description": "Provides key figures for a sales quotation.",
        "additionalProperties": false,
        "required": [
          "salesQuotationId",
          "totalGrossAmount",
          "totalNetAmount",
          "totalGrossAmountExcludingShipping",
          "totalNetAmountExcludingShipping",
          "shippingCostNet",
          "shippingCostGross",
          "vatAmounts"
        ],
        "properties": {
          "salesQuotationId": {
            "description": "The unique identifier for the sales quotation.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "The total gross amount of the sales quotation including shipping costs, in the quotation's transaction currency.",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "The total net amount of the sales quotation including shipping costs, in the quotation's transaction currency.",
            "format": "decimal"
          },
          "totalGrossAmountExcludingShipping": {
            "type": "number",
            "description": "The total gross amount of the sales quotation's articles only, excluding shipping costs, in the quotation's transaction currency.",
            "format": "decimal"
          },
          "totalNetAmountExcludingShipping": {
            "type": "number",
            "description": "The total net amount of the sales quotation's articles only, excluding shipping costs, in the quotation's transaction currency.",
            "format": "decimal"
          },
          "shippingCostNet": {
            "type": "number",
            "description": "The net shipping cost.",
            "format": "decimal"
          },
          "shippingCostGross": {
            "type": "number",
            "description": "The gross shipping cost.",
            "format": "decimal"
          },
          "vatAmounts": {
            "type": "array",
            "description": "The VAT amounts grouped by tax rate.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationVatAmountPerRate"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationLineItem": {
        "type": "object",
        "description": "A single line item of a sales quotation",
        "additionalProperties": false,
        "required": [
          "id",
          "salesQuotationId",
          "isReserved",
          "type",
          "lineItemType",
          "quantity",
          "salesPriceNet",
          "salesPriceGross",
          "discountPercent",
          "purchasePriceNet",
          "taxRate",
          "totalSalesPriceNet",
          "totalSalesPriceGross",
          "sortOrder",
          "hasUpload",
          "configurationItemType",
          "billOfMaterialsType"
        ],
        "properties": {
          "id": {
            "description": "Id of this position",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "salesQuotationId": {
            "description": "Id of the SalesQuotation this position belongs to",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sku": {
            "type": "string",
            "description": "Sku"
          },
          "isReserved": {
            "type": "boolean",
            "description": "Reserved status of that position"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "fnSku": {
            "type": "string",
            "description": "The SalesQuotationLineItem FNSKU"
          },
          "type": {
            "description": "DEPRECATED: do not use; use LineItemType instead. Type of the sales quotation line item.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "lineItemType": {
            "description": "Type of the sales quotation line item.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The gross sales price per unit (excl. quantity and discount).",
            "format": "decimal"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "taxClassId": {
            "description": "The SalesQuotationLineItem TaxClassId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The SalesQuotationLineItem TaxCodeId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "note": {
            "type": "string",
            "description": "The SalesQuotationLineItem Note"
          },
          "totalSalesPriceNet": {
            "type": "number",
            "description": "Total price net.",
            "format": "decimal"
          },
          "totalSalesPriceGross": {
            "type": "number",
            "description": "Total price gross.",
            "format": "decimal"
          },
          "sortOrder": {
            "type": "integer",
            "description": "Sort order.",
            "format": "int32"
          },
          "standardName": {
            "type": "string",
            "description": "The default name."
          },
          "hasUpload": {
            "type": "boolean",
            "description": "Information about an uploaded file."
          },
          "parentSalesQuotationLineItemId": {
            "description": "Id of the parent line item if this is a child line item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "configurationItemType": {
            "description": "Configuration item type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ConfigurationItemType"
          },
          "billOfMaterialsType": {
            "description": "Bill of materials type.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.BillOfMaterialsType"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationListItem": {
        "type": "object",
        "description": "Single row of the sales quotation overview table",
        "additionalProperties": false,
        "required": [
          "id",
          "assignedUserId",
          "salesQuotationNumber",
          "currencyFactor",
          "extraWeight",
          "shippingWeight",
          "salesQuotationDate",
          "departureCountryCurrencyIso",
          "departureCountryCurrencyFactor"
        ],
        "properties": {
          "id": {
            "description": "Sales quotation unique identifier",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "assignedUserId": {
            "description": "Assigned user ID",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "customerId": {
            "description": "Customer ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "shippingMethodId": {
            "description": "Shipping method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "companyId": {
            "description": "Company (firm) ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "paymentMethodId": {
            "description": "Payment method ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "salesQuotationNumber": {
            "type": "string",
            "description": "Official sales quotation number"
          },
          "externalSalesQuotationNumber": {
            "type": "string",
            "description": "External reference number for the quotation"
          },
          "platformName": {
            "type": "string",
            "description": "Name of the platform where the quotation originated"
          },
          "comment": {
            "type": "string",
            "description": "Internal comments or remarks"
          },
          "currencyIso": {
            "type": "string",
            "description": "ISO currency code used for the quotation"
          },
          "currencyFactor": {
            "type": "number",
            "description": "Exchange rate factor for the currency",
            "format": "decimal"
          },
          "printDate": {
            "type": "string",
            "description": "Date when the quotation was printed",
            "format": "date-time"
          },
          "mailDate": {
            "type": "string",
            "description": "Date when the quotation was sent via email",
            "format": "date-time"
          },
          "processStatusName": {
            "type": "string",
            "description": "Display text for the current process status"
          },
          "extraWeight": {
            "type": "number",
            "description": "Additional weight calculated for the quotation",
            "format": "decimal"
          },
          "shippingWeight": {
            "type": "number",
            "description": "Total shipping weight",
            "format": "decimal"
          },
          "salesQuotationDate": {
            "type": "string",
            "description": "Date and time when the quotation was created",
            "format": "date-time"
          },
          "departureCountryIso": {
            "type": "string",
            "description": "ISO code of the departure/shipping country"
          },
          "departureCountryName": {
            "type": "string",
            "description": "Name of the departure/shipping country"
          },
          "departureCountryCurrencyIso": {
            "type": "string",
            "description": "Currency ISO code of the departure country"
          },
          "departureCountryCurrencyFactor": {
            "type": "number",
            "description": "Currency exchange factor of the departure country",
            "format": "decimal"
          },
          "billingAddressCompany": {
            "type": "string",
            "description": "Billing address company"
          },
          "billingAddressFirstName": {
            "type": "string",
            "description": "Billing address first name"
          },
          "billingAddressLastName": {
            "type": "string",
            "description": "Billing address last name"
          },
          "billingAddressStreet": {
            "type": "string",
            "description": "Billing address street and house number"
          },
          "billingAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Billing address additional address line (e.g., apartment, suite)"
          },
          "billingAddressPostalCode": {
            "type": "string",
            "description": "Billing address postal code"
          },
          "billingAddressCity": {
            "type": "string",
            "description": "Billing address city"
          },
          "billingAddressCountryName": {
            "type": "string",
            "description": "Billing address country name"
          },
          "billingAddressPhoneNumber": {
            "type": "string",
            "description": "Billing address phone number"
          },
          "billingAddressFax": {
            "type": "string",
            "description": "Billing address fax number"
          },
          "billingAddressEmailAddress": {
            "type": "string",
            "description": "Billing address email address"
          },
          "billingAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "Billing address additional company information line"
          },
          "billingAddressState": {
            "type": "string",
            "description": "Billing address state or province"
          },
          "shipmentAddressCompany": {
            "type": "string",
            "description": "Shipment address company name"
          },
          "shipmentAddressFirstName": {
            "type": "string",
            "description": "Shipment address contact first name"
          },
          "shipmentAddressLastName": {
            "type": "string",
            "description": "Shipment address contact last name"
          },
          "shipmentAddressStreet": {
            "type": "string",
            "description": "Shipment address street and house number"
          },
          "shipmentAddressAdditionalAddressLine": {
            "type": "string",
            "description": "Shipment address additional address line (e.g., apartment, suite)"
          },
          "shipmentAddressPostalCode": {
            "type": "string",
            "description": "Shipment address postal code"
          },
          "shipmentAddressCity": {
            "type": "string",
            "description": "Shipment address city"
          },
          "shipmentAddressCountryName": {
            "type": "string",
            "description": "Shipment address country name"
          },
          "shipmentAddressPhoneNumber": {
            "type": "string",
            "description": "Shipment address phone number"
          },
          "shipmentAddressFax": {
            "type": "string",
            "description": "Shipment address fax number"
          },
          "shipmentAddressEmailAddress": {
            "type": "string",
            "description": "Shipment address email address"
          },
          "shipmentAddressAdditionalCompanyLine": {
            "type": "string",
            "description": "Shipment address additional company information line"
          },
          "shipmentAddressState": {
            "type": "string",
            "description": "Shipment address state or province"
          },
          "assignedUserName": {
            "type": "string",
            "description": "Name of the user currently assigned to this quotation"
          },
          "createdByUserName": {
            "type": "string",
            "description": "Name of the user who originally created the quotation"
          },
          "companyName": {
            "type": "string",
            "description": "Display name of the company"
          },
          "salesChannelName": {
            "type": "string",
            "description": "Name of the sales channel or shop"
          },
          "customerGroupName": {
            "type": "string",
            "description": "Name of the assigned customer group"
          },
          "paymentMethodName": {
            "type": "string",
            "description": "Display name of the selected payment method"
          },
          "shippingMethodName": {
            "type": "string",
            "description": "Display name of the selected shipping method"
          },
          "customerNumber": {
            "type": "string",
            "description": "Unique customer business number"
          },
          "totalGrossAmount": {
            "type": "number",
            "description": "Total gross amount in the system's base currency",
            "format": "decimal"
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Total net amount in the system's base currency",
            "format": "decimal"
          },
          "shippingCountryTotalGrossAmount": {
            "type": "number",
            "description": "Total gross amount converted to the shipping country's currency",
            "format": "decimal"
          },
          "shippingCountryTotalNetAmount": {
            "type": "number",
            "description": "Total net amount converted to the shipping country's currency",
            "format": "decimal"
          },
          "customerComment": {
            "type": "string",
            "description": "Additional customer-related notes or miscellaneous instructions"
          },
          "processColourCode": {
            "type": "integer",
            "description": "ARGB or numeric color code for process highlighting",
            "format": "int32"
          },
          "processColourName": {
            "type": "string",
            "description": "Descriptive name of the assigned process color"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationPaymentDetails": {
        "type": "object",
        "description": "Payment details for a sales quotation",
        "additionalProperties": false,
        "required": [
          "cashDiscount",
          "cashDiscountDays",
          "financingCosts",
          "paymentDueDateInDays",
          "currencyFactor"
        ],
        "properties": {
          "cashDiscount": {
            "type": "number",
            "description": "The SalesQuotation CashDiscount",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The SalesQuotation CashDiscountDays",
            "format": "int32"
          },
          "financingCosts": {
            "type": "number",
            "description": "The SalesQuotation FinancingCosts",
            "format": "decimal"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The SalesQuotation PaymentDueDateInDays",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "The currency ISO code"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The currency factor",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationPaymentInfo": {
        "type": "object",
        "description": "Payment information and bank details for a sales quotation",
        "additionalProperties": false,
        "required": [
          "paymentInfoType"
        ],
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo AccountHolder"
          },
          "bankName": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo BankName"
          },
          "bIC": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo BIC"
          },
          "creditorId": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo CreditorId"
          },
          "dueDate": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo DueDate",
            "format": "date-time"
          },
          "endToEndId": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo EndToEndId"
          },
          "iBAN": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo IBAN"
          },
          "mandateReference": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo MandateReference"
          },
          "paymentInfo": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo PaymentInfo"
          },
          "paymentInfoType": {
            "type": "integer",
            "description": "The SalesQuotationPaymentInfo PaymentInfoType",
            "format": "int32"
          },
          "paymentReference": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo PaymentReference"
          },
          "referenceEmail": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo ReferenceEmail"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationShippingDetails": {
        "type": "object",
        "description": "Shipping details for a sales quotation",
        "additionalProperties": false,
        "required": [
          "extraWeight",
          "maxDeliveryDays",
          "shippingPriority"
        ],
        "properties": {
          "deliveryFromDate": {
            "type": "string",
            "description": "The SalesQuotation DeliveryFromDate",
            "format": "date-time"
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "The SalesQuotation EstimatedDeliveryDate",
            "format": "date-time"
          },
          "extraWeight": {
            "type": "number",
            "description": "The SalesQuotation ExtraWeight",
            "format": "decimal"
          },
          "maxDeliveryDays": {
            "type": "integer",
            "description": "The SalesQuotation MaxDeliveryDays",
            "format": "int32"
          },
          "shippingDate": {
            "type": "string",
            "description": "The SalesQuotation ShippingDate",
            "format": "date-time"
          },
          "shippingPriority": {
            "type": "integer",
            "description": "The SalesQuotation ShippingPriority",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationTaxDetails": {
        "type": "object",
        "description": "Tax details for a sales quotation",
        "additionalProperties": false,
        "required": [
          "taxReference",
          "specialTaxTreatment",
          "taxSetting"
        ],
        "properties": {
          "taxReference": {
            "description": "The SalesQuotation TaxReference. This setting controls which data is used during tax calculation.",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          },
          "specialTaxTreatment": {
            "description": "The SalesQuotation SpecialTaxTreatment",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "description": "The SalesQuotation TaxSetting",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationText": {
        "type": "object",
        "description": "Text and comment information for a sales quotation",
        "additionalProperties": false,
        "properties": {
          "comment": {
            "type": "string",
            "description": "The SalesQuotationText Comment"
          },
          "customerComment": {
            "type": "string",
            "description": "The SalesQuotationText CustomerComment"
          },
          "printText": {
            "type": "string",
            "description": "The SalesQuotationText PrintText"
          },
          "processStatus": {
            "type": "string",
            "description": "The SalesQuotationText ProcessStatus"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.SalesQuotationVatAmountPerRate": {
        "type": "object",
        "description": "VAT amount for a specific tax rate.",
        "additionalProperties": false,
        "required": [
          "taxRate",
          "vatAmount"
        ],
        "properties": {
          "taxRate": {
            "type": "number",
            "description": "The tax rate in percent (e.g. 19.0 for 19% VAT).",
            "format": "decimal"
          },
          "vatAmount": {
            "type": "number",
            "description": "The VAT amount for this tax rate.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateSalesQuotationCommandRequest": {
        "type": "object",
        "description": "Modifies an existing sales quotation. - Request",
        "additionalProperties": false,
        "properties": {
          "disableAutomaticWorkflows": {
            "type": "boolean",
            "description": "Indicates whether automatic workflows should be disabled for this sales quotation."
          },
          "useBillingAddressAsShipmentAddress": {
            "type": "boolean",
            "description": "Indicates whether the billing address should be used as the shipment address."
          },
          "cartonItemId": {
            "description": "The SalesQuotation CartonItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "companyId": {
            "description": "Unique ID of the company.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "customerId": {
            "description": "The ID of the customer associated with the sales quotation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "onHoldReasonId": {
            "description": "The SalesQuotation OnHoldReasonId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.RueckhaltegrundKey"
          },
          "paymentMethodId": {
            "description": "The ID of the payment method for the sales quotation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey"
          },
          "processColourId": {
            "description": "The SalesQuotation ProcessColourId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FarbeKey"
          },
          "processStatusId": {
            "description": "The SalesQuotation ProcessStatusId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VorgangsstatusKey"
          },
          "shippingMethodId": {
            "description": "The ID of the shipping method for the sales quotation.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "billingAddress": {
            "description": "SalesQuotationBillingAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationAddress"
          },
          "shipmentAddress": {
            "description": "SalesQuotationShipmentAddress",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationAddress"
          },
          "departureCountry": {
            "description": "DepartureCountry",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationDepartureCountry"
          },
          "externalDetails": {
            "description": "ExternalDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationExternalDetails"
          },
          "lineItems": {
            "type": "array",
            "description": "The line items included in the sales quotation.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationLineItem"
            }
          },
          "paymentDetails": {
            "description": "PaymentDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationPaymentDetails"
          },
          "paymentInfo": {
            "description": "SalesQuotationPaymentInfo",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationPaymentInfo"
          },
          "shippingDetails": {
            "description": "ShippingDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationShippingDetails"
          },
          "taxDetails": {
            "description": "TaxDetails",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationTaxDetails"
          },
          "text": {
            "description": "SalesQuotationText",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationText"
          },
          "customerSalesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation CustomerSalesQuotationNumber"
          },
          "itemDescriptionType": {
            "type": "integer",
            "description": "The SalesQuotation ItemDescriptionType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType"
          },
          "languageIso": {
            "type": "string",
            "description": "The SalesQuotation LanguageISO"
          },
          "readOnlyType": {
            "type": "integer",
            "description": "The SalesQuotation ReadOnlyType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType"
          },
          "salesQuotationDate": {
            "type": "string",
            "description": "The SalesQuotation Date",
            "format": "date-time"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesQuotation VATId"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateSalesQuotationCommandResponse": {
        "type": "object",
        "description": "Modifies an existing sales quotation. - Response",
        "additionalProperties": false,
        "required": [
          "salesQuotationId"
        ],
        "properties": {
          "salesQuotationId": {
            "description": "Unique ID of the modified sales quotation.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationAddress": {
        "type": "object",
        "description": "Address details for the sales quotation.",
        "additionalProperties": false,
        "properties": {
          "salutation": {
            "type": "string",
            "description": "The SalesQuotationAddress Salutation"
          },
          "title": {
            "type": "string",
            "description": "The SalesQuotationAddress Title"
          },
          "firstName": {
            "type": "string",
            "description": "The SalesQuotationAddress FirstName"
          },
          "lastName": {
            "type": "string",
            "description": "The SalesQuotationAddress LastName"
          },
          "company": {
            "type": "string",
            "description": "The SalesQuotationAddress Company"
          },
          "additionalCompanyLine": {
            "type": "string",
            "description": "The SalesQuotationAddress AdditionalCompanyLine"
          },
          "street": {
            "type": "string",
            "description": "The SalesQuotationAddress Street"
          },
          "additionalAddressLine": {
            "type": "string",
            "description": "The SalesQuotationAddress AdditionalAddressLine"
          },
          "city": {
            "type": "string",
            "description": "The SalesQuotationAddress City"
          },
          "postalCode": {
            "type": "string",
            "description": "The SalesQuotationAddress PostalCode"
          },
          "state": {
            "type": "string",
            "description": "The SalesQuotationAddress State"
          },
          "countryIso": {
            "type": "string",
            "description": "The SalesQuotationAddress CountryISO"
          },
          "postId": {
            "type": "string",
            "description": "The SalesQuotationAddress PostId"
          },
          "emailAddress": {
            "type": "string",
            "description": "The SalesQuotationAddress EmailAddress"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The SalesQuotationAddress PhoneNumber"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The SalesQuotationAddress MobilePhoneNumber"
          },
          "fax": {
            "type": "string",
            "description": "The SalesQuotationAddress Fax"
          },
          "vatId": {
            "type": "string",
            "description": "The SalesQuotationAddress VAT ID"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationDepartureCountry": {
        "type": "object",
        "description": "Departure country information for the sales quotation to be modified.",
        "additionalProperties": false,
        "properties": {
          "countryIso": {
            "type": "string",
            "description": "The ISO code of the departure country."
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales quotation departure country currency iso"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales quotation departure country currency factor",
            "format": "decimal"
          },
          "stateCode": {
            "type": "string",
            "description": "The SalesQuotation StateCode"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationExternalDetails": {
        "type": "object",
        "description": "External details for the sales quotation to be modified.",
        "additionalProperties": false,
        "properties": {
          "externalCreatedDate": {
            "type": "string",
            "description": "The SalesQuotation ExternalCreatedDate",
            "format": "date-time"
          },
          "externalInvoiceType": {
            "type": "integer",
            "description": "The SalesQuotation ExternalInvoiceType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType"
          },
          "externalSalesQuotationNumber": {
            "type": "string",
            "description": "The SalesQuotation ExternalSalesQuotationNumber"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationLineItem": {
        "type": "object",
        "description": "Line item details for the sales quotation line item to be modified.",
        "additionalProperties": false,
        "properties": {
          "salesQuotationLineItemId": {
            "description": "Unique ID of the sales quotation line item to be modified.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "itemId": {
            "description": "Unique ID to identify an item.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "parentSalesQuotationLineItemId": {
            "description": "The SalesQuotationLineItem ParentSalesQuotationLineItemId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey"
          },
          "taxClassId": {
            "description": "The SalesQuotationLineItem TaxClassId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey"
          },
          "taxCodeId": {
            "description": "The SalesQuotationLineItem TaxCodeId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey"
          },
          "billOfMaterialsType": {
            "type": "integer",
            "description": "The SalesQuotationLineItem BillOfMaterialsType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.BillOfMaterialsType"
          },
          "configurationItemType": {
            "type": "integer",
            "description": "The SalesQuotationLineItem ConfigurationItemType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ConfigurationItemType"
          },
          "discountPercent": {
            "type": "number",
            "description": "The discount of the line item.",
            "format": "decimal"
          },
          "fnSku": {
            "type": "string",
            "description": "The SalesQuotationLineItem FNSKU"
          },
          "name": {
            "type": "string",
            "description": "Name of the position."
          },
          "note": {
            "type": "string",
            "description": "The SalesQuotationLineItem Note"
          },
          "purchasePriceNet": {
            "type": "number",
            "description": "The purchase price of the item.",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the line item.",
            "format": "decimal"
          },
          "salesPriceGross": {
            "type": "number",
            "description": "The gross sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "salesPriceNet": {
            "type": "number",
            "description": "The net sales price of the item. Only net or gross price can be entered. The other price will then be calculated.",
            "format": "decimal"
          },
          "salesUnit": {
            "type": "string",
            "description": "The sales unit of the line item."
          },
          "sku": {
            "type": "string",
            "description": "SKU of the sales quotation line item."
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate of the line item.",
            "format": "decimal"
          },
          "lineItemType": {
            "type": "integer",
            "description": "The SalesQuotationLineItem LineItemType",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType"
          },
          "variants": {
            "type": "array",
            "description": "List of SalesQuotationLineItemVariant",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationLineItemVariant"
            }
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationLineItemVariant": {
        "type": "object",
        "description": "Sales quotation line item variant details for the sales quotation to be modified.",
        "additionalProperties": false,
        "required": [
          "name",
          "itemVariantId"
        ],
        "properties": {
          "extraWeight": {
            "type": "number",
            "description": "The SalesQuotationLineItemVariant ExtraWeight",
            "format": "decimal"
          },
          "name": {
            "type": "string",
            "description": "The SalesQuotationLineItemVariant Name"
          },
          "surchargeNet": {
            "type": "number",
            "description": "The SalesQuotationLineItemVariant SurchargeNet",
            "format": "decimal"
          },
          "value": {
            "type": "string",
            "description": "The SalesQuotationLineItemVariant Value"
          },
          "itemVariantId": {
            "description": "The SalesQuotationLineItemVariant ItemVariantId",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationKey"
          },
          "itemVariantValueId": {
            "description": "The SalesQuotationLineItemVariant ItemVariantValueId",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VariationWertKey"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationPaymentDetails": {
        "type": "object",
        "description": "Payment details for the sales quotation to be modified.",
        "additionalProperties": false,
        "properties": {
          "cashDiscount": {
            "type": "number",
            "description": "The SalesQuotation CashDiscount",
            "format": "decimal"
          },
          "cashDiscountDays": {
            "type": "integer",
            "description": "The SalesQuotation CashDiscountDays",
            "format": "int32"
          },
          "paymentDueDateInDays": {
            "type": "integer",
            "description": "The SalesQuotation PaymentDueDateInDays",
            "format": "int32"
          },
          "currencyIso": {
            "type": "string",
            "description": "The sales quotation currency iso"
          },
          "currencyFactor": {
            "type": "number",
            "description": "The sales quotation currency factor",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationPaymentInfo": {
        "type": "object",
        "description": "Payment info for the sales quotation to be modified.",
        "additionalProperties": false,
        "properties": {
          "accountHolder": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo AccountHolder"
          },
          "bankName": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo BankName"
          },
          "bIC": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo BIC"
          },
          "creditorId": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo CreditorId"
          },
          "dueDate": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo DueDate",
            "format": "date-time"
          },
          "endToEndId": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo EndToEndId"
          },
          "iBAN": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo IBAN"
          },
          "mandateReference": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo MandateReference"
          },
          "paymentInfo": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo PaymentInfo"
          },
          "paymentInfoType": {
            "type": "integer",
            "description": "The SalesQuotationPaymentInfo PaymentInfoType",
            "format": "int32"
          },
          "paymentReference": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo PaymentReference"
          },
          "referenceEmail": {
            "type": "string",
            "description": "The SalesQuotationPaymentInfo ReferenceEmail"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationShippingDetails": {
        "type": "object",
        "description": "Shipping details for the sales quotation to be modified.",
        "additionalProperties": false,
        "properties": {
          "deliveryFromDate": {
            "type": "string",
            "description": "The SalesQuotation DeliveryFromDate",
            "format": "date-time"
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "The SalesQuotation EstimatedDeliveryDate",
            "format": "date-time"
          },
          "extraWeight": {
            "type": "number",
            "description": "The SalesQuotation ExtraWeight",
            "format": "decimal"
          },
          "maxDeliveryDays": {
            "type": "integer",
            "description": "The SalesQuotation MaxDeliveryDays",
            "format": "int32"
          },
          "shippingDate": {
            "type": "string",
            "description": "The SalesQuotation ShippingDate",
            "format": "date-time"
          },
          "shippingPriority": {
            "type": "integer",
            "description": "The SalesQuotation ShippingPriority",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationTaxDetails": {
        "type": "object",
        "description": "Tax details for the sales quotation to be modified.",
        "additionalProperties": false,
        "properties": {
          "taxReference": {
            "type": "integer",
            "description": "The SalesQuotation TaxReference. This setting controls which data is used during tax calculation.",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference"
          },
          "specialTaxTreatment": {
            "type": "integer",
            "description": "The SalesQuotation SpecialTaxTreatment",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment"
          },
          "taxSetting": {
            "type": "integer",
            "description": "The SalesQuotation TaxSetting",
            "format": "int32",
            "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesQuotationDomain.UpdateUpdateSalesQuotationText": {
        "type": "object",
        "description": "Text details for the sales quotation to be modified.",
        "additionalProperties": false,
        "properties": {
          "comment": {
            "type": "string",
            "description": "The SalesQuotationText Comment"
          },
          "customerComment": {
            "type": "string",
            "description": "The SalesQuotationText CustomerComment"
          },
          "printText": {
            "type": "string",
            "description": "The SalesQuotationText PrintText"
          },
          "processStatus": {
            "type": "string",
            "description": "The SalesQuotationText ProcessStatus"
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.AddressType": {
        "type": "integer",
        "description": "0 = ShipmentAddress, 1 = BillingAddress, 2 = Other",
        "format": "int32",
        "x-enumNames": [
          "ShipmentAddress",
          "BillingAddress",
          "Other"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.BillOfMaterialsType": {
        "type": "integer",
        "description": "0 = None, 1 = BillOfMaterials, 2 = Component",
        "format": "int32",
        "x-enumNames": [
          "None",
          "BillOfMaterials",
          "Component"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ConfigurationItemType": {
        "type": "integer",
        "description": "0 = None, 1 = ConfigurationItem, 2 = Component",
        "format": "int32",
        "x-enumNames": [
          "None",
          "ConfigurationItem",
          "Component"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.DeliveryCompleteStatus": {
        "type": "integer",
        "description": "0 = DeliveryNotComplete, 1 = DeliveryComplete, 2 = DeliveryCompleteWithoutDeliveryNote",
        "format": "int32",
        "x-enumNames": [
          "DeliveryNotComplete",
          "DeliveryComplete",
          "DeliveryCompleteWithoutDeliveryNote"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.DeliveryStatus": {
        "type": "integer",
        "description": "0 = Cancelled, 1 = Open, 2 = PartiallyOnDeliveryNote, 3 = CompletelyOnDeliveryNote, 4 = PartiallyShipped, 5 = CompletelyShipped, 6 = Credited, 7 = CompletedWithoutShipment",
        "format": "int32",
        "x-enumNames": [
          "Cancelled",
          "Open",
          "PartiallyOnDeliveryNote",
          "CompletelyOnDeliveryNote",
          "PartiallyShipped",
          "CompletelyShipped",
          "Credited",
          "CompletedWithoutShipment"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ExternalSalesInvoiceType": {
        "type": "integer",
        "description": "0 = None, 1 = NoInvoiceNoOutput, 2 = NoInvoice",
        "format": "int32",
        "x-enumNames": [
          "None",
          "NoInvoiceNoOutput",
          "NoInvoice"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.InvoicePaymentStatus": {
        "type": "integer",
        "description": "0 = Unpaid, 1 = PartiallyPaid, 2 = CompletelyPaid, 3 = NotDeterminable",
        "format": "int32",
        "x-enumNames": [
          "Unpaid",
          "PartiallyPaid",
          "CompletelyPaid",
          "NotDeterminable"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.InvoiceStatus": {
        "type": "integer",
        "description": "0 = NotInvoiced, 1 = PartiallyInvoiced, 2 = CompletelyInvoiced",
        "format": "int32",
        "x-enumNames": [
          "NotInvoiced",
          "PartiallyInvoiced",
          "CompletelyInvoiced"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ItemDescriptionType": {
        "type": "integer",
        "description": "0 = None, 1 = Brief, 2 = Long",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Brief",
          "Long"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType": {
        "type": "integer",
        "description": "0 = Custom, 1 = Item, 2 = Shipping, 3 = Coupon, 4 = Voucher, 5 = Payment, 6 = ShippingSurcharge, 7 = NewCustomerCoupon, 8 = CashOnDelivery, 9 = ShippingSurchargeItem, 10 = Packing, 11 = GiftForFree, 12 = TrustedShops, 13 = InterestPremium, 14 = ProcessingFee, 15 = Carton, 16 = ReturnDelivery, 17 = MultiPurposeVoucher, 18 = MultiPurposeVoucherDigital, 19 = SinglePurposeVoucher, 20 = SinglePurposeVoucherDigital, 21 = SinglePurposeVoucherRedemption",
        "format": "int32",
        "x-enumNames": [
          "Custom",
          "Item",
          "Shipping",
          "Coupon",
          "Voucher",
          "Payment",
          "ShippingSurcharge",
          "NewCustomerCoupon",
          "CashOnDelivery",
          "ShippingSurchargeItem",
          "Packing",
          "GiftForFree",
          "TrustedShops",
          "InterestPremium",
          "ProcessingFee",
          "Carton",
          "ReturnDelivery",
          "MultiPurposeVoucher",
          "MultiPurposeVoucherDigital",
          "SinglePurposeVoucher",
          "SinglePurposeVoucherDigital",
          "SinglePurposeVoucherRedemption"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.ReadOnlyType": {
        "type": "integer",
        "description": "0 = ChangesAllowed, 1 = InvoicedExternally, 2 = ChangesForbidden",
        "format": "int32",
        "x-enumNames": [
          "ChangesAllowed",
          "InvoicedExternally",
          "ChangesForbidden"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceChangeMode": {
        "type": "integer",
        "description": "0 = UseCalculatedPrice, 1 = UseCurrentPrice",
        "format": "int32",
        "x-enumNames": [
          "UseCalculatedPrice",
          "UseCurrentPrice"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceResult": {
        "type": "integer",
        "description": "0 = None, 1 = SalesPriceNet, 2 = DiscountPercent, 3 = SalesPriceNetAndDiscountPercent",
        "format": "int32",
        "x-enumNames": [
          "None",
          "SalesPriceNet",
          "DiscountPercent",
          "SalesPriceNetAndDiscountPercent"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment": {
        "type": "integer",
        "description": "0 = None, 1 = ReverseCharge, 2 = ExemptFromVat, 3 = SubjectToVat",
        "format": "int32",
        "x-enumNames": [
          "None",
          "ReverseCharge",
          "ExemptFromVat",
          "SubjectToVat"
        ],
        "enum": [
          0,
          1,
          2,
          3
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference": {
        "type": "integer",
        "description": "0 = ShipmentAddress, 1 = BillingAddress",
        "format": "int32",
        "x-enumNames": [
          "ShipmentAddress",
          "BillingAddress"
        ],
        "enum": [
          0,
          1
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting": {
        "type": "integer",
        "description": "0 = DeliveryWithVat, 10 = IntraCommunityDelivery, 15 = ExemptFromVatReverseCharge, 20 = ExemptFromVat",
        "format": "int32",
        "x-enumNames": [
          "DeliveryWithVat",
          "IntraCommunityDelivery",
          "ExemptFromVatReverseCharge",
          "ExemptFromVat"
        ],
        "enum": [
          0,
          10,
          15,
          20
        ]
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.CurrencyDomain.QueryCurrenciesRequest": {
        "type": "object",
        "description": "Request model for QueryCurrencies query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.JeraDomain.QueryExternalDocumentLineItemsInternalRequest": {
        "type": "object",
        "description": "Request model for QueryExternalDocumentLineItemsInternal query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.JeraDomain.QueryExternalDocumentsInternalRequest": {
        "type": "object",
        "description": "Request model for QueryExternalDocumentsInternal query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.JeraDomain.QuerySalesInvoiceCancellationsInternalRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoiceCancellationsInternal query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.JeraDomain.QuerySalesInvoiceCorrectionLineItemsInternalRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoiceCorrectionLineItemsInternal query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.JeraDomain.QuerySalesInvoiceCorrectionsInternalRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoiceCorrectionsInternal query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.JeraDomain.QuerySalesInvoiceLineItemsInternalRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoiceLineItemsInternal query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.JeraDomain.QuerySalesInvoicesInternalRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoicesInternal query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.PaymentDomain.QueryPaymentsBySalesOrderIdRequest": {
        "type": "object",
        "description": "Request model for QueryPaymentsBySalesOrderId query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.PaymentMethodDomain.QueryPaymentMethodsRequest": {
        "type": "object",
        "description": "Request model for QueryPaymentMethods query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionRequest": {
        "type": "object",
        "description": "Request model for CreateSalesInvoiceCorrection command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "asDraft": {
            "type": "boolean",
            "description": "Indicates if the sales invoice correction should be created as draft."
          },
          "useUndeliveredQuantities": {
            "type": "boolean",
            "description": "Indicates if only undelivered quantities should be used."
          },
          "disableAutomaticWorkflows": {
            "type": "boolean",
            "description": "If true, the workflows do not trigger automatic."
          },
          "reduceSalesOrderQuantities": {
            "type": "boolean",
            "description": "If true, the sales order quantities will be reduced."
          },
          "reduceDeliveryQuantities": {
            "type": "boolean",
            "description": "If true, the delivery quantities will be reduced."
          },
          "cancelWebShopOrder": {
            "type": "boolean",
            "description": "If true, the web shop order will be canceled"
          },
          "lineItems": {
            "type": "array",
            "description": "The line items to partially correct. When omitted, every open-remainder line of the invoice is corrected in full, matching today's behavior. An explicitly empty list is rejected and is not equivalent to omission.",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionLineItem"
            }
          },
          "allowQuantityExceeded": {
            "type": "boolean",
            "description": "If true, a correction quantity exceeding the invoice's open remainder is accepted instead of rejected."
          },
          "allowAmountExceeded": {
            "type": "boolean",
            "description": "If true, a correction amount exceeding the invoice's open remainder is accepted instead of rejected."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesInvoiceCorrectionDomain.CreateSalesInvoiceCorrectionsFromReturnRequest": {
        "type": "object",
        "description": "Request model for CreateSalesInvoiceCorrectionsFromReturn command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "properties": {
          "asDraft": {
            "type": "boolean",
            "description": "Indicates if each created sales invoice correction should be created as draft. Default is false."
          },
          "disableAutomaticWorkflows": {
            "type": "boolean",
            "description": "If true, workflows do not trigger automatically for any created correction. Default is false."
          },
          "reduceSalesOrderQuantities": {
            "type": "boolean",
            "description": "If true, sales order quantities will be reduced for each created correction. Default is false."
          },
          "reduceDeliveryQuantities": {
            "type": "boolean",
            "description": "If true, delivery quantities will be reduced for each created correction. Default is false."
          },
          "cancelWebShopOrder": {
            "type": "boolean",
            "description": "If true, the web shop order will be canceled for each created correction. Default is false."
          },
          "allowQuantityExceeded": {
            "type": "boolean",
            "description": "If true, a correction quantity exceeding an invoice's open remainder is accepted instead of rejected for that invoice. Default is false."
          },
          "allowAmountExceeded": {
            "type": "boolean",
            "description": "If true, a correction amount exceeding an invoice's open remainder is accepted instead of rejected for that invoice. Default is false."
          }
        }
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesInvoiceCorrectionDomain.QuerySalesInvoiceCorrectionsRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoiceCorrections query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesInvoiceDomain.QuerySalesInvoiceCancellationReasonsRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoiceCancellationReasons query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesInvoiceDomain.QuerySalesInvoicesRequest": {
        "type": "object",
        "description": "Request model for QuerySalesInvoices query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesOrderDomain.QuerySalesOrdersRequest": {
        "type": "object",
        "description": "Request model for QuerySalesOrders query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Verkaufsverwaltung.PublicApi.Endpoints.V2.SalesQuotationDomain.QuerySalesQuotationsRequest": {
        "type": "object",
        "description": "Request model for QuerySalesQuotations query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.ActivateBinLocationCommandRequest": {
        "type": "object",
        "description": "Activates a bin location, making it available for operations. - Request",
        "additionalProperties": false,
        "required": [
          "binLocationId"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique identifier of the bin location to activate.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationListItem": {
        "type": "object",
        "description": "Single row of the bin locations overview list.",
        "additionalProperties": false,
        "required": [
          "binLocationId",
          "warehouseId",
          "name",
          "status",
          "type"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique bin location identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "warehouseId": {
            "description": "Warehouse that owns this bin location.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "name": {
            "type": "string",
            "description": "Bin location name (unique within the warehouse)."
          },
          "status": {
            "type": "integer",
            "description": "Current status of the bin location (0=Active, 1=Deactivated, 2=Locked).",
            "format": "int32"
          },
          "type": {
            "type": "integer",
            "description": "Type of the bin location (0=Standard, 1=Shelf, 2=Floor, 3=Rack, 4=Picking, 5=Transfer, 6=Clarification).",
            "format": "int32"
          },
          "sort": {
            "type": "integer",
            "description": "Optional sort order.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationOccupancyItem": {
        "type": "object",
        "description": "Occupancy data (fill factors) for a single bin location in a warehouse.",
        "additionalProperties": false,
        "required": [
          "binLocationId",
          "volumeFillFactor",
          "weightFillFactor"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique bin location identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "lastInventoryDate": {
            "type": "string",
            "description": "Date of the last WMS inventory count for this bin location. Null if never inventoried.",
            "format": "date-time"
          },
          "volumeFillFactor": {
            "type": "number",
            "description": "Volume fill factor as a percentage (0 to unlimited). May exceed 100 when overfilled.",
            "format": "decimal"
          },
          "weightFillFactor": {
            "type": "number",
            "description": "Weight fill factor as a percentage (0 to unlimited). May exceed 100 when overfilled.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationStatusDto": {
        "type": "object",
        "description": "DTO for bin location status reference data.",
        "additionalProperties": false,
        "required": [
          "value",
          "name"
        ],
        "properties": {
          "value": {
            "type": "integer",
            "description": "Status identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Status name."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.BinLocationTypeDto": {
        "type": "object",
        "description": "DTO for bin location type reference data.",
        "additionalProperties": false,
        "required": [
          "value",
          "name"
        ],
        "properties": {
          "value": {
            "type": "integer",
            "description": "Type identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Type name."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.CreateBinLocationCommandRequest": {
        "type": "object",
        "description": "Creates a new bin location in a warehouse. - Request",
        "additionalProperties": false,
        "required": [
          "warehouseId",
          "name",
          "type"
        ],
        "properties": {
          "warehouseId": {
            "description": "Warehouse where the bin location should be created.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "name": {
            "type": "string",
            "description": "Name of the bin location (must be unique within the warehouse, max 50 chars, no apostrophes)."
          },
          "type": {
            "type": "integer",
            "description": "Type of the bin location (0=Standard, 1=Shelf, 2=Floor, 3=Rack, 4=Picking, 5=Transfer, 6=Clarification).",
            "format": "int32"
          },
          "sort": {
            "type": "integer",
            "description": "Optional sort order.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.CreateBinLocationCommandResponse": {
        "type": "object",
        "description": "Creates a new bin location in a warehouse. - Response",
        "additionalProperties": false,
        "required": [
          "binLocationId"
        ],
        "properties": {
          "binLocationId": {
            "description": "The ID of the newly created bin location.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.DeactivateBinLocationCommandRequest": {
        "type": "object",
        "description": "Deactivates a bin location, making it unavailable for operations. - Request",
        "additionalProperties": false,
        "required": [
          "binLocationId"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique identifier of the bin location to deactivate.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.LockBinLocationCommandRequest": {
        "type": "object",
        "description": "Locks a bin location, preventing stock movements. - Request",
        "additionalProperties": false,
        "required": [
          "binLocationId"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique identifier of the bin location to lock.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.LockBinLocationForAvailableStockCommandRequest": {
        "type": "object",
        "description": "Locks a bin location for available stock, preventing it from being used for stock allocation. - Request",
        "additionalProperties": false,
        "required": [
          "binLocationId"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique identifier of the bin location to lock for available stock.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.UnlockBinLocationForAvailableStockCommandRequest": {
        "type": "object",
        "description": "Unlocks a bin location for available stock, allowing it to be used for stock allocation. - Request",
        "additionalProperties": false,
        "required": [
          "binLocationId"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique identifier of the bin location to unlock for available stock.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.BinLocationManagement.UpdateBinLocationMetadataCommandRequest": {
        "type": "object",
        "description": "Updates metadata of an existing bin location (name, type, sort order). - Request",
        "additionalProperties": false,
        "required": [
          "binLocationId"
        ],
        "properties": {
          "binLocationId": {
            "description": "Unique identifier of the bin location to update.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "name": {
            "type": "string",
            "description": "New name for the bin location (must be unique within the warehouse, max 50 chars, no apostrophes)."
          },
          "type": {
            "type": "integer",
            "description": "New type for the bin location (0=Standard, 1=Shelf, 2=Floor, 3=Rack, 4=Picking, 5=Transfer, 6=Clarification).",
            "format": "int32"
          },
          "sort": {
            "type": "integer",
            "description": "New sort order.",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Picklists.PickList": {
        "type": "object",
        "description": "A pick list with its positions",
        "additionalProperties": false,
        "required": [
          "id",
          "pickListNumber",
          "status",
          "warehouseId",
          "positions"
        ],
        "properties": {
          "id": {
            "description": "Pick list ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
          },
          "pickListNumber": {
            "type": "string",
            "description": "Pick list number"
          },
          "status": {
            "type": "integer",
            "description": "Pick list status value",
            "format": "int32"
          },
          "warehouseId": {
            "description": "Id of the Warehouse",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "positions": {
            "type": "array",
            "description": "All positions sorted in pick order",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Picklists.PickListPosition"
            }
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Picklists.PickListPosition": {
        "type": "object",
        "description": "A pick list position",
        "additionalProperties": false,
        "required": [
          "positionId",
          "itemId",
          "itemNumber",
          "quantity",
          "binLocationId",
          "binLocationName",
          "positionStatus"
        ],
        "properties": {
          "positionId": {
            "description": "Position ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
          },
          "itemId": {
            "description": "Item ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "itemNumber": {
            "type": "string",
            "description": "Item number (cArtNr)"
          },
          "quantity": {
            "type": "number",
            "description": "Target quantity",
            "format": "decimal"
          },
          "binLocationId": {
            "description": "Bin location ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "binLocationName": {
            "type": "string",
            "description": "Bin location name"
          },
          "positionStatus": {
            "type": "integer",
            "description": "Position status value",
            "format": "int32"
          },
          "processingTimestamp": {
            "type": "string",
            "description": "Last status change timestamp",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.ChangePackageWeightCommandRequest": {
        "type": "object",
        "description": "Modifies an existing Package Weight - Request",
        "additionalProperties": false,
        "required": [
          "weight"
        ],
        "properties": {
          "weight": {
            "type": "number",
            "description": "The new Weight of the Package",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.CompanyAddress": {
        "type": "object",
        "description": "Represents a company address",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "Company ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "name": {
            "type": "string",
            "description": "Company name"
          },
          "entrepreneur": {
            "type": "string",
            "description": "Entrepreneur"
          },
          "street": {
            "type": "string",
            "description": "Street"
          },
          "zipCode": {
            "type": "string",
            "description": "Zip code"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "country": {
            "type": "string",
            "description": "Country"
          },
          "phone": {
            "type": "string",
            "description": "Phone"
          },
          "mail": {
            "type": "string",
            "description": "Mail"
          },
          "iso": {
            "type": "string",
            "description": "ISO code"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.CreateDeliverPackageCommandRequest": {
        "type": "object",
        "description": "Delivers an existing Package - Request",
        "additionalProperties": false,
        "required": [
          "packageId"
        ],
        "properties": {
          "packageId": {
            "type": "string",
            "description": "ID of the Package to be modified"
          },
          "trackingCode": {
            "type": "string",
            "description": "The Tracking Code of the Package. Only required if configured in the Shipping Method"
          },
          "shippingDate": {
            "type": "string",
            "description": "The Shipping Date of the Package. Only required if configured in the Shipping Method",
            "format": "date-time"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.DeliveryNoteItem": {
        "type": "object",
        "description": "A delivery note item",
        "additionalProperties": false,
        "required": [
          "id",
          "createdAt",
          "number"
        ],
        "properties": {
          "id": {
            "description": "Unique ID to identify a delivery note.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "format": "date-time"
          },
          "number": {
            "type": "string",
            "description": "Delivery note number"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.OrderDataItem": {
        "type": "object",
        "description": "Single Row of the order data query",
        "additionalProperties": false,
        "required": [
          "id",
          "orderId",
          "customerId",
          "companyId",
          "warehouseId",
          "shippingAddress",
          "companyAddress",
          "warehouseAddress",
          "deliveryNotes",
          "content"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The Package ID of the Order"
          },
          "totalWeight": {
            "type": "number",
            "description": "Total weight in kg (range 0-10000)",
            "format": "decimal"
          },
          "orderId": {
            "description": "Order ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "customerId": {
            "description": "Customer ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "companyId": {
            "description": "Company ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey"
          },
          "warehouseId": {
            "description": "Warehouse ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "shippingAddress": {
            "description": "Shipping address",
            "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.ShippingAddress"
          },
          "companyAddress": {
            "description": "Company address",
            "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.CompanyAddress"
          },
          "warehouseAddress": {
            "description": "Warehouse address",
            "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.WarehouseAddress"
          },
          "deliveryNotes": {
            "type": "array",
            "description": "List of delivery notes",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.DeliveryNoteItem"
            }
          },
          "content": {
            "type": "array",
            "description": "List of package content items",
            "items": {
              "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.PackageContent"
            }
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.PackageContent": {
        "type": "object",
        "description": "Represents a package content item",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "contentType",
          "amount"
        ],
        "properties": {
          "id": {
            "description": "Item ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "number": {
            "type": "string",
            "description": "Item number"
          },
          "contentType": {
            "type": "string",
            "description": "Content type (e.g. item, carton, openPosition)"
          },
          "amount": {
            "type": "number",
            "description": "Amount of the item in the package",
            "format": "decimal"
          },
          "weight": {
            "type": "number",
            "description": "Shipping Weight in kg (range: 0-10000)",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.ShippingAddress": {
        "type": "object",
        "description": "Represents a shipping address",
        "additionalProperties": false,
        "required": [
          "customsDocumentsRequired"
        ],
        "properties": {
          "company": {
            "type": "string",
            "description": "Company name"
          },
          "salutation": {
            "type": "string",
            "description": "Salutation"
          },
          "title": {
            "type": "string",
            "description": "Title"
          },
          "firstName": {
            "type": "string",
            "description": "First name"
          },
          "lastName": {
            "type": "string",
            "description": "Last name"
          },
          "street": {
            "type": "string",
            "description": "Street"
          },
          "zipCode": {
            "type": "string",
            "description": "Zip code"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "country": {
            "type": "string",
            "description": "Country"
          },
          "phone": {
            "type": "string",
            "description": "Phone"
          },
          "addressSupplement": {
            "type": "string",
            "description": "Address supplement"
          },
          "addressSupplement2": {
            "type": "string",
            "description": "Address supplement 2"
          },
          "postId": {
            "type": "string",
            "description": "Post ID"
          },
          "mobile": {
            "type": "string",
            "description": "Mobile"
          },
          "mail": {
            "type": "string",
            "description": "Mail"
          },
          "fax": {
            "type": "string",
            "description": "Fax"
          },
          "state": {
            "type": "string",
            "description": "State"
          },
          "iso": {
            "type": "string",
            "description": "ISO code"
          },
          "customsDocumentsRequired": {
            "type": "boolean",
            "description": "Customs documents required"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.ShipmentPackages.WarehouseAddress": {
        "type": "object",
        "description": "Represents a warehouse address",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "Warehouse ID",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "name": {
            "type": "string",
            "description": "Warehouse name"
          },
          "shortcut": {
            "type": "string",
            "description": "Shortcut"
          },
          "description": {
            "type": "string",
            "description": "Description"
          },
          "street": {
            "type": "string",
            "description": "Street"
          },
          "zipCode": {
            "type": "string",
            "description": "Zip code"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "country": {
            "type": "string",
            "description": "Country"
          },
          "phone": {
            "type": "string",
            "description": "Phone"
          },
          "mail": {
            "type": "string",
            "description": "Mail"
          },
          "addressSupplement": {
            "type": "string",
            "description": "Address supplement"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.StockMovement.StockMovementHistoryItem": {
        "type": "object",
        "description": "Provides paged access to stock movement history entries filtered by warehouse and optional criteria.",
        "additionalProperties": false,
        "required": [
          "articleNumber",
          "articleName",
          "quantity",
          "serialNumberCount",
          "timestamp"
        ],
        "properties": {
          "articleNumber": {
            "type": "string",
            "description": "Article number (cArtNr)."
          },
          "articleName": {
            "type": "string",
            "description": "Article display name."
          },
          "quantity": {
            "type": "number",
            "description": "Movement quantity.",
            "format": "decimal"
          },
          "bestBeforeDate": {
            "type": "string",
            "description": "Best-before date (MHD), if tracked.",
            "format": "date-time"
          },
          "batchNumber": {
            "type": "string",
            "description": "Batch/charge number."
          },
          "serialNumber": {
            "type": "string",
            "description": "First serial number linked to the movement."
          },
          "serialNumberCount": {
            "type": "integer",
            "description": "Count of serial numbers linked to the movement.",
            "format": "int32"
          },
          "sourceBinLocation": {
            "type": "string",
            "description": "Source bin location name."
          },
          "targetBinLocation": {
            "type": "string",
            "description": "Target bin location name."
          },
          "sourceBoxDisplayId": {
            "type": "string",
            "description": "Source shipping box display ID."
          },
          "targetBoxDisplayId": {
            "type": "string",
            "description": "Target shipping box display ID."
          },
          "transferTypeId": {
            "type": "integer",
            "description": "Transfer type key (kBuchungsArt).",
            "format": "int32"
          },
          "transferTypeName": {
            "type": "string",
            "description": "Transfer type name."
          },
          "userName": {
            "type": "string",
            "description": "User name."
          },
          "timestamp": {
            "type": "string",
            "description": "Movement timestamp.",
            "format": "date-time"
          },
          "comment": {
            "type": "string",
            "description": "Movement comment."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BatchListItem": {
        "type": "object",
        "description": "A list of batches for specific items and their quantities",
        "additionalProperties": false,
        "required": [
          "itemId",
          "batch",
          "quantity",
          "warehouseId"
        ],
        "properties": {
          "itemId": {
            "description": "Id of the Item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "batch": {
            "type": "string",
            "description": "The batch number"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the item in the batch",
            "format": "decimal"
          },
          "warehouseId": {
            "description": "Id of the Warehouse",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.BestBeforeListItem": {
        "type": "object",
        "description": "A list of best before dates (MHDs) for specific items and their quantities",
        "additionalProperties": false,
        "required": [
          "itemId",
          "bestBeforeDate",
          "quantity",
          "warehouseId"
        ],
        "properties": {
          "itemId": {
            "description": "Id of the Item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "bestBeforeDate": {
            "type": "string",
            "description": "The best before date (MHD)",
            "format": "date-time"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity of the item with this best before date",
            "format": "decimal"
          },
          "warehouseId": {
            "description": "Id of the Warehouse",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.InventoryManagementInformation": {
        "type": "object",
        "description": "Inventory management information (shelf life expiration date, batch number and/or serial numbers) to be taken into account for a stock posting. Each property is applicable only when the item is configured with the corresponding detailed inventory management.",
        "additionalProperties": false,
        "properties": {
          "shelfLifeExpirationDate": {
            "type": "string",
            "description": "The shelf life expiration date (best-before date) of the stock to be posted. Applicable only for items whose inventory management is based on a shelf life expiration date.",
            "format": "date-time"
          },
          "batchNumber": {
            "type": "string",
            "description": "The batch number of the stock to be posted. Applicable only for items whose inventory management is based on a batch number."
          },
          "serialNumbers": {
            "type": "array",
            "description": "The serial numbers of the stock to be posted. Applicable only for items whose inventory management is based on serial numbers; the number of serial numbers must match the quantity to be posted.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStock": {
        "type": "object",
        "description": "Provides paged access to stock entries filtered by warehouse, bin location, or article.",
        "additionalProperties": false,
        "required": [
          "stockEntryId",
          "warehouseId",
          "binLocationId",
          "articleId",
          "availableQuantity",
          "reservedQuantity"
        ],
        "properties": {
          "stockEntryId": {
            "description": "Unique identifier of the stock entry.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerEingangKey"
          },
          "warehouseId": {
            "description": "Warehouse that owns the stock entry.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "binLocationId": {
            "description": "Bin location containing the stock entry.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "articleId": {
            "description": "Article stored in the stock entry.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available quantity (fAnzahlAktuell).",
            "format": "decimal"
          },
          "reservedQuantity": {
            "type": "number",
            "description": "Quantity reserved for pick positions (fAnzahlReserviertPickpos).",
            "format": "decimal"
          },
          "batchNumber": {
            "type": "string",
            "description": "Batch/charge number, empty when not tracked."
          },
          "bestBeforeDate": {
            "type": "string",
            "description": "Best-before date (MHD) if tracked.",
            "format": "date-time"
          },
          "serialNumber": {
            "type": "string",
            "description": "Serial number associated with the stock entry."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.QueryStockItem": {
        "type": "object",
        "description": "Single Row of the serial number query",
        "additionalProperties": false,
        "required": [
          "storageLocationId",
          "itemId",
          "quantityTotal",
          "comment1",
          "comment2"
        ],
        "properties": {
          "storageLocationId": {
            "description": "Id of the storage location if the warehouse type is JTL-WMS.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "itemId": {
            "description": "Id of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantityTotal": {
            "type": "number",
            "description": "Total quantity of this item at this storage location.",
            "format": "decimal"
          },
          "comment1": {
            "type": "string",
            "description": "Comment1"
          },
          "comment2": {
            "type": "string",
            "description": "Comment2"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.SerialNumberListItem": {
        "type": "object",
        "description": "Single Row of the serial number query",
        "additionalProperties": false,
        "required": [
          "warehouseId",
          "itemId",
          "serialNumber",
          "isActive"
        ],
        "properties": {
          "warehouseId": {
            "description": "Id of the Warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "storageLocationId": {
            "description": "Id of the storage location if the warehouse type is JTL-WMS.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "itemId": {
            "description": "Id of the item.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "serialNumber": {
            "type": "string",
            "description": "Serial numbers of the item."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates if the serial number is active."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockPostingResponse": {
        "type": "object",
        "description": "The resulting stock for the item in the warehouse after a stock posting has been executed. Shared by the inbound and outbound stock posting endpoints.",
        "additionalProperties": false,
        "required": [
          "totalQuantity"
        ],
        "properties": {
          "totalQuantity": {
            "type": "number",
            "description": "The item's total physical stock (on-hand, including reserved) in the warehouse after the posting.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockReservationListItem": {
        "type": "object",
        "description": "Single Row of the stock reservations query",
        "additionalProperties": false,
        "required": [
          "itemId",
          "salesOrderId",
          "customerId",
          "amount",
          "createdAt",
          "platform"
        ],
        "properties": {
          "itemId": {
            "description": "Id of the item",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "salesOrderId": {
            "description": "Id of the sales order",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "customerId": {
            "description": "Id of the customer",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.KundeKey"
          },
          "amount": {
            "type": "number",
            "description": "Reserved amount",
            "format": "decimal"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation date of the reservation",
            "format": "date-time"
          },
          "ebayItemId": {
            "type": "string",
            "description": "eBay item identifier"
          },
          "platform": {
            "type": "string",
            "description": "Sales platform"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.WarehouseItemStock": {
        "type": "object",
        "description": "An item's stock in a single warehouse.",
        "additionalProperties": false,
        "required": [
          "totalQuantity",
          "lockedQuantity"
        ],
        "properties": {
          "totalQuantity": {
            "type": "number",
            "description": "The item's total physical stock in the specified warehouse: the quantity on hand there, including quantities that are locked or committed to orders. Reported as 0 for a bill-of-materials item or a variation parent, which hold no physical stock of their own - unlike GET items/{itemId}/stocks, this endpoint does not roll their stock up from components or variations.",
            "format": "decimal"
          },
          "lockedQuantity": {
            "type": "number",
            "description": "The part of totalQuantity that is locked from availability in the specified warehouse, reported as stored rather than computed. Two cases produce it: stock lying on a locked bin location, where the entire quantity on that bin counts, and otherwise stock committed to open production pick lists. Quantities committed to open sales orders are NOT part of this figure - neither before nor after picking - because a sales order carries no warehouse assignment in the database; a warehouse-specific share of it therefore does not exist. Deduct this value from totalQuantity to obtain the disposable quantity in this warehouse. Never negative - the underlying column is constrained to be at or above 0 - but it can exceed totalQuantity, because no constraint relates the two; the deduction can therefore yield a negative disposable quantity. Reported as 0 for a bill-of-materials item or a variation parent, for the same reason as totalQuantity.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ActivityType": {
        "type": "object",
        "description": "Reference data describing available employee tracking activity types.",
        "additionalProperties": false,
        "required": [
          "value",
          "name"
        ],
        "properties": {
          "value": {
            "type": "integer",
            "description": "Activity type numeric value (kBuchungsart).",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Display name of the activity type."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.AssignShippingBoxToLocationCommandRequest": {
        "type": "object",
        "description": "Reassigns a shipping box to a different bin location (Rule SB-5). - Request",
        "additionalProperties": false,
        "required": [
          "shippingBoxId",
          "binLocationId"
        ],
        "properties": {
          "shippingBoxId": {
            "description": "The shipping box to reassign.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LhmKey"
          },
          "binLocationId": {
            "description": "New bin location.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.BinLocationPickHeatmapItem": {
        "type": "object",
        "description": "Single row of the bin location pick heatmap query.",
        "additionalProperties": false,
        "required": [
          "binLocationId",
          "warehouseId",
          "pickCount",
          "pickQuantity"
        ],
        "properties": {
          "binLocationId": {
            "description": "Id of the bin location.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "warehouseId": {
            "description": "Warehouse that owns this bin location.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "pickCount": {
            "type": "integer",
            "description": "Number of completed pick operations in the selected time period.",
            "format": "int32"
          },
          "pickQuantity": {
            "type": "number",
            "description": "Total quantity picked in the selected time period.",
            "format": "decimal"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.CreateShippingBoxCommandRequest": {
        "type": "object",
        "description": "Creates a new shipping box within a warehouse. - Request",
        "additionalProperties": false,
        "required": [
          "warehouseId",
          "displayId",
          "typeId",
          "binLocationId",
          "attributes"
        ],
        "properties": {
          "warehouseId": {
            "description": "Warehouse to create the box in.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "displayId": {
            "type": "string",
            "description": "Display name for the box (must be unique within warehouse)."
          },
          "typeId": {
            "description": "Box type (immutable after creation).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LhmTypeKey"
          },
          "binLocationId": {
            "description": "Bin location to assign the box to.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "attributes": {
            "type": "array",
            "description": "Optional list of free-form attributes.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.CreateShippingBoxCommandResponse": {
        "type": "object",
        "description": "Creates a new shipping box within a warehouse. - Response",
        "additionalProperties": false,
        "required": [
          "shippingBoxId"
        ],
        "properties": {
          "shippingBoxId": {
            "description": "The ID of the newly created shipping box.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LhmKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.EmployeeLocationItem": {
        "type": "object",
        "description": "Last tracked bin location activity per employee.",
        "additionalProperties": false,
        "required": [
          "userIdentifier",
          "userName",
          "lastActivityTimestamp",
          "binLocationId",
          "activityTypeId",
          "activityTypeName"
        ],
        "properties": {
          "userIdentifier": {
            "type": "integer",
            "description": "Employee user ID (kBenutzer).",
            "format": "int32"
          },
          "userName": {
            "type": "string",
            "description": "Employee display name."
          },
          "lastActivityTimestamp": {
            "type": "string",
            "description": "Timestamp of the last tracked activity.",
            "format": "date-time"
          },
          "binLocationId": {
            "description": "Bin location where the last activity occurred.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "activityTypeId": {
            "description": "Activity type of the last activity.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.BuchungsArtKey"
          },
          "activityTypeName": {
            "type": "string",
            "description": "Display name of the activity type."
          },
          "articleId": {
            "description": "Article involved in the activity, if available.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "articleName": {
            "type": "string",
            "description": "Article display name or number, if available."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxListItem": {
        "type": "object",
        "description": "Single row of the shipping boxes overview list.",
        "additionalProperties": false,
        "required": [
          "id",
          "displayId",
          "warehouseId"
        ],
        "properties": {
          "id": {
            "description": "Shipping box identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LhmKey"
          },
          "displayId": {
            "type": "string",
            "description": "Display name of the shipping box."
          },
          "typeId": {
            "description": "Box type identifier (nullable in DB).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LhmTypeKey"
          },
          "binLocationId": {
            "description": "Assigned bin location (can be 0 or null in DB).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "warehouseId": {
            "description": "Parent warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "locked": {
            "type": "boolean",
            "description": "Lock status (false=unlocked, true=locked). Nullable in database."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.ShippingBoxType": {
        "type": "object",
        "description": "Reference data describing an available shipping box type.",
        "additionalProperties": false,
        "required": [
          "value",
          "name"
        ],
        "properties": {
          "value": {
            "description": "Box type identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LhmTypeKey"
          },
          "name": {
            "type": "string",
            "description": "Display name for the box type."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseAssistant.UpdateShippingBoxMetadataCommandRequest": {
        "type": "object",
        "description": "Updates mutable metadata of an existing shipping box. TypeId is immutable (Rule SB-3). - Request",
        "additionalProperties": false,
        "required": [
          "shippingBoxId",
          "displayId",
          "attributes"
        ],
        "properties": {
          "shippingBoxId": {
            "description": "The shipping box to update.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LhmKey"
          },
          "displayId": {
            "type": "string",
            "description": "New display name (omit to keep existing)."
          },
          "attributes": {
            "type": "array",
            "description": "Replacement attribute list (omit to keep existing).",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.StorageLocationListItem": {
        "type": "object",
        "description": "Single Row of the storage location query",
        "additionalProperties": false,
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "description": "Id of the storage location.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          },
          "name": {
            "type": "string",
            "description": "Default storage location name"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Warehouses.WarehouseListItem": {
        "type": "object",
        "description": "Single Row of the warehouse query",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "active"
        ],
        "properties": {
          "id": {
            "description": "Id of the warehouse.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "name": {
            "type": "string",
            "description": "Default warehouse name"
          },
          "active": {
            "type": "boolean",
            "description": "Describes if the warehouse is active"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.AddBinLocationsToZoneCommandRequest": {
        "type": "object",
        "description": "Adds bin locations to a warehouse zone. - Request",
        "additionalProperties": false,
        "required": [
          "binLocationIds"
        ],
        "properties": {
          "binLocationIds": {
            "type": "array",
            "description": "Bin locations to add to the zone.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
            }
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.CreateWarehouseZoneCommandRequest": {
        "type": "object",
        "description": "Creates a new warehouse zone. - Request",
        "additionalProperties": false,
        "required": [
          "warehouseId",
          "code",
          "zoneType"
        ],
        "properties": {
          "warehouseId": {
            "description": "Warehouse to create the zone in.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "code": {
            "type": "string",
            "description": "Zone short code (must be unique within the warehouse)."
          },
          "zoneType": {
            "type": "integer",
            "description": "Zone type (0=Standard, 1=Picking, 2=Replenishment, 3=Reserve).",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Optional zone description."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.CreateWarehouseZoneCommandResponse": {
        "type": "object",
        "description": "Creates a new warehouse zone. - Response",
        "additionalProperties": false,
        "required": [
          "zoneId"
        ],
        "properties": {
          "zoneId": {
            "description": "The ID of the newly created warehouse zone.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerBereichKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.RemoveBinLocationsFromZoneCommandRequest": {
        "type": "object",
        "description": "Removes bin locations from a warehouse zone. - Request",
        "additionalProperties": false,
        "required": [
          "binLocationIds"
        ],
        "properties": {
          "binLocationIds": {
            "type": "array",
            "description": "Bin locations to remove from the zone.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
            }
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.UpdateWarehouseZoneMetadataCommandRequest": {
        "type": "object",
        "description": "Updates mutable metadata (code, description, type) of an existing warehouse zone. - Request",
        "additionalProperties": false,
        "required": [
          "zoneId",
          "code",
          "zoneType",
          "description"
        ],
        "properties": {
          "zoneId": {
            "description": "The zone to update.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerBereichKey"
          },
          "code": {
            "type": "string",
            "description": "New zone short code (omit to keep existing)."
          },
          "zoneType": {
            "type": "integer",
            "description": "New zone type (omit to keep existing).",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "New zone description (omit to keep existing)."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.WarehouseZoneListItem": {
        "type": "object",
        "description": "Single row of the warehouse zones overview list.",
        "additionalProperties": false,
        "required": [
          "zoneId",
          "code",
          "warehouseId",
          "zoneType"
        ],
        "properties": {
          "zoneId": {
            "description": "Unique zone identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerBereichKey"
          },
          "code": {
            "type": "string",
            "description": "Zone short code."
          },
          "description": {
            "type": "string",
            "description": "Zone description (may be empty)."
          },
          "warehouseId": {
            "description": "Warehouse that owns this zone.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "zoneType": {
            "type": "integer",
            "description": "Zone type enum value (0=Standard, 1=Picking, 2=Replenishment, 3=Reserve).",
            "format": "int32"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneBinLocationItem": {
        "type": "object",
        "description": "Represents a bin location assigned to a warehouse zone.",
        "additionalProperties": false,
        "required": [
          "zoneId",
          "binLocationId"
        ],
        "properties": {
          "zoneId": {
            "description": "Zone identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerBereichKey"
          },
          "binLocationId": {
            "description": "Bin location identifier.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.WarehouseZone.ZoneType": {
        "type": "object",
        "description": "Reference data describing an available warehouse zone type.",
        "additionalProperties": false,
        "required": [
          "value",
          "name"
        ],
        "properties": {
          "value": {
            "type": "integer",
            "description": "Zone type numeric value (0=Standard, 1=Picking, 2=Replenishment, 3=Reserve).",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Display name for the zone type."
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.BinLocationManagement.QueryBinLocationOccupancyRequest": {
        "type": "object",
        "description": "Request model for QueryBinLocationOccupancy query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.BinLocationManagement.QueryBinLocationsRequest": {
        "type": "object",
        "description": "Request model for QueryBinLocations query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Picklists.QueryPicklistsRequest": {
        "type": "object",
        "description": "Request model for QueryPicklists query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.StockMovement.QueryStockMovementHistoryRequest": {
        "type": "object",
        "description": "Request model for QueryStockMovementHistory query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.ExecuteInboundStockPostingRequest": {
        "type": "object",
        "description": "Request model for ExecuteInboundStockPosting command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "description": "The positive quantity to be added to the item's current stock (relative delta, must be greater than 0).",
            "format": "decimal"
          },
          "inventoryManagementInformation": {
            "description": "Optional inventory management information (shelf life expiration date, batch number and/or serial numbers) to be taken into account. Applicable only for items configured with detailed inventory management.",
            "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.InventoryManagementInformation"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.ExecuteOutboundStockPostingRequest": {
        "type": "object",
        "description": "Request model for ExecuteOutboundStockPosting command endpoint.\nRoute parameters bind from the route, query parameters from the query string, everything else from the body.",
        "additionalProperties": false,
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "description": "The positive quantity to be removed from the item's current stock (relative delta, must be greater than 0).",
            "format": "decimal"
          },
          "inventoryManagementInformation": {
            "description": "Optional inventory management information (shelf life expiration date, batch number and/or serial numbers) to be taken into account. Applicable only for items configured with detailed inventory management.",
            "$ref": "#/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.InventoryManagementInformation"
          }
        }
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.GetWarehouseStockByItemIdRequest": {
        "type": "object",
        "description": "Request model for GetWarehouseStockByItemId query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.QueryBatchesRequest": {
        "type": "object",
        "description": "Request model for QueryBatches query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.QueryBestBeforeDatesRequest": {
        "type": "object",
        "description": "Request model for QueryBestBeforeDates query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.QuerySerialNumbersRequest": {
        "type": "object",
        "description": "Request model for QuerySerialNumbers query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.QueryStockItemRequest": {
        "type": "object",
        "description": "Request model for QueryStockItem query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.QueryStockRequest": {
        "type": "object",
        "description": "Request model for QueryStock query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.QueryStockReservationsRequest": {
        "type": "object",
        "description": "Request model for QueryStockReservations query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseAssistant.QueryActivityTypesRequest": {
        "type": "object",
        "description": "Request model for QueryActivityTypes query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseAssistant.QueryBinLocationPickHeatmapRequest": {
        "type": "object",
        "description": "Request model for QueryBinLocationPickHeatmap query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseAssistant.QueryEmployeeLocationRequest": {
        "type": "object",
        "description": "Request model for QueryEmployeeLocation query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseAssistant.QueryEmployeeLocationsRequest": {
        "type": "object",
        "description": "Request model for QueryEmployeeLocations query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseAssistant.QueryShippingBoxesRequest": {
        "type": "object",
        "description": "Request model for QueryShippingBoxes query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseAssistant.QueryShippingBoxTypesRequest": {
        "type": "object",
        "description": "Request model for QueryShippingBoxTypes query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Warehouses.QueryStorageLocationsRequest": {
        "type": "object",
        "description": "Request model for QueryStorageLocations query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Warehouses.QueryWarehousesRequest": {
        "type": "object",
        "description": "Request model for QueryWarehouses query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseZone.QueryWarehouseZonesRequest": {
        "type": "object",
        "description": "Request model for QueryWarehouseZones query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseZone.QueryZoneBinLocationsRequest": {
        "type": "object",
        "description": "Request model for QueryZoneBinLocations query endpoint",
        "additionalProperties": false
      },
      "JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.WarehouseZone.QueryZoneTypesRequest": {
        "type": "object",
        "description": "Request model for QueryZoneTypes query endpoint",
        "additionalProperties": false
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.DimensionsInput": {
        "type": "object",
        "description": "Package dimensions in centimetres (cm).",
        "additionalProperties": false,
        "required": [
          "length",
          "width",
          "height"
        ],
        "properties": {
          "length": {
            "type": "number",
            "description": "Length in cm.",
            "format": "decimal"
          },
          "width": {
            "type": "number",
            "description": "Width in cm.",
            "format": "decimal"
          },
          "height": {
            "type": "number",
            "description": "Height in cm.",
            "format": "decimal"
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackageInput": {
        "type": "object",
        "description": "One package with its positions, shipping method, weight, dimensions, optional packaging materials, SSCC, tracking id and delivery date.",
        "additionalProperties": false,
        "required": [
          "positions",
          "shippingMethodId",
          "weight"
        ],
        "properties": {
          "positions": {
            "type": "array",
            "description": "The positions packed into this package.",
            "items": {
              "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagePositionInput"
            }
          },
          "shippingMethodId": {
            "description": "The shipping method of this package. Id GUIDs are database-specific — see the order id of the request; obtain this one from the shipping-method read endpoints, or send the plain integer key.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
          },
          "weight": {
            "type": "number",
            "description": "The package weight in kilograms.",
            "format": "decimal"
          },
          "dimensions": {
            "description": "Optional package dimensions (length x width x height); only used for freight shipments (feature-flagged), ignored otherwise.",
            "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.DimensionsInput"
          },
          "packagingMaterials": {
            "type": "array",
            "description": "Optional packaging materials (e.g. cartons) used for this package.",
            "items": {
              "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagingMaterialInput"
            }
          },
          "sscc": {
            "type": "string",
            "description": "The SSCC of this package; generated server-side when omitted."
          },
          "trackingId": {
            "type": "string",
            "description": "Per-package tracking id. For shipping methods that require a tracking id the package cannot be completed without it; ignored for jtl-Shipping packages."
          },
          "deliveryDate": {
            "type": "string",
            "description": "Per-package delivery date. When set, the package is marked shipped (tVersand.dVersendet); ignored for jtl-Shipping packages.",
            "format": "date-time"
          },
          "packagingMaterialBinLocationId": {
            "description": "Optional WMS bin location (kWarenLagerPlatz) the package's packaging materials are taken from. WMS-internal; when omitted, the server uses the bin location of the oldest in-stock packaging material (FIFO by goods-receipt date).",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenLagerPlatzKey"
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagePositionDataInput": {
        "type": "object",
        "description": "Serial-number / batch / best-before data for a packed position.",
        "additionalProperties": false,
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Quantity for this data row.",
            "format": "decimal"
          },
          "serialNumber": {
            "type": "string",
            "description": "Serial number, when applicable."
          },
          "batchNumber": {
            "type": "string",
            "description": "Batch / charge number, when applicable."
          },
          "bestBeforeDate": {
            "type": "string",
            "description": "Best-before date, when applicable.",
            "format": "date-time"
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagePositionInput": {
        "type": "object",
        "description": "A packed position. Identify EITHER by PicklistPositionId OR by ItemId plus its Data rows.",
        "additionalProperties": false,
        "required": [
          "quantity"
        ],
        "properties": {
          "picklistPositionId": {
            "description": "The picklist position being packed (kPicklistePos) — variant A. Id GUIDs are database-specific; obtain this one from the picklist read endpoints, or send the plain integer key.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklistePosKey"
          },
          "itemId": {
            "description": "The item being packed (kArtikel) — variant B. Id GUIDs are database-specific; obtain this one from the item read endpoints, or send the plain integer key.",
            "example": "b45f6432-2462-4c6f-b00f-1d9d01000000",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The packed quantity for this position.",
            "format": "decimal"
          },
          "data": {
            "type": "array",
            "description": "Optional serial-number / batch / best-before data rows for this position.",
            "items": {
              "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagePositionDataInput"
            }
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagingMaterial": {
        "type": "object",
        "description": "A packaging material (Packmittel) of the system — an article marked with the Wawi packaging-material special type (nSonderTyp = 1).",
        "additionalProperties": false,
        "required": [
          "id",
          "sku",
          "shippingWeight",
          "itemWeight",
          "assignedShippingMethodIds"
        ],
        "properties": {
          "id": {
            "description": "The packaging material article id (kArtikel).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "sku": {
            "type": "string",
            "description": "The article number (SKU) of the packaging material."
          },
          "name": {
            "type": "string",
            "description": "The article name of the packaging material in the system's default language; absent when no description exists."
          },
          "gtin": {
            "type": "string",
            "description": "The GTIN/EAN of the packaging material, when maintained."
          },
          "shippingWeight": {
            "type": "number",
            "description": "The shipping weight of the packaging material in kilograms.",
            "format": "decimal"
          },
          "itemWeight": {
            "type": "number",
            "description": "The article (net) weight of the packaging material in kilograms.",
            "format": "decimal"
          },
          "assignedShippingMethodIds": {
            "type": "array",
            "description": "The shipping methods (kVersandArt) the packaging material is assigned to / allowed for.",
            "items": {
              "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey"
            }
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackagingMaterialInput": {
        "type": "object",
        "description": "A packaging material (e.g. a carton) consumed while packing.",
        "additionalProperties": false,
        "required": [
          "itemId"
        ],
        "properties": {
          "itemId": {
            "description": "The packaging-material item (kArtikel). Id GUIDs are database-specific; obtain this one from the item read endpoints, or send the plain integer key.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey"
          },
          "quantity": {
            "type": "number",
            "description": "The number of this packaging material used (defaults to 1 when omitted).",
            "format": "decimal"
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShipOrderCommandRequest": {
        "type": "object",
        "description": "Ships an order after batch picking — packs it into packages and persists it to the database. A package is marked shipped only when its DeliveryDate is supplied (and, for shipping methods that require a tracking id, only when its TrackingId is supplied); jtl-Shipping packages complete themselves. Each package carries its positions, shipping method, weight, dimensions, optional packaging materials, SSCC, tracking id and delivery date. Returns the created delivery note and packages. A per-package PackageId (for shipping-label retrieval) is only assigned when the shipping-preparation feature and licence are active. - Request",
        "additionalProperties": false,
        "required": [
          "orderId",
          "picklistId",
          "warehouseId",
          "userId",
          "packages"
        ],
        "properties": {
          "orderId": {
            "description": "The order to ship (kAuftrag). An id GUID is specific to the database that issued it: the example below is illustrative and resolves on no other database, while a GUID obtained from a given database stays valid there across updates and restores. Obtain it from this installation's sales-order read endpoints, or send the plain integer key, which is the same on every database.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey"
          },
          "picklistId": {
            "description": "The picklist associated with the order (kPickliste). Id GUIDs are database-specific — see OrderId; obtain this one from the picklist read endpoints.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.PicklisteKey"
          },
          "warehouseId": {
            "description": "The warehouse the packing runs on (kWarenLager). Id GUIDs are database-specific — see OrderId; obtain this one from the warehouse read endpoints.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey"
          },
          "userId": {
            "description": "The packing user (kBenutzer). Id GUIDs are database-specific — see OrderId; there is no user read endpoint, but the sales-order read endpoints expose the user ids of an order.",
            "$ref": "#/components/schemas/JTL.Identity.Abstractions.BenutzerKey"
          },
          "comment": {
            "type": "string",
            "description": "Optional packing comment (cKommentar)."
          },
          "isPartialDelivery": {
            "type": "boolean",
            "description": "Whether this is a partial delivery; drives the SP packing mode."
          },
          "packages": {
            "type": "array",
            "description": "The packages, each with its own positions, shipping method, weight, dimensions, packaging materials and SSCC.",
            "items": {
              "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.PackageInput"
            }
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShipOrderResponse": {
        "type": "object",
        "description": "The delivery notes and packages created by a ShipOrder call. Today one call creates exactly one delivery note; the list keeps the contract extensible.",
        "additionalProperties": false,
        "required": [
          "deliveryNotes"
        ],
        "properties": {
          "deliveryNotes": {
            "type": "array",
            "description": "The delivery notes created by this call (currently exactly one).",
            "items": {
              "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShippedDeliveryNote"
            }
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShippedDeliveryNote": {
        "type": "object",
        "description": "One delivery note created by a ShipOrder call, with the packages created for it.",
        "additionalProperties": false,
        "required": [
          "id",
          "number",
          "packages"
        ],
        "properties": {
          "id": {
            "description": "The created delivery note (kLieferschein).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.LieferscheinKey"
          },
          "number": {
            "type": "string",
            "description": "The delivery note number (cLieferscheinNr) computed server-side."
          },
          "packages": {
            "type": "array",
            "description": "The packages created for this delivery note, in creation order.",
            "items": {
              "$ref": "#/components/schemas/JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShippedPackage"
            }
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.DataTransferObjects.V2.Shipment.ShippedPackage": {
        "type": "object",
        "description": "One package created by a ShipOrder call.",
        "additionalProperties": false,
        "required": [
          "id",
          "isShipped"
        ],
        "properties": {
          "id": {
            "description": "The created shipment package (kVersand).",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.VersandKey"
          },
          "packageId": {
            "type": "string",
            "description": "The package id assigned to this package — the identifier the shipping-label endpoint (GET v2/wms/shipping-line/packages/{packageId}/label) consumes. Only assigned when the shipping-preparation feature AND licence are active; absent otherwise, in which case no shipping label can be retrieved for the package."
          },
          "trackingId": {
            "type": "string",
            "description": "The tracking id stored on the shipment package (tVersand.cIdentCode); absent when none."
          },
          "isShipped": {
            "type": "boolean",
            "description": "Whether the package was marked shipped (tVersand.dVersendet set). False when the package was packed without a delivery date (packed but not yet shipped)."
          }
        }
      },
      "JTL.WMS.Shipment.PublicApi.Endpoints.V2.Shipment.QueryPackagingMaterialsRequest": {
        "type": "object",
        "description": "Request model for QueryPackagingMaterials query endpoint",
        "additionalProperties": false
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.ConfigureWorkerSyncCommandRequest": {
        "type": "object",
        "description": "Configures a worker sync (interval and configuration values). - Request",
        "additionalProperties": false,
        "properties": {
          "interval": {
            "type": "string",
            "description": "The new sync interval. When not sent the interval is left unchanged.",
            "format": "duration"
          },
          "configurations": {
            "type": "array",
            "description": "The configuration values to assign. When not sent no configuration value is changed.",
            "items": {
              "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncConfigAssignment"
            }
          }
        }
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.ControlWorkerSyncCommandRequest": {
        "type": "object",
        "description": "Controls a worker sync (start, stop or restart). - Request",
        "additionalProperties": false,
        "required": [
          "action"
        ],
        "properties": {
          "action": {
            "description": "The control action to execute.",
            "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerControlAction"
          }
        }
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.SyncState": {
        "type": "integer",
        "description": "0 = Suspended, 1 = Starting, 2 = Running, 3 = SuccessfullFinished, 4 = SleepingError, 5 = Stopping, 6 = SleepingErrorGesperrt, 7 = Deactivated",
        "format": "int32",
        "x-enumNames": [
          "Suspended",
          "Starting",
          "Running",
          "SuccessfullFinished",
          "SleepingError",
          "Stopping",
          "SleepingErrorGesperrt",
          "Deactivated"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerControlAction": {
        "type": "integer",
        "description": "0 = Start, 1 = Stop, 2 = Restart",
        "format": "int32",
        "x-enumNames": [
          "Start",
          "Stop",
          "Restart"
        ],
        "enum": [
          0,
          1,
          2
        ]
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncConfig": {
        "type": "object",
        "description": "A single configuration entry of a worker sync.",
        "additionalProperties": false,
        "required": [
          "identifier",
          "displayName",
          "displayDescription",
          "type",
          "isRequired"
        ],
        "properties": {
          "identifier": {
            "description": "The unique identifier of the configuration entry.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ConfigKey"
          },
          "displayName": {
            "type": "string",
            "description": "The display name of the configuration entry."
          },
          "displayDescription": {
            "type": "string",
            "description": "The display description of the configuration entry."
          },
          "type": {
            "type": "string",
            "description": "The type name of the configuration value."
          },
          "currentValue": {
            "type": "string",
            "description": "The current value of the configuration entry."
          },
          "isRequired": {
            "type": "boolean",
            "description": "Indicates whether the configuration entry is required."
          }
        }
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncConfigAssignment": {
        "type": "object",
        "description": "A single configuration value to assign to a worker sync.",
        "additionalProperties": false,
        "required": [
          "identifier"
        ],
        "properties": {
          "identifier": {
            "description": "The identifier of the configuration entry to set.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.ConfigKey"
          },
          "value": {
            "type": "string",
            "description": "The value to assign to the configuration entry."
          }
        }
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncItem": {
        "type": "object",
        "description": "A worker sync and its configuration.",
        "additionalProperties": false,
        "required": [
          "identifier",
          "syncName",
          "reportProgress",
          "configurations"
        ],
        "properties": {
          "identifier": {
            "description": "The unique identifier of a sync.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WorkerSyncKey"
          },
          "syncName": {
            "type": "string",
            "description": "The name of the sync."
          },
          "salesChannelName": {
            "type": "string",
            "description": "The name of the sales channel."
          },
          "salesChannelId": {
            "description": "The sales channel for the sync.",
            "$ref": "#/components/schemas/JTL.Wawi.Rest.Contracts.Models.SalesChannelId"
          },
          "interval": {
            "type": "string",
            "description": "The sync interval.",
            "format": "duration"
          },
          "reportProgress": {
            "type": "boolean",
            "description": "Indicates whether the sync reports progress in percent."
          },
          "configurations": {
            "type": "array",
            "description": "The configuration entries of the worker sync.",
            "items": {
              "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncConfig"
            }
          }
        }
      },
      "JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.WorkerSyncStatus": {
        "type": "object",
        "description": "The current status of a worker sync.",
        "additionalProperties": false,
        "required": [
          "identifier",
          "state",
          "progress",
          "lastSync",
          "nextSync"
        ],
        "properties": {
          "identifier": {
            "description": "The unique identifier of a sync.",
            "$ref": "#/components/schemas/JTL.Data.Contracts.Keys.WorkerSyncKey"
          },
          "state": {
            "description": "The current state of the sync.",
            "$ref": "#/components/schemas/JTL.Worker.PublicApi.DataTransferObjects.V2.Worker.SyncState"
          },
          "progressText": {
            "type": "string",
            "description": "The latest progress text reported by the sync."
          },
          "progress": {
            "type": "number",
            "description": "The progress in percent. A negative value indicates that no progress is reported.",
            "format": "double"
          },
          "lastSync": {
            "type": "string",
            "description": "The timestamp of the last sync run.",
            "format": "date-time"
          },
          "nextSync": {
            "type": "string",
            "description": "The timestamp of the next scheduled sync run.",
            "format": "date-time"
          }
        }
      }
    },
    "securitySchemes": {
      "oauth2-authorization-code": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://auth.jtl-cloud.com/oauth2/auth",
            "tokenUrl": "https://auth.jtl-cloud.com/oauth2/token",
            "scopes": {
              "inventories.write": "Grants permission to modify stock levels.",
              "inventory.read": "Grants permission to read stock levels.",
              "inventory.write": "Grants permission to modify stock levels.",
              "items.read": "Grants permission to read item data.",
              "items.write": "Grants permission to create and modify item data.",
              "procurements.read": "Beschaffung lesen",
              "saleschannels.read": "Grants permission to read sales channels.",
              "saleschannels.write": "Grants permission to create and modify sales channels.",
              "all.read": "Allows the application to read all data.",
              "customers.read": "Grants permission to read customer data.",
              "customers.write": "Grants permission to create and modify customer data.",
              "customfields.read": "Grants permission to read custom fields.",
              "customfields.write": "Grants permission to create and modify custom fields.",
              "deliveries.read": "Grants permission to read deliveries.",
              "deliveries.write": "Grants permission to create and modify deliveries.",
              "deliverynotes.print": "Grants permission to print and output delivery notes.",
              "deliverynotes.read": "Grants permission to read delivery notes.",
              "deliverynotes.write": "Grants permission to create and modify delivery notes.",
              "extensibility.integration": "Grants permission to manage extensions and integrations of the JTL-Wawi.",
              "inventories.read": "Grants permission to read stock levels.",
              "invoices.read": "Grants permission to read invoices.",
              "invoices.write": "Grants permission to create and modify invoices.",
              "labels.read": "Grants permission to read labels.",
              "labels.write": "Grants permission to create and modify labels.",
              "masterdata.read": "Read master data such as shipping methods, payment methods, color codes and tax classes.",
              "orders.read": "Grants permission to read orders.",
              "picklists.read": "Grants permission to read pick lists.",
              "picklists.write": "Grants permission to create and modify pick lists.",
              "returns.read": "Grants permission to read returns.",
              "returns.write": "Grants permission to create and modify returns.",
              "salesinvoicecorrections.read": "Grants permission to read invoice corrections.",
              "salesinvoicecorrections.write": "Grants permission to create and modify invoice corrections.",
              "salesorders.print": "Grants permission to print and output sales orders.",
              "salesorders.read": "Grants permission to read sales orders.",
              "salesorders.write": "Grants permission to create and modify sales orders.",
              "system.config.read": "Grants permission to read the system configuration.",
              "system.config.write": "Grants permission to modify the system configuration.",
              "taxes.read": "Grants permission to read tax data.",
              "warehouse.read": "Grants permission to read warehouse data.",
              "wawiapp.all": "Grants access to Wawi app related operations.",
              "currencies.read": "Grants read access to currencies.",
              "jera.read": "Grants read access to JERA internal endpoints.",
              "paymentmethods.read": "Grants read access to payment methods.",
              "payments.read": "Ermöglicht den Lesezugriff auf Zahlungen.",
              "payments.write": "Ermöglicht den Schreibzugriff auf Zahlungen.",
              "salesinvoicecorrections.print": "Grants permission to print and output invoice corrections.",
              "salesinvoices.print": "Grants permission to print and output sales invoices.",
              "salesinvoices.read": "Grants read access to sales invoices.",
              "salesinvoices.write": "Grants write access to sales invoices.",
              "salesquotations.print": "Grants permission to print and output sales quotations.",
              "salesquotations.read": "Grants read access to sales quotations.",
              "salesquotations.write": "Grants write access to sales quotations.",
              "system.worker.read": "Worker-Synchronisationen lesen",
              "system.worker.write": "Worker-Synchronisationen schreiben",
              "resources.read": "Grants permission to read resource management data.",
              "resources.write": "Grants permission to create and modify resource management data.",
              "pps.read": "Grants permission to read production data.",
              "pps.write": "Grants permission to create and modify production data.",
              "channels.read": "Grants permission to read marketplace channels.",
              "invoices.print": "Grants permission to print marketplace external documents (invoices, credit notes).",
              "marketplaceoffers.read": "Grants permission to read marketplace offers and offer failures.",
              "marketplaceoffers.write": "Grants permission to create and modify marketplace offers.",
              "notifications.read": "Grants permission to read marketplace notifications.",
              "orders.write": "Grants permission to modify marketplace order data (exclude/reset cancellation, payment, return and shipping uploads).",
              "masterdata.write": "Write master data",
              "taxes.write": "Grants permission to create and modify tax data.",
              "application.runas": "Allows the application to execute requests on behalf of another user."
            }
          }
        }
      },
      "oauth2-client-credentials": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://auth.jtl-cloud.com/oauth2/token",
            "scopes": {
              "inventories.write": "Grants permission to modify stock levels.",
              "inventory.read": "Grants permission to read stock levels.",
              "inventory.write": "Grants permission to modify stock levels.",
              "items.read": "Grants permission to read item data.",
              "items.write": "Grants permission to create and modify item data.",
              "procurements.read": "Beschaffung lesen",
              "saleschannels.read": "Grants permission to read sales channels.",
              "saleschannels.write": "Grants permission to create and modify sales channels.",
              "all.read": "Allows the application to read all data.",
              "customers.read": "Grants permission to read customer data.",
              "customers.write": "Grants permission to create and modify customer data.",
              "customfields.read": "Grants permission to read custom fields.",
              "customfields.write": "Grants permission to create and modify custom fields.",
              "deliveries.read": "Grants permission to read deliveries.",
              "deliveries.write": "Grants permission to create and modify deliveries.",
              "deliverynotes.print": "Grants permission to print and output delivery notes.",
              "deliverynotes.read": "Grants permission to read delivery notes.",
              "deliverynotes.write": "Grants permission to create and modify delivery notes.",
              "extensibility.integration": "Grants permission to manage extensions and integrations of the JTL-Wawi.",
              "inventories.read": "Grants permission to read stock levels.",
              "invoices.read": "Grants permission to read invoices.",
              "invoices.write": "Grants permission to create and modify invoices.",
              "labels.read": "Grants permission to read labels.",
              "labels.write": "Grants permission to create and modify labels.",
              "masterdata.read": "Read master data such as shipping methods, payment methods, color codes and tax classes.",
              "orders.read": "Grants permission to read orders.",
              "picklists.read": "Grants permission to read pick lists.",
              "picklists.write": "Grants permission to create and modify pick lists.",
              "returns.read": "Grants permission to read returns.",
              "returns.write": "Grants permission to create and modify returns.",
              "salesinvoicecorrections.read": "Grants permission to read invoice corrections.",
              "salesinvoicecorrections.write": "Grants permission to create and modify invoice corrections.",
              "salesorders.print": "Grants permission to print and output sales orders.",
              "salesorders.read": "Grants permission to read sales orders.",
              "salesorders.write": "Grants permission to create and modify sales orders.",
              "system.config.read": "Grants permission to read the system configuration.",
              "system.config.write": "Grants permission to modify the system configuration.",
              "taxes.read": "Grants permission to read tax data.",
              "warehouse.read": "Grants permission to read warehouse data.",
              "wawiapp.all": "Grants access to Wawi app related operations.",
              "currencies.read": "Grants read access to currencies.",
              "jera.read": "Grants read access to JERA internal endpoints.",
              "paymentmethods.read": "Grants read access to payment methods.",
              "payments.read": "Ermöglicht den Lesezugriff auf Zahlungen.",
              "payments.write": "Ermöglicht den Schreibzugriff auf Zahlungen.",
              "salesinvoicecorrections.print": "Grants permission to print and output invoice corrections.",
              "salesinvoices.print": "Grants permission to print and output sales invoices.",
              "salesinvoices.read": "Grants read access to sales invoices.",
              "salesinvoices.write": "Grants write access to sales invoices.",
              "salesquotations.print": "Grants permission to print and output sales quotations.",
              "salesquotations.read": "Grants read access to sales quotations.",
              "salesquotations.write": "Grants write access to sales quotations.",
              "system.worker.read": "Worker-Synchronisationen lesen",
              "system.worker.write": "Worker-Synchronisationen schreiben",
              "resources.read": "Grants permission to read resource management data.",
              "resources.write": "Grants permission to create and modify resource management data.",
              "pps.read": "Grants permission to read production data.",
              "pps.write": "Grants permission to create and modify production data.",
              "channels.read": "Grants permission to read marketplace channels.",
              "invoices.print": "Grants permission to print marketplace external documents (invoices, credit notes).",
              "marketplaceoffers.read": "Grants permission to read marketplace offers and offer failures.",
              "marketplaceoffers.write": "Grants permission to create and modify marketplace offers.",
              "notifications.read": "Grants permission to read marketplace notifications.",
              "orders.write": "Grants permission to modify marketplace order data (exclude/reset cancellation, payment, return and shipping uploads).",
              "masterdata.write": "Write master data",
              "taxes.write": "Grants permission to create and modify tax data.",
              "application.runas": "Allows the application to execute requests on behalf of another user."
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "WMS",
      "description": "<p data-section-id='tag/WMS' class='stable_summary'></p>Query all pick lists for a specific wms warehouse that are not completed."
    },
    {
      "name": "Wawi App",
      "description": "<p data-section-id='tag/Wawi App' class='stable_summary'></p>Get a specific customer"
    },
    {
      "name": "Warehouses",
      "description": "<p data-section-id='tag/Warehouses' class='stable_summary'></p>Queries all storage locations for a given warehouse."
    },
    {
      "name": "Units",
      "description": "Development"
    },
    {
      "name": "Transaction Status",
      "description": "<p data-section-id='tag/Transaction Status' class='stable_summary'></p>Queries all transaction statuses for a sales order."
    },
    {
      "name": "Tax",
      "description": "<p data-section-id='tag/Tax' class='stable_summary'></p>Returns the tax rate for the given item."
    },
    {
      "name": "Inventory",
      "description": "<p data-section-id='tag/Inventory' class='stable_summary'></p>Queries stocks for a specific item, warehouse or storage location."
    },
    {
      "name": "Sales Order",
      "description": "Planned"
    },
    {
      "name": "Sales Invoice Correction",
      "description": "Planned"
    },
    {
      "name": "Return",
      "description": "<p data-section-id='tag/Return' class='beta_summary'></p>Create a new return with associated items and packages."
    },
    {
      "name": "Item",
      "description": "<p data-section-id='tag/Item' class='beta_summary'></p>Queries all responsible persons."
    },
    {
      "name": "Refund",
      "description": "Planned"
    },
    {
      "name": "Property",
      "description": "<p data-section-id='tag/Property' class='stable_summary'></p>Queries all properties of items."
    },
    {
      "name": "Printer",
      "description": "<p data-section-id='tag/Printer' class='beta_summary'></p>Retrieves all installed printers."
    },
    {
      "name": "Master Data",
      "description": "<p data-section-id='tag/Master Data' class='stable_summary'></p>Queries all on hold reasons for sales orders."
    },
    {
      "name": "Manufacturer",
      "description": "Development"
    },
    {
      "name": "Label",
      "description": "Development"
    },
    {
      "name": "Sales Invoice",
      "description": "Planned"
    },
    {
      "name": "Info",
      "description": "<p data-section-id='tag/Info' class='stable_summary'></p>Returns the status of the API."
    },
    {
      "name": "Features",
      "description": "<p data-section-id='tag/Features' class='stable_summary'></p>Returns the available feature sets with release state and API version."
    },
    {
      "name": "Extensibility",
      "description": "Planned"
    },
    {
      "name": "Shipment",
      "description": "Development"
    },
    {
      "name": "Delivery Note",
      "description": "Planned"
    },
    {
      "name": "Custom Field",
      "description": "Development"
    },
    {
      "name": "Customer",
      "description": "<p data-section-id='tag/Customer' class='stable_summary'></p>Deletes a specific customer."
    },
    {
      "name": "Authentication",
      "description": "<p data-section-id='tag/Authentication' class='deprecated_summary'></p>DEPRECATED seit Wawi 2.2.0: No-Op. Seit Wawi 2.1.0 registriert sich die Wawi selbst per JWT."
    },
    {
      "name": "Attribute",
      "description": "Development"
    },
    {
      "name": "Sales Quotation",
      "description": "<p data-section-id='tag/Sales Quotation' class='beta_summary'></p>Execute the printing of a sales quotation"
    },
    {
      "name": "Production"
    },
    {
      "name": "Resources"
    },
    {
      "name": "Company"
    },
    {
      "name": "Sales Orders"
    },
    {
      "name": "Marketplace Order"
    },
    {
      "name": "Marketplace Offer"
    },
    {
      "name": "Marketplace Invoicing"
    },
    {
      "name": "Sales Channel"
    },
    {
      "name": "Payment"
    },
    {
      "name": "Warehouse Assistant"
    },
    {
      "name": "Worker"
    }
  ]
}
