{
  "openapi": "3.0.1",
  "info": {
    "title": "eConnect API",
    "contact": {
      "name": "Leanetec GmbH",
      "url": "https://www.leanetec.com",
      "email": "support@leanetec.com"
    },
    "version": "v1"
  },
  "paths": {
    "/api/v1/alive": {
      "get": {
        "tags": [
          "Alive"
        ],
        "summary": "Returns simple 200 result without content while the application is up",
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/alive/is-user": {
      "get": {
        "tags": [
          "Alive"
        ],
        "summary": "Returns simple 200 result without content while the application is up\r\nand the logged in user is a normal user.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/alive/is-admin": {
      "get": {
        "tags": [
          "Alive"
        ],
        "summary": "Returns simple 200 result without content while the application is up\r\nand the logged in user is an admin user.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/article": {
      "get": {
        "tags": [
          "Article"
        ],
        "summary": "Get a list of all business partner articles that exist",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Flag to get an (in-)active subset of articles",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BpArticleResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Article"
        ],
        "summary": "Create a new article for your business partner",
        "requestBody": {
          "description": "Object which represents the new article",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BpArticleDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/article/{articleId}": {
      "get": {
        "tags": [
          "Article"
        ],
        "summary": "Get a specific business partner article based on the article id",
        "description": "Please note that the returned article may be inactive.",
        "parameters": [
          {
            "name": "articleId",
            "in": "path",
            "description": "Unique ID of the article",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BpArticleResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Article"
        ],
        "summary": "Update an article identified by the article id",
        "parameters": [
          {
            "name": "articleId",
            "in": "path",
            "description": "Id of the article to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Object which holds data for updating the article",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BpArticleDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Article"
        ],
        "summary": "Delete the article with the given article id",
        "parameters": [
          {
            "name": "articleId",
            "in": "path",
            "description": "Article id of the article to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/article/{articleId}/referenced": {
      "get": {
        "tags": [
          "Article"
        ],
        "summary": "Checks if the article is referenced by any tenant",
        "parameters": [
          {
            "name": "articleId",
            "in": "path",
            "description": "ID of the article of check for references",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/internal/v1/article/{businessPartnerId}": {
      "get": {
        "tags": [
          "Article"
        ],
        "summary": "Internal route to get articles of a specific business partner",
        "parameters": [
          {
            "name": "businessPartnerId",
            "in": "path",
            "description": "ID of the business parter",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Flag to get an (in-)active subset of articles",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "isDeleted",
            "in": "query",
            "description": "Flag to get an (non-)deleted subset of articles",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "salesServiceCategoryId",
            "in": "query",
            "description": "Filter articles based on a specific sales service category",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "uomId",
            "in": "query",
            "description": "Filter articles based on a unit of measurement",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ewcWasteTypeCode",
            "in": "query",
            "description": "Filter articles based on the selected waste type (only applicable to waste disposal service category)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InternalBpArticleResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/internal/v1/article/{businessPartnerId}/{articleCode}": {
      "get": {
        "tags": [
          "Article"
        ],
        "summary": "Internal route to get a specific business partner article based on the article code",
        "description": "This will only search for and return active and non-deleted articles.",
        "parameters": [
          {
            "name": "businessPartnerId",
            "in": "path",
            "description": "ID of the business parter",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "articleCode",
            "in": "path",
            "description": "Article code of the article to get",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalBpArticleResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/article-sales-service-category": {
      "get": {
        "tags": [
          "ArticleSalesServiceCategory"
        ],
        "summary": "Get a list of article relevant sales service categories",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ArticleSalesServiceCategoryResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/aval": {
      "get": {
        "tags": [
          "Aval"
        ],
        "summary": "Gets a list of aval containers with volume information",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AvalContainerResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/business-partner/self": {
      "get": {
        "tags": [
          "BusinessPartner"
        ],
        "summary": "Gets information about the currently assigned business partner",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSelfBusinessPartnerResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/document/list": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Gets a list of all known documents of a service order",
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "description": "The unique id of the tenant",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "The unique id of the service order",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListOrderDocumentsResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/v1/order/document": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Downloads a document of a service order with the given document id",
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "description": "The unique id of the tenant",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "The unique id of the service order",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "documentId",
            "in": "query",
            "description": "The unique id of the document to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Uploads a new document for the service order",
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "description": "The unique id of the tenant",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "The unique id of the service order",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "Documents"
        ],
        "summary": "Deletes a document of a service order with the given document id",
        "description": "The document can not be deleted, if the related service order is already set to status \"Completed\"",
        "parameters": [
          {
            "name": "tenantId",
            "in": "query",
            "description": "The unique id of the tenant",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "The unique id of the service order",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "documentId",
            "in": "query",
            "description": "The unique id of the document to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/v1/notification/{notificationId}/{actionType}": {
      "get": {
        "tags": [
          "Notification"
        ],
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "actionType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "actionData",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/action": {
      "get": {
        "tags": [
          "NotificationEmail"
        ],
        "parameters": [
          {
            "name": "notificationAction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "notificationData",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "notificationId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/identity/unsubscribe": {
      "get": {
        "tags": [
          "NotificationEmail"
        ],
        "parameters": [
          {
            "name": "u",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "e",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/v1/notification-settings": {
      "get": {
        "tags": [
          "NotificationSettings"
        ],
        "summary": "Gets notification settings",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GetNotificationSettingsResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/notification-settings/email": {
      "put": {
        "tags": [
          "NotificationSettings"
        ],
        "summary": "Updates the \"email\" value for a specific event",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutEmailNotificationSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/notification-settings/web": {
      "put": {
        "tags": [
          "NotificationSettings"
        ],
        "summary": "Updates the \"web\" value for a specific event",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutWebNotificationSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets a list of all orders for all available tenants",
        "parameters": [
          {
            "name": "status[]",
            "in": "query",
            "description": "Get order with any of the given status ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/table": {
      "post": {
        "tags": [
          "Order"
        ],
        "summary": "Gets a paginated subset of orders for all available tenants",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Objet containing relevant server-side table parameters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderTableRequestFilterServerSideTableQuery"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderResultServerSideTableResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets a single order including the articles (order lines)",
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "description": "Tenant number of the tenant the order originated from",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID within the tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDetailResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}/lines": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets the articles (order lines) of a specific order",
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "description": "Tenant number of the tenant the order originated from",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID within the tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "bookingId",
            "in": "query",
            "description": "Booking ID within the tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderLineResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}/confirm": {
      "put": {
        "tags": [
          "Order"
        ],
        "summary": "Sets an order as \"Confirmed\"",
        "description": "This only works for orders in status \"pending\" and \"pending confirmation\".",
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "description": "Tenant number of the tenant the order originated from",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID within the tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Details about the confirmed quantity of each order line",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConfirmOrderPayload"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}/cancel": {
      "delete": {
        "tags": [
          "Order"
        ],
        "summary": "Sets an order as \"Cancelled\"",
        "description": "This only works for order in status \"pending\", \"pending confirmation\" and \"confirmed\"\r\nwhile the related booking has not started yet.",
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "description": "Tenant number of the tenant the order originated from",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID within the tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}/complete": {
      "put": {
        "tags": [
          "Order"
        ],
        "summary": "Sets an order as \"Completed\"",
        "description": "This only works for orders in status \"confirmed\".",
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "description": "Tenant number of the tenant the order originated from",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID within the tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "description": "Details about the actually delivered quantities",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteOrderPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}/reset": {
      "put": {
        "tags": [
          "Order"
        ],
        "summary": "Resets the status of the order under certain conditions",
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "description": "Tenant number of the tenant the order originated from",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID within the tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}/delivery/estimated": {
      "put": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEstimatedDeliveryPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order/{tenantNumber}/{orderId}/articles": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/order-status": {
      "get": {
        "tags": [
          "OrderStatus"
        ],
        "summary": "Gets a list of possible service orders states",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderStatusResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tenant": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "summary": "Gets a list of tenants that are currently available for the service provider",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenantResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tenant-berth": {
      "get": {
        "tags": [
          "TenantBerth"
        ],
        "summary": "Gets a list of berths a specific tenant, with location details",
        "parameters": [
          {
            "name": "tenantNumber",
            "in": "query",
            "description": "tenant number of the customer to read out the data of the berths from this tenant",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "isBookable",
            "in": "query",
            "description": "is bookable to filter the list",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenantBerthWithLocationDetailResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tenant-berth/locations": {
      "get": {
        "tags": [
          "TenantBerth"
        ],
        "summary": "Gets a list of locations based on available berths of a specific tenant",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BerthLocationResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/uom": {
      "get": {
        "tags": [
          "Uom"
        ],
        "summary": "Gets a list of units of measurement",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UnitOfMeasurementsResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/waste": {
      "get": {
        "tags": [
          "Waste"
        ],
        "summary": "Gets a list of existing waste types",
        "parameters": [
          {
            "name": "languageCode",
            "in": "query",
            "description": "The language code for localisation",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "description": "Flag to get an (in-)active subset of waste types",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "isVisible",
            "in": "query",
            "description": "Flag to get an (in-)visible subset of waste types",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WasteTypeResult"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ArticleSalesServiceCategoryResult": {
        "required": [
          "article_sales_service_category_desc",
          "article_sales_service_category_id",
          "article_sales_service_category_name",
          "is_active",
          "is_econnect"
        ],
        "type": "object",
        "properties": {
          "article_sales_service_category_id": {
            "type": "integer",
            "description": "The unique article sales service category id of the article.",
            "format": "int32"
          },
          "article_sales_service_category_type": {
            "type": "string",
            "description": "The unique type of the article sales service category as defined in the generic type list system table.",
            "nullable": true
          },
          "article_sales_service_category_name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the article sales service category."
          },
          "article_sales_service_category_desc": {
            "minLength": 1,
            "type": "string",
            "description": "The description of the article sales service category."
          },
          "is_active": {
            "type": "boolean",
            "description": "Boolean value to indicate that this is a currently active (valid) entry."
          },
          "is_econnect": {
            "type": "boolean",
            "description": "Boolean value to indicate that entries with this flag are available in the eConnect portal."
          }
        },
        "additionalProperties": false,
        "description": "Object which contains the result from getting available article service categories"
      },
      "AvalContainerResult": {
        "required": [
          "aval_cntr_type_name",
          "aval_data_version",
          "aval_id",
          "aval_id_part",
          "aval_volume_results"
        ],
        "type": "object",
        "properties": {
          "aval_id": {
            "minLength": 1,
            "type": "string",
            "description": "Full AvaL id up to the container type"
          },
          "aval_id_part": {
            "type": "integer",
            "description": "The unique partial id of the AvaL waste container type (PK includes the AvaL data/catalogue version).",
            "format": "int32"
          },
          "aval_data_version": {
            "minLength": 1,
            "type": "string",
            "description": "The data version (catalogue version: AB.1) for which the AvaL waste container structure is valid (combined primary key)."
          },
          "aval_cntr_type_name": {
            "minLength": 1,
            "type": "string",
            "description": "The language specific translations of the waste container type name.\r\nBy default the aval_cntr_type_name is used (fallback) but otherwise it is possible to get the description from this KEY = value array storage column type using the key (country_alpha2 = country_name)."
          },
          "aval_volume_results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AvalVolumeResult"
            },
            "description": "Get all volumes that match a type range"
          }
        },
        "additionalProperties": false,
        "description": "Object which contains the result from getting available AvaL containers"
      },
      "AvalVolumeResult": {
        "type": "object",
        "properties": {
          "aval_id": {
            "type": "string",
            "description": "Full AvaL id combining the container type and volume, excluding container design",
            "nullable": true
          },
          "aval_id_part": {
            "type": "integer",
            "description": "The unique partial id of the AvaL waste container type (PK includes the AvaL data/catalogue version).",
            "format": "int32"
          },
          "aval_data_version": {
            "type": "string",
            "description": "The data version (catalogue version: AB.1) for which the AvaL waste container structure is valid (combined primary key).",
            "nullable": true
          },
          "aval_cntr_volume_name": {
            "type": "string",
            "description": "Container and volume name using the containers abbreviation and the volume name",
            "nullable": true
          },
          "is_selectable": {
            "type": "boolean",
            "description": "Boolean value to indicate that this is leaf element that can be selected by the user."
          }
        },
        "additionalProperties": false,
        "description": "Object which contains information about a AvaL volume"
      },
      "BerthLocationResult": {
        "type": "object",
        "properties": {
          "location_alpha5": {
            "type": "string",
            "description": "Alpha5 value representing the UN-Location",
            "nullable": true
          },
          "location_name": {
            "type": "string",
            "description": "The name of the UN-Location",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about a UN-Location, based on the available berths of a tenant"
      },
      "BpArticleDto": {
        "required": [
          "article_code",
          "article_name",
          "article_sales_service_category_id",
          "is_active",
          "requires_transport_unit",
          "uom_id"
        ],
        "type": "object",
        "properties": {
          "article_name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the article"
          },
          "article_desc": {
            "type": "string",
            "description": "Description of the article",
            "nullable": true
          },
          "article_code": {
            "minLength": 1,
            "type": "string",
            "description": "Unique article code"
          },
          "article_sales_service_category_id": {
            "type": "integer",
            "description": "Sales service category of this article",
            "format": "int32"
          },
          "uom_id": {
            "type": "integer",
            "description": "Unit of measurement of this article",
            "format": "int32"
          },
          "requires_transport_unit": {
            "type": "boolean",
            "description": "Indicator whether or not this articles uses transport units"
          },
          "ewc_waste_type_code": {
            "type": "string",
            "description": "Code of the EWC waste type if this article is related to waste disposal",
            "nullable": true
          },
          "ewc_waste_type_data_version": {
            "type": "string",
            "description": "Data version of the EWC waste type if this article is related to waste disposal",
            "nullable": true
          },
          "is_active": {
            "type": "boolean",
            "description": "Indicator whether or not this article is active - inactive articles won't be selectable elsewhere in the application"
          },
          "transport_units": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of available transport units ids for this article",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which represents a service provider specific article"
      },
      "BpArticleResult": {
        "required": [
          "article_sales_service_category",
          "bp_article_code",
          "bp_article_id",
          "bp_article_name",
          "is_active",
          "requires_transport_unit",
          "uom"
        ],
        "type": "object",
        "properties": {
          "bp_article_id": {
            "type": "integer",
            "description": "The unique internal id of the article",
            "format": "int32"
          },
          "bp_article_name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the article"
          },
          "bp_article_desc": {
            "type": "string",
            "description": "Description of the article",
            "nullable": true
          },
          "bp_article_code": {
            "minLength": 1,
            "type": "string",
            "description": "Unique service provider article code"
          },
          "is_active": {
            "type": "boolean",
            "description": "Indicator whether or not this article is active - inactive articles won't be selectable elsewhere in the application"
          },
          "requires_transport_unit": {
            "type": "boolean",
            "description": "Indicator whether or not this articles uses transport units"
          },
          "article_sales_service_category": {
            "$ref": "#/components/schemas/BpArticleSalesServiceCategoryResult"
          },
          "uom": {
            "$ref": "#/components/schemas/BpArticleUomResult"
          },
          "waste_type": {
            "$ref": "#/components/schemas/BpArticleWasteTypeResult"
          },
          "transport_units": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BpArticleTransportUnit"
            },
            "description": "List of available transport units for this article",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object wich contains information about a service provider article"
      },
      "BpArticleSalesServiceCategoryResult": {
        "required": [
          "article_sales_service_category_id",
          "article_sales_service_category_name"
        ],
        "type": "object",
        "properties": {
          "article_sales_service_category_id": {
            "type": "integer",
            "description": "The unique article sales service category id of the article.",
            "format": "int32"
          },
          "article_sales_service_category_name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the article sales service category."
          }
        },
        "additionalProperties": false,
        "description": "Object holding information about a sales service category of an article"
      },
      "BpArticleTransportUnit": {
        "required": [
          "aval_desc",
          "aval_id"
        ],
        "type": "object",
        "properties": {
          "aval_id": {
            "minLength": 1,
            "type": "string",
            "description": "The unique AvaL id of this transport unit"
          },
          "aval_desc": {
            "minLength": 1,
            "type": "string",
            "description": "The description of this transport unit"
          }
        },
        "additionalProperties": false,
        "description": "Represents a wrapper for transport units like AvaL containers"
      },
      "BpArticleUomResult": {
        "required": [
          "uom_abbreviation",
          "uom_id",
          "uom_name"
        ],
        "type": "object",
        "properties": {
          "uom_id": {
            "type": "integer",
            "description": "Unique internal id of the unit of measurement",
            "format": "int32"
          },
          "uom_name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the unit of measurement"
          },
          "uom_abbreviation": {
            "minLength": 1,
            "type": "string",
            "description": "Abbreviation of the units name"
          }
        },
        "additionalProperties": false,
        "description": "Unit of measurement of an article"
      },
      "BpArticleWasteTypeResult": {
        "required": [
          "waste_type_code",
          "waste_type_data_version",
          "waste_type_desc"
        ],
        "type": "object",
        "properties": {
          "waste_type_code": {
            "minLength": 1,
            "type": "string",
            "description": "The unique code of the waste type in combination with the data version."
          },
          "waste_type_data_version": {
            "minLength": 1,
            "type": "string",
            "description": "The data version for which the waste type id is valid (combined primary key)."
          },
          "waste_type_desc": {
            "minLength": 1,
            "type": "string",
            "description": "The description of the waste type.\r\nThe language specific translations of the waste type description.\r\nBy default the waste_type_desc is used (fallback) but otherwise it is possible to get the description from this KEY = value array storage JsonPropertyName type using the key (country_alpha2 = country_name)."
          }
        },
        "additionalProperties": false,
        "description": "Object holding information about the waste type of an article"
      },
      "CompleteAddedArticle": {
        "type": "object",
        "properties": {
          "article_id": {
            "type": "integer",
            "description": "ID of the article as specified in the tenant schema (!)",
            "format": "int32"
          },
          "article_spec_id": {
            "type": "integer",
            "description": "Article spec id of the added article",
            "format": "int32"
          },
          "transport_unit_id": {
            "type": "integer",
            "description": "Transport unit to use for the added article",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "description": "Delivered quantity of the added article",
            "format": "double"
          },
          "timestamp": {
            "type": "string",
            "description": "Article version timestamp to set for the added article",
            "format": "date-time"
          },
          "article_code": {
            "type": "string",
            "description": "Business partner article code of the added article",
            "nullable": true
          },
          "uom_id": {
            "type": "integer",
            "description": "Unit of measurement for the added article",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information required to add articles to an service order during the completion process"
      },
      "CompleteOrderLine": {
        "type": "object",
        "properties": {
          "order_line_id": {
            "type": "integer",
            "description": "The unique id of the order line (article)",
            "format": "int64"
          },
          "quantity_delivered": {
            "type": "number",
            "description": "Represents the amount of actually delivered articles",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information required to set the delivered quantity of an article"
      },
      "CompleteOrderPayload": {
        "type": "object",
        "properties": {
          "order_lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompleteOrderLine"
            },
            "description": "Existing order lines with maybe updated delivery quantities",
            "nullable": true
          },
          "added_articles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompleteAddedArticle"
            },
            "description": "Additional articles that were added by eConnect",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about articles within a service order about to be set\r\nas completed"
      },
      "ConfirmOrderPayload": {
        "type": "object",
        "properties": {
          "order_line_id": {
            "type": "integer",
            "description": "The unique id of the order line (article)",
            "format": "int64"
          },
          "quantity_confirmed": {
            "type": "number",
            "description": "Represents the amount of confirmed articles",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information required to set the confirmed quantity of an article"
      },
      "GetNotificationSettingsResult": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "integer",
            "format": "int32"
          },
          "event_name": {
            "type": "string",
            "nullable": true
          },
          "event_desc": {
            "type": "string",
            "nullable": true
          },
          "event_notification_email": {
            "type": "boolean"
          },
          "event_notification_web": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GetSelfBusinessPartnerResult": {
        "type": "object",
        "properties": {
          "business_partner_name": {
            "type": "string",
            "description": "The name of the business partner",
            "nullable": true
          },
          "vat_number": {
            "type": "string",
            "description": "The VAT number of the business partner",
            "nullable": true
          },
          "tax_number": {
            "type": "string",
            "description": "The Tax number of the business partner",
            "nullable": true
          },
          "telephone": {
            "type": "string",
            "description": "The telephone number of the business partner",
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "The website url of the business partner",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "The email address of the business partner",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about the business partner a service provider is assigned to"
      },
      "InternalBpArticleResult": {
        "type": "object",
        "properties": {
          "article_code": {
            "type": "string",
            "nullable": true
          },
          "article_name": {
            "type": "string",
            "nullable": true
          },
          "ewc_waste_type_code": {
            "type": "string",
            "nullable": true
          },
          "is_active": {
            "type": "boolean"
          },
          "is_deleted": {
            "type": "boolean"
          },
          "transport_units": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ListOrderDocumentsResult": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "The name of the file",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "description": "The unique internal id of the file",
            "format": "int64"
          },
          "fileSizeInBytes": {
            "type": "integer",
            "description": "The size of the file in bytes",
            "format": "int64"
          },
          "parentFolderId": {
            "type": "integer",
            "description": "The internal unique id of the folder containing this file",
            "format": "int64"
          },
          "createdOn": {
            "type": "string",
            "description": "The string representation of the timstamp when this file has been created (uploaded)",
            "nullable": true
          },
          "lastUpdateOn": {
            "type": "string",
            "description": "The string representation of the timstamp when this file has been updated",
            "nullable": true
          },
          "fileMimeType": {
            "type": "string",
            "description": "The MIME type of the file",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about a file of a service order"
      },
      "OrderDetailBerthContact": {
        "type": "object",
        "properties": {
          "berth_name": {
            "type": "string",
            "description": "Name of the berth",
            "nullable": true
          },
          "owner_bp_name": {
            "type": "string",
            "description": "The name of the owner business partner of the berth",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds detailled information about an order, in this case contact data of the berth"
      },
      "OrderDetailResult": {
        "type": "object",
        "properties": {
          "tenant_number": {
            "type": "integer",
            "description": "The unique internal id of the tenant",
            "format": "int32"
          },
          "tenant_name": {
            "type": "string",
            "description": "The name of the tenant",
            "nullable": true
          },
          "tenant_schema": {
            "type": "string",
            "description": "The unique internal schema name of the tenant",
            "nullable": true
          },
          "service_order_created_by": {
            "type": "string",
            "description": "E-mail address of the user who created the service order",
            "nullable": true
          },
          "service_order_created_display_name": {
            "type": "string",
            "description": "Display name of the user who created the service order",
            "nullable": true
          },
          "service_order_created_on": {
            "type": "string",
            "description": "Date and time value when the service order has been created",
            "format": "date-time"
          },
          "service_order_last_update_by": {
            "type": "string",
            "description": "E-mail address of the user who made recent updates to the service order",
            "nullable": true
          },
          "service_order_last_update_display_name": {
            "type": "string",
            "description": "Display name of the user who made recent updates to the service order",
            "nullable": true
          },
          "service_order_last_update_on": {
            "type": "string",
            "description": "Date and time value when the service order has been recently updated",
            "format": "date-time"
          },
          "berth_booking_order_id": {
            "type": "integer",
            "description": "Unique internal tenant id of the service order",
            "format": "int64"
          },
          "service_order_is_deleted": {
            "type": "boolean",
            "description": "Boolean value to indicate if the service order has been deleted (soft delete)"
          },
          "service_order_status_id": {
            "type": "integer",
            "description": "Id value of the status of the service order",
            "format": "int32"
          },
          "service_order_status_name": {
            "type": "string",
            "description": "Status name of the service order",
            "nullable": true
          },
          "service_provider_bp_id": {
            "type": "integer",
            "description": "Tenant specific unique Id of the business partner (service provider) which is involved in the service order",
            "format": "int32"
          },
          "service_provider_sys_bp_id": {
            "type": "integer",
            "description": "Global unique Id of the business partner (service provider) which is involved in the service order (unique across all tenants)",
            "format": "int32"
          },
          "berth_booking_id": {
            "type": "integer",
            "description": "Id of the related booking of the service order",
            "format": "int64"
          },
          "booking_start_on": {
            "type": "string",
            "description": "Date and time value when the related booking starts",
            "format": "date-time"
          },
          "booking_end_on": {
            "type": "string",
            "description": "Date and time value when the related booking ends",
            "format": "date-time"
          },
          "vessel_id": {
            "type": "integer",
            "description": "Unique tenant specific internal id of the related vessel",
            "format": "int32"
          },
          "vessel_name": {
            "type": "string",
            "description": "The name of the vessel",
            "nullable": true
          },
          "vessel_owner_business_partner_name": {
            "type": "string",
            "description": "The name of the owner (business partner) of the vessel",
            "nullable": true
          },
          "berth_id": {
            "type": "integer",
            "description": "Unique tenant specific internal id of the related berth",
            "format": "int32"
          },
          "berth_name": {
            "type": "string",
            "description": "The name of the berth",
            "nullable": true
          },
          "berth_geo_latitude": {
            "type": "number",
            "description": "The geographical latitude value of the berths position",
            "format": "double"
          },
          "berth_geo_longitude": {
            "type": "number",
            "description": "The geographical longitude value of the berths position",
            "format": "double"
          },
          "berth_unlocode_alpha5": {
            "type": "string",
            "description": "The alpha5 code of the berths UN-location",
            "nullable": true
          },
          "berth_unlocode_name": {
            "type": "string",
            "description": "The name of the berths UN-location",
            "nullable": true
          },
          "berth_address_street": {
            "type": "string",
            "description": "The optional street of the berth",
            "nullable": true
          },
          "berth_address_postal_code": {
            "type": "string",
            "description": "The optional postal code of the berth",
            "nullable": true
          },
          "berth_address_city": {
            "type": "string",
            "description": "The optional city of the berth",
            "nullable": true
          },
          "berth_address_local_district": {
            "type": "string",
            "description": "The optional local district of the berth",
            "nullable": true
          },
          "berth_address_region": {
            "type": "string",
            "description": "The optional address related region of the berth",
            "nullable": true
          },
          "desired_delivery_date": {
            "type": "string",
            "description": "The optional desired delivered date set by the booking portal user",
            "format": "date-time",
            "nullable": true
          },
          "estimated_delivery_date": {
            "type": "string",
            "description": "The optional estimated delivery date set by the eConnect user",
            "format": "date-time",
            "nullable": true
          },
          "order_lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineResult"
            },
            "description": "List of order lines (articles) of the service order",
            "nullable": true
          },
          "berth_contact": {
            "$ref": "#/components/schemas/OrderDetailBerthContact"
          },
          "vessel_contact": {
            "$ref": "#/components/schemas/OrderDetailVesselContact"
          }
        },
        "additionalProperties": false,
        "description": "Object which contains detailled information about an order"
      },
      "OrderDetailVesselContact": {
        "type": "object",
        "properties": {
          "vessel_name": {
            "type": "string",
            "description": "The name of the vessel",
            "nullable": true
          },
          "owner_bp_name": {
            "type": "string",
            "description": "The name of the owner (business partner) of the vessel",
            "nullable": true
          },
          "vessel_email": {
            "type": "string",
            "description": "The optional email address of the vessel",
            "nullable": true
          },
          "vessel_phone_number": {
            "type": "string",
            "description": "The optional phone number of the vessel",
            "nullable": true
          },
          "vessel_mobile_phone_number": {
            "type": "string",
            "description": "The optional mobile phone number of the vessel",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about the related vessel of an order, in this case contact data"
      },
      "OrderLineResult": {
        "type": "object",
        "properties": {
          "article_id": {
            "type": "integer",
            "description": "The unique id of the global business partner article within the partner portal.",
            "format": "int32"
          },
          "article_name": {
            "type": "string",
            "description": "The article name the business partner uses for the article.",
            "nullable": true
          },
          "article_code": {
            "type": "string",
            "description": "The article code the business partner uses for the article.",
            "nullable": true
          },
          "article_waste_type_code": {
            "type": "string",
            "description": "The unique code of the waste type in combination with the data version.",
            "nullable": true
          },
          "article_waste_type_desc": {
            "type": "string",
            "description": "The description of the waste type.",
            "nullable": true
          },
          "aval_cntr_name": {
            "type": "string",
            "description": "The AvaL name of the container",
            "nullable": true
          },
          "aval_cntr_code": {
            "type": "string",
            "description": "The AvaL code of the container",
            "nullable": true
          },
          "article_tu_id": {
            "type": "integer",
            "description": "The unique internal id of the transport unit (e.g. AvaL)",
            "format": "int32",
            "nullable": true
          },
          "article_tu_uom_id": {
            "type": "integer",
            "description": "The internal id of the transport units (e.g. AvaL) unit of measurement",
            "format": "int32",
            "nullable": true
          },
          "article_tu_uom_name": {
            "type": "string",
            "description": "The name of the unit of measurement of the transport unit (e.g. AvaL)",
            "nullable": true
          },
          "article_tu_quantity": {
            "type": "number",
            "description": "The amount of transport units (e.g. AvaL)",
            "format": "double",
            "nullable": true
          },
          "berth_booking_order_line_id": {
            "type": "integer",
            "description": "The unique tenant specific internal id of the order line (article)",
            "format": "int64"
          },
          "article_uom_id": {
            "type": "integer",
            "description": "The unique internal id of the articles unit of measurement",
            "format": "int32"
          },
          "article_uom_abbreviation": {
            "type": "string",
            "description": "The abbrevation of the articles unit of measurement",
            "nullable": true
          },
          "article_uom_name": {
            "type": "string",
            "description": "The name of the articles unit of measurement",
            "nullable": true
          },
          "last_update_ordered_on": {
            "type": "string",
            "description": "Date and time value when the amount of ordered articles has been last changed",
            "format": "date-time"
          },
          "quantity_ordered": {
            "type": "number",
            "description": "Amount of articles ordered",
            "format": "double"
          },
          "last_update_confirmed_on": {
            "type": "string",
            "description": "Date and time value when the amount of confirmed articles has been last changed",
            "format": "date-time",
            "nullable": true
          },
          "quantity_confirmed": {
            "type": "number",
            "description": "Amount of articles confirmed",
            "format": "double"
          },
          "last_update_delivered_on": {
            "type": "string",
            "description": "Date and time value when the amount of delivered articles has been last changed",
            "format": "date-time",
            "nullable": true
          },
          "quantity_delivered": {
            "type": "number",
            "description": "Amount of articles actually delivered",
            "format": "double",
            "nullable": true
          },
          "service_order_line_is_deleted": {
            "type": "boolean",
            "description": "Value to indicate if this order line (article) has been deleted or not"
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about an order line (article)"
      },
      "OrderResult": {
        "type": "object",
        "properties": {
          "tenant_number": {
            "type": "integer",
            "description": "The unique internal id of the tenant",
            "format": "int32"
          },
          "tenant_name": {
            "type": "string",
            "description": "The name of the tenant",
            "nullable": true
          },
          "tenant_schema": {
            "type": "string",
            "description": "The unique internal schema name of the tenant",
            "nullable": true
          },
          "service_order_created_by": {
            "type": "string",
            "description": "E-mail address of the user who created the service order",
            "nullable": true
          },
          "service_order_created_display_name": {
            "type": "string",
            "description": "Display name of the user who created the service order",
            "nullable": true
          },
          "service_order_created_on": {
            "type": "string",
            "description": "Date and time value when the service order has been created",
            "format": "date-time"
          },
          "service_order_last_update_by": {
            "type": "string",
            "description": "E-mail address of the user who made recent updates to the service order",
            "nullable": true
          },
          "service_order_last_update_display_name": {
            "type": "string",
            "description": "Display name of the user who made recent updates to the service order",
            "nullable": true
          },
          "service_order_last_update_on": {
            "type": "string",
            "description": "Date and time value when the service order has been recently updated",
            "format": "date-time"
          },
          "berth_booking_order_id": {
            "type": "integer",
            "description": "Unique internal tenant id of the service order",
            "format": "int64"
          },
          "service_order_is_deleted": {
            "type": "boolean",
            "description": "Boolean value to indicate if the service order has been deleted (soft delete)"
          },
          "service_order_status_id": {
            "type": "integer",
            "description": "Id value of the status of the service order",
            "format": "int32"
          },
          "service_order_status_name": {
            "type": "string",
            "description": "Status name of the service order",
            "nullable": true
          },
          "service_provider_bp_id": {
            "type": "integer",
            "description": "Tenant specific unique Id of the business partner (service provider) which is involved in the service order",
            "format": "int32"
          },
          "service_provider_sys_bp_id": {
            "type": "integer",
            "description": "Global unique Id of the business partner (service provider) which is involved in the service order (unique across all tenants)",
            "format": "int32"
          },
          "berth_booking_id": {
            "type": "integer",
            "description": "Id of the related booking of the service order",
            "format": "int64"
          },
          "booking_start_on": {
            "type": "string",
            "description": "Date and time value when the related booking starts",
            "format": "date-time"
          },
          "booking_end_on": {
            "type": "string",
            "description": "Date and time value when the related booking ends",
            "format": "date-time"
          },
          "vessel_id": {
            "type": "integer",
            "description": "Unique tenant specific internal id of the related vessel",
            "format": "int32"
          },
          "vessel_name": {
            "type": "string",
            "description": "The name of the vessel",
            "nullable": true
          },
          "vessel_owner_business_partner_name": {
            "type": "string",
            "description": "The name of the owner (business partner) of the vessel",
            "nullable": true
          },
          "berth_id": {
            "type": "integer",
            "description": "Unique tenant specific internal id of the related berth",
            "format": "int32"
          },
          "berth_name": {
            "type": "string",
            "description": "The name of the berth",
            "nullable": true
          },
          "berth_geo_latitude": {
            "type": "number",
            "description": "The geographical latitude value of the berths position",
            "format": "double"
          },
          "berth_geo_longitude": {
            "type": "number",
            "description": "The geographical longitude value of the berths position",
            "format": "double"
          },
          "berth_unlocode_alpha5": {
            "type": "string",
            "description": "The alpha5 code of the berths UN-location",
            "nullable": true
          },
          "berth_unlocode_name": {
            "type": "string",
            "description": "The name of the berths UN-location",
            "nullable": true
          },
          "berth_address_street": {
            "type": "string",
            "description": "The optional street of the berth",
            "nullable": true
          },
          "berth_address_postal_code": {
            "type": "string",
            "description": "The optional postal code of the berth",
            "nullable": true
          },
          "berth_address_city": {
            "type": "string",
            "description": "The optional city of the berth",
            "nullable": true
          },
          "berth_address_local_district": {
            "type": "string",
            "description": "The optional local district of the berth",
            "nullable": true
          },
          "berth_address_region": {
            "type": "string",
            "description": "The optional address related region of the berth",
            "nullable": true
          },
          "desired_delivery_date": {
            "type": "string",
            "description": "The optional desired delivered date set by the booking portal user",
            "format": "date-time",
            "nullable": true
          },
          "estimated_delivery_date": {
            "type": "string",
            "description": "The optional estimated delivery date set by the eConnect user",
            "format": "date-time",
            "nullable": true
          },
          "order_lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineResult"
            },
            "description": "List of order lines (articles) of the service order",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about an order"
      },
      "OrderResultServerSideTableResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderResult"
            },
            "nullable": true
          },
          "rowsNumber": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OrderStatusResult": {
        "type": "object",
        "properties": {
          "service_order_status_id": {
            "type": "integer",
            "description": "The unique id of the service order status",
            "format": "int32"
          },
          "service_order_status_name": {
            "type": "string",
            "description": "The name of the service order status",
            "nullable": true
          },
          "service_order_status_desc": {
            "type": "string",
            "description": "The description of the service order status",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about a service order status"
      },
      "OrderTableRequestFilter": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "description": "Global search term",
            "nullable": true
          },
          "status": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of order status ids to filter the results",
            "nullable": true
          },
          "completable": {
            "type": "boolean",
            "description": "Boolean value to filter results for orders that can be completed, based on the \"confirmed\" status and the fact that the related booking is already in the past",
            "nullable": true
          },
          "period": {
            "type": "string",
            "description": "String value which holds a predefined period to filter the results",
            "nullable": true
          },
          "tenants": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of tenant ids to filter the results",
            "nullable": true
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of un location codes to filter the results",
            "nullable": true
          },
          "customPeriod": {
            "$ref": "#/components/schemas/OrderTableRequestFilterCustomPeriod"
          },
          "includeOrderLines": {
            "type": "boolean",
            "description": "Boolean value to indicate if order lines (articles) should be queried as well, currently used for export functions",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Objects which holds information about filterable items for a server side process order table"
      },
      "OrderTableRequestFilterCustomPeriod": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Date and time value (with tz offset) to start at",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "description": "Date and time value (with tz offset) to end at",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about a custom period (date time value) to filter order results"
      },
      "OrderTableRequestFilterServerSideTableQuery": {
        "type": "object",
        "properties": {
          "language_code": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "pagination": {
            "$ref": "#/components/schemas/ServerSideTablePagination"
          },
          "filter": {
            "$ref": "#/components/schemas/OrderTableRequestFilter"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "PutEmailNotificationSettingsRequest": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PutWebNotificationSettingsRequest": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ServerSideTablePagination": {
        "type": "object",
        "properties": {
          "sortBy": {
            "type": "string",
            "nullable": true
          },
          "descending": {
            "type": "boolean"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "rowsPerPage": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TenantBerthWithLocationDetailResult": {
        "required": [
          "berth_address_city",
          "berth_address_local_district",
          "berth_address_postal_code",
          "berth_address_region",
          "berth_address_street",
          "berth_id",
          "berth_installation_type_name",
          "berth_name",
          "berth_name_simple",
          "country_alpha2",
          "country_name",
          "geo_latitude",
          "geo_longitude",
          "is_active",
          "is_bookable",
          "is_deleted",
          "is_seasonal",
          "nts_position_name",
          "season_end_on",
          "season_start_on",
          "tenant_number",
          "unlocode_alpha5",
          "waterway_distance_mark",
          "waterway_generic_name"
        ],
        "type": "object",
        "properties": {
          "tenant_number": {
            "type": "integer",
            "description": "The unique internal id of the tenant",
            "format": "int32"
          },
          "berth_id": {
            "type": "integer",
            "description": "Unique tenant specific internal id of the related berth",
            "format": "int32"
          },
          "berth_name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the berth"
          },
          "berth_name_simple": {
            "minLength": 1,
            "type": "string",
            "description": "The simplified name of the berth"
          },
          "berth_installation_type_name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the intallation type of the berth (like fixed or floating)"
          },
          "waterway_generic_name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the waterway (river) where the berth is located"
          },
          "waterway_distance_mark": {
            "type": "number",
            "description": "The distance mark (km) where the berth is located at the waterway",
            "format": "double"
          },
          "nts_position_name": {
            "minLength": 1,
            "type": "string",
            "description": "Riverside position of the berth, e.g. left, right, etc."
          },
          "geo_latitude": {
            "type": "number",
            "description": "The geographical latitude value of the berths position",
            "format": "double"
          },
          "geo_longitude": {
            "type": "number",
            "description": "The geographical longitude value of the berths position",
            "format": "double"
          },
          "berth_address_street": {
            "minLength": 1,
            "type": "string",
            "description": "The optional street of the berth"
          },
          "berth_address_postal_code": {
            "minLength": 1,
            "type": "string",
            "description": "The optional postal code of the berth"
          },
          "berth_address_city": {
            "minLength": 1,
            "type": "string",
            "description": "The optional city of the berth"
          },
          "berth_address_local_district": {
            "minLength": 1,
            "type": "string",
            "description": "The optional local district of the berth"
          },
          "berth_address_region": {
            "minLength": 1,
            "type": "string",
            "description": "The optional address related region of the berth"
          },
          "country_name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the country where the berth is located"
          },
          "country_alpha2": {
            "minLength": 1,
            "type": "string",
            "description": "The alpha2 value of the country where the berth is located"
          },
          "unlocode_alpha5": {
            "minLength": 1,
            "type": "string",
            "description": "The alpha5 code of the Un-Location"
          },
          "is_active": {
            "type": "boolean",
            "description": "Boolean value to indicate if the berth is set as active"
          },
          "is_deleted": {
            "type": "boolean",
            "description": "Boolean value to indicate if the berth is set as deleted"
          },
          "is_bookable": {
            "type": "boolean",
            "description": "Boolean value to indicate if the berth is bookable at all"
          },
          "is_seasonal": {
            "type": "boolean",
            "description": "Boolean value to indicate if the berth can only be booked in a specified season (date time values)"
          },
          "season_start_on": {
            "type": "string",
            "description": "Date and time value of the start of the bookable berth season",
            "format": "date-time"
          },
          "season_end_on": {
            "type": "string",
            "description": "Date and time value of the end of the bookable berth season",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about the tenants berth, including details about the location"
      },
      "TenantResult": {
        "type": "object",
        "properties": {
          "tenant_number": {
            "type": "integer",
            "description": "Unique internal id of the tenant",
            "format": "int32"
          },
          "tenant_name": {
            "type": "string",
            "description": "The name of the tenant",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about a tenant"
      },
      "UnitOfMeasurementsResult": {
        "required": [
          "uom_id",
          "uom_name"
        ],
        "type": "object",
        "properties": {
          "uom_id": {
            "type": "integer",
            "description": "The unique internal id of the unit of measurement",
            "format": "int32"
          },
          "uom_name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the unit of measurement"
          },
          "uom_abbreviation": {
            "type": "string",
            "description": "The abbreviation of the unit of measurement",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about a unit of measurement (UOM)"
      },
      "UpdateEstimatedDeliveryPayload": {
        "type": "object",
        "properties": {
          "estimated_delivery_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WasteTypeResult": {
        "required": [
          "is_active",
          "is_hazardous_waste",
          "is_selectable",
          "is_visible",
          "waste_type_code",
          "waste_type_data_version",
          "waste_type_desc"
        ],
        "type": "object",
        "properties": {
          "waste_type_code": {
            "minLength": 1,
            "type": "string",
            "description": "The unique code of the waste type in combination with the data version."
          },
          "waste_type_data_version": {
            "minLength": 1,
            "type": "string",
            "description": "The data version for which the waste type id is valid (combined primary key)."
          },
          "parent_waste_type_code": {
            "type": "string",
            "description": "The reference to the parent waste type code entry (combined with the waste_type_data_version), if this is NULL this row is a ROOT element.",
            "nullable": true
          },
          "waste_type_desc": {
            "minLength": 1,
            "type": "string",
            "description": "The description of the waste type.\r\nThe language specific translations of the waste type description.\r\nBy default the waste_type_desc is used (fallback) but otherwise it is possible to get the description from this KEY = value array storage JsonPropertyName type using the key (country_alpha2 = country_name)."
          },
          "is_hazardous_waste": {
            "type": "boolean",
            "description": "Boolean value to indicate that this is when set to TRUE, otherwise it is not hazardous (DEFAULT=FALSE)"
          },
          "is_active": {
            "type": "boolean",
            "description": "Boolean value to indicate that this is a currently active (valid) entry."
          },
          "is_visible": {
            "type": "boolean",
            "description": "Boolean value to indicate that this entry is shown in the user interface (for example to unfold sub-elements)."
          },
          "is_selectable": {
            "type": "boolean",
            "description": "Boolean value to indicate that this is leaf element that can be selected by the user."
          }
        },
        "additionalProperties": false,
        "description": "Object which holds information about available waste types"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "JWT Authorization header using the Bearer scheme. \\r\\n\\r\\n \n                      Enter 'Bearer' [space] and then your token in the text input below.\n                      \\r\\n\\r\\nExample: 'Bearer 12345abcdef'",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}