{
  "openapi": "3.1.1",
  "info": {
    "title": "KonstalexERP.Api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "http://mariokx.pl/"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/admin/events-view": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/mobile": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/health": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/users": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/me": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users/{id}": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users/{id}/password": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/events": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAdminEventRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/email/settings": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveEmailSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/email/test": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailTestRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/database/backup/default-directory": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/database/backup": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDatabaseBackupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/updates/check": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "appId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currentVersion",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/updates/packages/{appId}/{version}": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/updates/packages": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/orders": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/orders/import": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportProductionOrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/logs": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "department",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/order-progress": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/advancement/source": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/charts/weekly": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "department",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/charts/loss-analysis": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/reports/completed-summary": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/reports/department-summary": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/reports/worker-summary": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/active": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/logged-workers": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/cuts": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/machine-plan": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddMachinePlanRowRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/machine-plan/available-cuts": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/machine-plan/rows": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/machine-plan/swap": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SwapMachinePlanRowsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/machine-plan/{id}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/machine-plan/normalize": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NormalizeMachinePlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/schedule/definitions": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/schedule/operation-completion": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductionOperationCompletionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/schedule/reshuffle": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductionScheduleReshuffleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/completed-cuts": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/machine-plan/mark-completed": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/production/summary": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/operators": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "department",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperatorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/dashboard": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/operators/{id}": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperatorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/shift-settings": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/shift-settings/{operatorId}": {
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "operatorId",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperatorShiftSettingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/shift-overrides": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperatorShiftOverrideRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/shift-overrides/{id}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/absence-types": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveAbsenceTypeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/absence-types/{code}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/absences": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "operatorId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAbsenceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/absences/{id}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/attendance": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "operatorId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/attendance/production-logs": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/vacations": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "operatorId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveVacationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/vacations/{id}": {
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveVacationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/sick-leaves": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "operatorId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveSickLeaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/hr/sick-leaves/{id}": {
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveSickLeaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/quality/inspection-requests": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/quality/inspection-results/conforming": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QualityInspectionKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/quality/ncrs": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNcrRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/quality/ncrs/{id}/close": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/quality/stats": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/utr/downtimes": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "downtimeType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/utr/downtimes/{id}": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/utr/downtimes/{id}/review": {
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDowntimeReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/orders": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/time-targets": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveTimeTargetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/cut-plans/import": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportCutPlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/operation-groups": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperationGroupDefinitionsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/operations": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveTechnologyOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/processes": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveTechnologyProcessRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/processes/{id}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/transport/orders": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/transport/order-items": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currentPlanId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/transport/plans": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveTransportPlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/transport/plans/{id}": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/technology/transport/shipments": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveTransportShipmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/items": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/receipts": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductionMaterialReceiptRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/items/{id}": {
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductionMaterialUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/transactions": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/lookup-values": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "lookupType",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SteelLookupType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/lookup-values/{lookupType}": {
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "lookupType",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SteelLookupType"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveSteelLookupValueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/lookup-values/{lookupType}/{id}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "lookupType",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SteelLookupType"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/steel/reservations": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductionMaterialReservationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/warehouse/locations": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveWarehouseLocationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/warehouse/locations/{id}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/toolroom/items": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/toolroom/receipts": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UtilityInventoryReceiptRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/toolroom/categories": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveUtilityCategoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/toolroom/categories/{id}": {
      "delete": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/toolroom/transactions": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "maxRows",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/issues": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryIssueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/waste/containers": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/waste/months": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/waste/employees": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/waste/scrap-entries": {
      "get": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "containerId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endExclusive",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/waste/scrap-entries/gross": {
      "post": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddWasteGrossRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inventory/waste/scrap-entries/{id}/tare": {
      "put": {
        "tags": [
          "KonstalexERP.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWasteTareRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AddMachinePlanRowRequest": {
        "required": [
          "machine",
          "cutNumber"
        ],
        "type": "object",
        "properties": {
          "machine": {
            "type": "string"
          },
          "cutNumber": {
            "type": "string"
          }
        }
      },
      "AddWasteGrossRequest": {
        "required": [
          "containerId",
          "reportDate",
          "grossWeightKg",
          "weigherName",
          "foremanName",
          "masterName",
          "notes",
          "createdBy"
        ],
        "type": "object",
        "properties": {
          "containerId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "reportDate": {
            "type": "string",
            "format": "date-time"
          },
          "grossWeightKg": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weigherName": {
            "type": [
              "null",
              "string"
            ]
          },
          "foremanName": {
            "type": [
              "null",
              "string"
            ]
          },
          "masterName": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AppPermissionLevel": {
        "enum": [
          "None",
          "Read",
          "Edit"
        ]
      },
      "CreateAbsenceRequest": {
        "required": [
          "operatorId",
          "workDate",
          "absenceCode",
          "notes",
          "source"
        ],
        "type": "object",
        "properties": {
          "operatorId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "workDate": {
            "type": "string",
            "format": "date-time"
          },
          "absenceCode": {
            "type": "string"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "source": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateAdminEventRequest": {
        "required": [
          "moduleName",
          "actionType",
          "message",
          "details",
          "severity"
        ],
        "type": "object",
        "properties": {
          "moduleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "actionType": {
            "type": [
              "null",
              "string"
            ]
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          },
          "details": {
            "type": [
              "null",
              "string"
            ]
          },
          "severity": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateDatabaseBackupRequest": {
        "required": [
          "fileName"
        ],
        "type": "object",
        "properties": {
          "fileName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreateNcrRequest": {
        "required": [
          "orderNumber",
          "element",
          "position",
          "department",
          "operation",
          "operatorName",
          "category",
          "severity",
          "description",
          "decision"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "element": {
            "type": [
              "null",
              "string"
            ]
          },
          "position": {
            "type": [
              "null",
              "string"
            ]
          },
          "department": {
            "type": [
              "null",
              "string"
            ]
          },
          "operation": {
            "type": [
              "null",
              "string"
            ]
          },
          "operatorName": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": "string"
          },
          "severity": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": "string"
          },
          "decision": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CutPlanImportItem": {
        "required": [
          "element",
          "position"
        ],
        "type": "object",
        "properties": {
          "element": {
            "type": [
              "null",
              "string"
            ]
          },
          "position": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "EmailTestRequest": {
        "required": [
          "recipientEmail",
          "subject",
          "body"
        ],
        "type": "object",
        "properties": {
          "recipientEmail": {
            "type": "string"
          },
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "body": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ImportCutPlanRequest": {
        "required": [
          "cutNumber",
          "orderNumber",
          "items"
        ],
        "type": "object",
        "properties": {
          "cutNumber": {
            "type": "string"
          },
          "orderNumber": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CutPlanImportItem"
            }
          }
        }
      },
      "ImportProductionOrderRequest": {
        "required": [
          "orderNumber",
          "items"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductionOrderImportItem"
            }
          }
        }
      },
      "InventoryIssueRequest": {
        "type": "object",
        "properties": {
          "itemId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "warehouseType": {
            "$ref": "#/components/schemas/InventoryWarehouseType"
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "documentNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "InventoryWarehouseType": {
        "enum": [
          "Production",
          "Utility"
        ]
      },
      "LoginRequest": {
        "required": [
          "username",
          "password"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "NormalizeMachinePlanRequest": {
        "required": [
          "machine"
        ],
        "type": "object",
        "properties": {
          "machine": {
            "type": "string"
          }
        }
      },
      "ProductionMaterialReceiptRequest": {
        "type": "object",
        "properties": {
          "categoryName": {
            "type": [
              "null",
              "string"
            ]
          },
          "itemName": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "width": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "thickness": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "diameter": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "locationId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "orderNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "heatNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "certificateNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "deliveryDocumentNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "supplierName": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "documentNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProductionMaterialReservationRequest": {
        "type": "object",
        "properties": {
          "itemId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "orderNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProductionMaterialUpdateRequest": {
        "type": "object",
        "properties": {
          "itemId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "categoryName": {
            "type": [
              "null",
              "string"
            ]
          },
          "itemName": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "width": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "thickness": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "diameter": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "locationId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "orderNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "heatNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "certificateNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "deliveryDocumentNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "supplierName": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "documentNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProductionOperationCompletionRequest": {
        "required": [
          "orderIds"
        ],
        "type": "object",
        "properties": {
          "orderIds": {
            "type": "array",
            "items": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        }
      },
      "ProductionOrderImportItem": {
        "required": [
          "element",
          "position",
          "plannedQty",
          "plannedTime",
          "weight"
        ],
        "type": "object",
        "properties": {
          "element": {
            "type": "string"
          },
          "position": {
            "type": [
              "null",
              "string"
            ]
          },
          "plannedQty": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "plannedTime": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "ProductionScheduleDelayPlanRequest": {
        "required": [
          "planId",
          "delayMinutes"
        ],
        "type": "object",
        "properties": {
          "planId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "delayMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ProductionScheduleReshuffleItemRequest": {
        "required": [
          "planId",
          "machine",
          "cutNumber",
          "ordersText",
          "positionDetailsText",
          "department",
          "operationName",
          "resourceName",
          "plannedStart",
          "plannedEnd",
          "delayMinutes",
          "workloadMinutes",
          "weightKg"
        ],
        "type": "object",
        "properties": {
          "planId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "machine": {
            "type": "string"
          },
          "cutNumber": {
            "type": "string"
          },
          "ordersText": {
            "type": "string"
          },
          "positionDetailsText": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "operationName": {
            "type": "string"
          },
          "resourceName": {
            "type": "string"
          },
          "plannedStart": {
            "type": "string",
            "format": "date-time"
          },
          "plannedEnd": {
            "type": "string",
            "format": "date-time"
          },
          "delayMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "workloadMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "weightKg": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "ProductionScheduleReshuffleRequest": {
        "required": [
          "planStart",
          "reshuffledAt",
          "delayByPlan",
          "delayedTasks"
        ],
        "type": "object",
        "properties": {
          "planStart": {
            "type": "string",
            "format": "date-time"
          },
          "reshuffledAt": {
            "type": "string",
            "format": "date-time"
          },
          "delayByPlan": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductionScheduleDelayPlanRequest"
            }
          },
          "delayedTasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductionScheduleReshuffleItemRequest"
            }
          }
        }
      },
      "QualityInspectionKeyRequest": {
        "required": [
          "orderNumber",
          "element",
          "position",
          "department",
          "operation",
          "operatorName"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "element": {
            "type": [
              "null",
              "string"
            ]
          },
          "position": {
            "type": [
              "null",
              "string"
            ]
          },
          "department": {
            "type": [
              "null",
              "string"
            ]
          },
          "operation": {
            "type": [
              "null",
              "string"
            ]
          },
          "operatorName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SaveAbsenceTypeRequest": {
        "required": [
          "code",
          "name",
          "countsAsVacation",
          "countsAsWorkTime"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "countsAsVacation": {
            "type": "boolean"
          },
          "countsAsWorkTime": {
            "type": "boolean"
          }
        }
      },
      "SaveEmailSettingsRequest": {
        "required": [
          "senderEmail",
          "senderDisplayName",
          "smtpHost",
          "smtpPort",
          "enableSsl",
          "password"
        ],
        "type": "object",
        "properties": {
          "senderEmail": {
            "type": "string"
          },
          "senderDisplayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "smtpHost": {
            "type": [
              "null",
              "string"
            ]
          },
          "smtpPort": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "enableSsl": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SaveOperationGroupDefinitionRequest": {
        "required": [
          "department",
          "groupName",
          "operationName",
          "sortOrder"
        ],
        "type": "object",
        "properties": {
          "department": {
            "type": "string"
          },
          "groupName": {
            "type": "string"
          },
          "operationName": {
            "type": "string"
          },
          "sortOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "SaveOperationGroupDefinitionsRequest": {
        "required": [
          "definitions"
        ],
        "type": "object",
        "properties": {
          "definitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveOperationGroupDefinitionRequest"
            }
          }
        }
      },
      "SaveOperatorRequest": {
        "required": [
          "firstName",
          "lastName",
          "wydzial",
          "telefon",
          "email",
          "employeeCardNumber",
          "dataZatrudnienia",
          "uprawnienia",
          "waznoscUprawnien",
          "vacationDays"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "wydzial": {
            "type": [
              "null",
              "string"
            ]
          },
          "telefon": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "employeeCardNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "dataZatrudnienia": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "uprawnienia": {
            "type": [
              "null",
              "string"
            ]
          },
          "waznoscUprawnien": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "vacationDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SaveOperatorShiftOverrideRequest": {
        "required": [
          "operatorId",
          "workDate",
          "shiftName",
          "notes"
        ],
        "type": "object",
        "properties": {
          "operatorId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "workDate": {
            "type": "string",
            "format": "date-time"
          },
          "shiftName": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SaveOperatorShiftSettingRequest": {
        "required": [
          "workMode",
          "defaultShift",
          "effectiveFrom",
          "notes"
        ],
        "type": "object",
        "properties": {
          "workMode": {
            "type": [
              "null",
              "string"
            ]
          },
          "defaultShift": {
            "type": [
              "null",
              "string"
            ]
          },
          "effectiveFrom": {
            "type": "string",
            "format": "date-time"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SaveSickLeaveRequest": {
        "required": [
          "operatorId",
          "dateFrom",
          "dateTo"
        ],
        "type": "object",
        "properties": {
          "operatorId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SaveSteelLookupValueRequest": {
        "required": [
          "id",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "value": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SaveTechnologyOperationRequest": {
        "required": [
          "department",
          "operationName"
        ],
        "type": "object",
        "properties": {
          "department": {
            "type": "string"
          },
          "operationName": {
            "type": "string"
          }
        }
      },
      "SaveTechnologyProcessRequest": {
        "required": [
          "processName",
          "steps"
        ],
        "type": "object",
        "properties": {
          "processName": {
            "type": [
              "null",
              "string"
            ]
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveTechnologyProcessStepRequest"
            }
          }
        }
      },
      "SaveTechnologyProcessStepRequest": {
        "required": [
          "department",
          "stepNo",
          "operationName"
        ],
        "type": "object",
        "properties": {
          "department": {
            "type": "string"
          },
          "stepNo": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "operationName": {
            "type": "string"
          }
        }
      },
      "SaveTimeTargetRequest": {
        "required": [
          "orderNumber",
          "department",
          "targetRbhPerTon",
          "operationAName",
          "operationAPercent",
          "operationBName",
          "operationBPercent",
          "operationCName",
          "operationCPercent"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "targetRbhPerTon": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "operationAName": {
            "type": [
              "null",
              "string"
            ]
          },
          "operationAPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "operationBName": {
            "type": [
              "null",
              "string"
            ]
          },
          "operationBPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "operationCName": {
            "type": [
              "null",
              "string"
            ]
          },
          "operationCPercent": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SaveTransportPlanItemRequest": {
        "required": [
          "orderItemId",
          "element",
          "position",
          "plannedQty",
          "weight"
        ],
        "type": "object",
        "properties": {
          "orderItemId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "element": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "plannedQty": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SaveTransportPlanRequest": {
        "required": [
          "planId",
          "transportDate",
          "orderNumber",
          "notes",
          "items"
        ],
        "type": "object",
        "properties": {
          "planId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "transportDate": {
            "type": "string",
            "format": "date-time"
          },
          "orderNumber": {
            "type": "string"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveTransportPlanItemRequest"
            }
          }
        }
      },
      "SaveTransportShipmentItemRequest": {
        "required": [
          "orderItemId",
          "element",
          "position",
          "plannedQty",
          "weight"
        ],
        "type": "object",
        "properties": {
          "orderItemId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "element": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "plannedQty": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "SaveTransportShipmentRequest": {
        "required": [
          "planId",
          "notes",
          "documentPath",
          "items"
        ],
        "type": "object",
        "properties": {
          "planId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "documentPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveTransportShipmentItemRequest"
            }
          }
        }
      },
      "SaveUserRequest": {
        "required": [
          "username",
          "password",
          "isAdmin",
          "hrPermissionLevel",
          "productionPermissionLevel",
          "inventoryPermissionLevel",
          "technologyPermissionLevel",
          "utrPermissionLevel",
          "administrationPermissionLevel",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "isAdmin": {
            "type": "boolean"
          },
          "hrPermissionLevel": {
            "$ref": "#/components/schemas/AppPermissionLevel"
          },
          "productionPermissionLevel": {
            "$ref": "#/components/schemas/AppPermissionLevel"
          },
          "inventoryPermissionLevel": {
            "$ref": "#/components/schemas/AppPermissionLevel"
          },
          "technologyPermissionLevel": {
            "$ref": "#/components/schemas/AppPermissionLevel"
          },
          "utrPermissionLevel": {
            "$ref": "#/components/schemas/AppPermissionLevel"
          },
          "administrationPermissionLevel": {
            "$ref": "#/components/schemas/AppPermissionLevel"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "SaveUtilityCategoryRequest": {
        "required": [
          "id",
          "name",
          "usesQuantity",
          "usesWeight",
          "usesLength"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "usesQuantity": {
            "type": "boolean"
          },
          "usesWeight": {
            "type": "boolean"
          },
          "usesLength": {
            "type": "boolean"
          }
        }
      },
      "SaveVacationRequest": {
        "required": [
          "operatorId",
          "dateFrom",
          "dateTo"
        ],
        "type": "object",
        "properties": {
          "operatorId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SaveWarehouseLocationRequest": {
        "required": [
          "id",
          "name",
          "description"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SetPasswordRequest": {
        "required": [
          "password"
        ],
        "type": "object",
        "properties": {
          "password": {
            "type": "string"
          }
        }
      },
      "SteelLookupType": {
        "enum": [
          "Category",
          "Grade",
          "Supplier"
        ]
      },
      "SwapMachinePlanRowsRequest": {
        "required": [
          "firstId",
          "secondId"
        ],
        "type": "object",
        "properties": {
          "firstId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "secondId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "UpdateDowntimeReviewRequest": {
        "required": [
          "rootCause",
          "correctiveAction"
        ],
        "type": "object",
        "properties": {
          "rootCause": {
            "type": [
              "null",
              "string"
            ]
          },
          "correctiveAction": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateWasteTareRequest": {
        "required": [
          "tareReportedAt",
          "tareWeightKg",
          "weigherName",
          "foremanName",
          "masterName",
          "notes"
        ],
        "type": "object",
        "properties": {
          "tareReportedAt": {
            "type": "string",
            "format": "date-time"
          },
          "tareWeightKg": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weigherName": {
            "type": [
              "null",
              "string"
            ]
          },
          "foremanName": {
            "type": [
              "null",
              "string"
            ]
          },
          "masterName": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UtilityInventoryReceiptRequest": {
        "type": "object",
        "properties": {
          "categoryId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "itemName": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "documentNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "KonstalexERP.Api"
    }
  ]
}