{
  "openapi": "3.0.0",
  "info": {
    "title": "katana-api-gateway",
    "version": "0.0.1",
    "description": "public api",
    "contact": {}
  },
  "paths": {
    "/additional_costs": {
      "get": {
        "x-controller-name": "AdditionalCostController",
        "x-operation-name": "getAdditionalCosts",
        "tags": [
          "AdditionalCostController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdditionalCostController.getAdditionalCosts"
          }
        },
        "operationId": "AdditionalCostController.getAdditionalCosts",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/batch_stocks/{id}": {
      "patch": {
        "x-controller-name": "BatchStockController",
        "x-operation-name": "updateBatchStock",
        "tags": [
          "BatchStockController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BatchStockController.updateBatchStock"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBatchDto"
              }
            }
          },
          "required": true
        },
        "operationId": "BatchStockController.updateBatchStock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/batch_stocks": {
      "get": {
        "x-controller-name": "BatchStockController",
        "x-operation-name": "getBatchStock",
        "tags": [
          "BatchStockController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BatchStockController.getBatchStock"
          }
        },
        "operationId": "BatchStockController.getBatchStock",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "batch_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "batch_number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "batch_barcode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_empty",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "batch_created_at_max",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batch_created_at_min",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/batches": {
      "post": {
        "x-controller-name": "BatchController",
        "x-operation-name": "createBatch",
        "tags": [
          "BatchController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BatchController.createBatch"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBatchDto"
              }
            }
          },
          "required": true
        },
        "operationId": "BatchController.createBatch"
      }
    },
    "/bin_locations/{id}": {
      "patch": {
        "x-controller-name": "BinLocationController",
        "x-operation-name": "updateBinLocation",
        "tags": [
          "BinLocationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BinLocationController.updateBinLocation"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BinLocationUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "BinLocationController.updateBinLocation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "BinLocationController",
        "x-operation-name": "deleteBinLocation",
        "tags": [
          "BinLocationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BinLocationController.deleteBinLocation"
          }
        },
        "operationId": "BinLocationController.deleteBinLocation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/bin_locations": {
      "get": {
        "x-controller-name": "BinLocationController",
        "x-operation-name": "findBinLocations",
        "tags": [
          "BinLocationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BinLocationController.findBinLocations"
          }
        },
        "operationId": "BinLocationController.findBinLocations",
        "parameters": [
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "bin_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/bom_rows/batch/create": {
      "post": {
        "x-controller-name": "BomRowController",
        "x-operation-name": "createBomRowsBatch",
        "tags": [
          "BomRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BomRowController.createBomRowsBatch"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBomRowsBatchDto"
              }
            }
          },
          "required": true
        },
        "operationId": "BomRowController.createBomRowsBatch"
      }
    },
    "/bom_rows/{id}": {
      "patch": {
        "x-controller-name": "BomRowController",
        "x-operation-name": "updateBomRow",
        "tags": [
          "BomRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BomRowController.updateBomRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BomRowUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "BomRowController.updateBomRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "BomRowController",
        "x-operation-name": "deleteBomRow",
        "tags": [
          "BomRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BomRowController.deleteBomRow"
          }
        },
        "operationId": "BomRowController.deleteBomRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/bom_rows": {
      "post": {
        "x-controller-name": "BomRowController",
        "x-operation-name": "createBomRow",
        "tags": [
          "BomRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BomRowController.createBomRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BomRowCreateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "BomRowController.createBomRow"
      },
      "get": {
        "x-controller-name": "BomRowController",
        "x-operation-name": "getBomRows",
        "tags": [
          "BomRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BomRowController.getBomRows"
          }
        },
        "operationId": "BomRowController.getBomRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "product_item_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ingredient_variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ]
      }
    },
    "/custom_field_definitions/{id}": {
      "patch": {
        "x-controller-name": "CustomFieldDefinitionController",
        "x-operation-name": "update",
        "tags": [
          "CustomFieldDefinitionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomFieldDefinitionController.update"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomFieldDefinitionDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CustomFieldDefinitionController.update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "CustomFieldDefinitionController",
        "x-operation-name": "getById",
        "tags": [
          "CustomFieldDefinitionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomFieldDefinitionController.getById"
          }
        },
        "operationId": "CustomFieldDefinitionController.getById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "CustomFieldDefinitionController",
        "x-operation-name": "deleteById",
        "tags": [
          "CustomFieldDefinitionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomFieldDefinitionController.deleteById"
          }
        },
        "operationId": "CustomFieldDefinitionController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/custom_field_definitions": {
      "post": {
        "x-controller-name": "CustomFieldDefinitionController",
        "x-operation-name": "create",
        "tags": [
          "CustomFieldDefinitionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomFieldDefinitionController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomFieldDefinitionDto"
              }
            }
          },
          "required": true
        },
        "operationId": "CustomFieldDefinitionController.create"
      },
      "get": {
        "x-controller-name": "CustomFieldDefinitionController",
        "x-operation-name": "getAll",
        "tags": [
          "CustomFieldDefinitionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomFieldDefinitionController.getAll"
          }
        },
        "operationId": "CustomFieldDefinitionController.getAll",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "field_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entity_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/custom_fields_collections": {
      "get": {
        "x-controller-name": "ItemsCustomFieldsCollectionController",
        "x-operation-name": "getAllCollections",
        "tags": [
          "ItemsCustomFieldsCollectionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ItemsCustomFieldsCollectionController.getAllCollections"
          }
        },
        "operationId": "ItemsCustomFieldsCollectionController.getAllCollections"
      }
    },
    "/customer_addresses/{id}": {
      "patch": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "updateCustomerAddress",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerAddressController.updateCustomerAddress"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerAddressUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CustomerAddressController.updateCustomerAddress",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "deleteCustomerAddress",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerAddressController.deleteCustomerAddress"
          }
        },
        "operationId": "CustomerAddressController.deleteCustomerAddress",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/customer_addresses": {
      "post": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "createCustomerAddress",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerAddressController.createCustomerAddress"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerAddressCreateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "CustomerAddressController.createCustomerAddress"
      },
      "get": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "getAllCustomerAddresses",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerAddressController.getAllCustomerAddresses"
          }
        },
        "operationId": "CustomerAddressController.getAllCustomerAddresses",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "customer_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "entity_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "first_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "last_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "company",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "line_1",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "line_2",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zip",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/customers/{id}": {
      "patch": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "updateVariant",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerController.updateVariant"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CustomerController.updateVariant",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "deleteCustomer",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerController.deleteCustomer"
          }
        },
        "operationId": "CustomerController.deleteCustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/customers": {
      "post": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "createCustomer",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerController.createCustomer"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerDto"
              }
            }
          },
          "required": true
        },
        "operationId": "CustomerController.createCustomer"
      },
      "get": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "getAllCustomers",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CustomerController.getAllCustomers"
          }
        },
        "operationId": "CustomerController.getAllCustomers",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "first_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "last_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "company",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reference_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/demand_forecasts": {
      "post": {
        "x-controller-name": "DemandForecastController",
        "x-operation-name": "updateDemandForecast",
        "tags": [
          "DemandForecastController"
        ],
        "responses": {
          "200": {
            "description": "Return value of DemandForecastController.updateDemandForecast"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DemandForecastUpdateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "DemandForecastController.updateDemandForecast"
      },
      "get": {
        "x-controller-name": "DemandForecastController",
        "x-operation-name": "findDemandForecast",
        "tags": [
          "DemandForecastController"
        ],
        "responses": {
          "200": {
            "description": "Return value of DemandForecastController.findDemandForecast"
          }
        },
        "operationId": "DemandForecastController.findDemandForecast",
        "parameters": [
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "DemandForecastController",
        "x-operation-name": "clearDemandForecast",
        "tags": [
          "DemandForecastController"
        ],
        "responses": {
          "200": {
            "description": "Return value of DemandForecastController.clearDemandForecast"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DemandForecastClearDto"
              }
            }
          },
          "required": true
        },
        "operationId": "DemandForecastController.clearDemandForecast"
      }
    },
    "/factory": {
      "get": {
        "x-controller-name": "FactoryController",
        "x-operation-name": "getFactory",
        "tags": [
          "FactoryController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FactoryController.getFactory"
          }
        },
        "operationId": "FactoryController.getFactory"
      }
    },
    "/inventory": {
      "get": {
        "x-controller-name": "InventoryController",
        "x-operation-name": "getInventories",
        "tags": [
          "InventoryController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InventoryController.getInventories"
          }
        },
        "operationId": "InventoryController.getInventories",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_archived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "variant",
                  "location"
                ]
              }
            }
          }
        ]
      }
    },
    "/inventory_movements": {
      "get": {
        "x-controller-name": "InventoryController",
        "x-operation-name": "getInventoryMovements",
        "tags": [
          "InventoryController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InventoryController.getInventoryMovements"
          }
        },
        "operationId": "InventoryController.getInventoryMovements",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "variant_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "resource_type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "PurchaseOrderRow",
                "PurchaseOrderRecipeRow",
                "SalesOrderRow",
                "ProductionIngredient",
                "Production",
                "StockAdjustmentRow",
                "StockTransferRow",
                "SystemGenerated"
              ]
            }
          },
          {
            "name": "resource_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "caused_by_order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "caused_by_resource_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ]
      }
    },
    "/inventory_reorder_points": {
      "post": {
        "x-controller-name": "InventorySafetyStockLevelController",
        "x-operation-name": "createInventoryReorderPoint",
        "tags": [
          "InventorySafetyStockLevelController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InventorySafetyStockLevelController.createInventoryReorderPoint"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "location_id",
                  "variant_id",
                  "value"
                ],
                "properties": {
                  "location_id": {
                    "type": "integer",
                    "maximum": 2147483647
                  },
                  "variant_id": {
                    "type": "integer",
                    "maximum": 2147483647
                  },
                  "value": {
                    "type": "number",
                    "maximum": 100000000000000000
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "InventorySafetyStockLevelController.createInventoryReorderPoint"
      }
    },
    "/inventory_safety_stock_levels": {
      "post": {
        "x-controller-name": "InventorySafetyStockLevelController",
        "x-operation-name": "createInventorySafetyStockLevel",
        "tags": [
          "InventorySafetyStockLevelController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InventorySafetyStockLevelController.createInventorySafetyStockLevel"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "location_id",
                  "variant_id",
                  "value"
                ],
                "properties": {
                  "location_id": {
                    "type": "integer",
                    "maximum": 2147483647
                  },
                  "variant_id": {
                    "type": "integer",
                    "maximum": 2147483647
                  },
                  "value": {
                    "type": "number",
                    "maximum": 100000000000000000
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "InventorySafetyStockLevelController.createInventorySafetyStockLevel"
      }
    },
    "/locations/{id}": {
      "get": {
        "x-controller-name": "LocationController",
        "x-operation-name": "getLocation",
        "tags": [
          "LocationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of LocationController.getLocation"
          }
        },
        "operationId": "LocationController.getLocation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/locations": {
      "get": {
        "x-controller-name": "LocationController",
        "x-operation-name": "getAllLocations",
        "tags": [
          "LocationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of LocationController.getAllLocations"
          }
        },
        "operationId": "LocationController.getAllLocations",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "legal_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "is_primary",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sales_allowed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "manufacturing_allowed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "purchases_allowed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "rank",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/manufacturing_order_make_to_order": {
      "post": {
        "x-controller-name": "MakeToOrderMOController",
        "x-operation-name": "createMTO",
        "tags": [
          "MakeToOrderMOController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MakeToOrderMOController.createMTO"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMakeToOrderManufacturingOrderDto"
              }
            }
          },
          "required": true
        },
        "operationId": "MakeToOrderMOController.createMTO"
      }
    },
    "/manufacturing_order_operation_rows/{id}": {
      "patch": {
        "x-controller-name": "ManufacturingOrderOperationRowController",
        "x-operation-name": "updateManufacturingOrderOperationRow",
        "tags": [
          "ManufacturingOrderOperationRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderOperationRowController.updateManufacturingOrderOperationRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManufacturingOrderOperationRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ManufacturingOrderOperationRowController.updateManufacturingOrderOperationRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "ManufacturingOrderOperationRowController",
        "x-operation-name": "retrieveManufacturingOrderOperationRow",
        "tags": [
          "ManufacturingOrderOperationRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderOperationRowController.retrieveManufacturingOrderOperationRow"
          }
        },
        "operationId": "ManufacturingOrderOperationRowController.retrieveManufacturingOrderOperationRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "ManufacturingOrderOperationRowController",
        "x-operation-name": "deleteManufacturingOrderOperationRow",
        "tags": [
          "ManufacturingOrderOperationRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderOperationRowController.deleteManufacturingOrderOperationRow"
          }
        },
        "operationId": "ManufacturingOrderOperationRowController.deleteManufacturingOrderOperationRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/manufacturing_order_operation_rows": {
      "post": {
        "x-controller-name": "ManufacturingOrderOperationRowController",
        "x-operation-name": "createManufacturingOrderOperationRow",
        "tags": [
          "ManufacturingOrderOperationRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderOperationRowController.createManufacturingOrderOperationRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManufacturingOrderOperationRowDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ManufacturingOrderOperationRowController.createManufacturingOrderOperationRow"
      },
      "get": {
        "x-controller-name": "ManufacturingOrderOperationRowController",
        "x-operation-name": "getManufacturingOrderOperationRows",
        "tags": [
          "ManufacturingOrderOperationRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderOperationRowController.getManufacturingOrderOperationRows"
          }
        },
        "operationId": "ManufacturingOrderOperationRowController.getManufacturingOrderOperationRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "manufacturing_order_id",
            "in": "query",
            "schema": {
              "type": "number",
              "maximum": 2147483647
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "enum": [
                "NOT_STARTED",
                "BLOCKED",
                "IN_PROGRESS",
                "PAUSED",
                "COMPLETED"
              ],
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/manufacturing_order_production_ingredients/{id}": {
      "patch": {
        "x-controller-name": "ManufacturingOrderProductionIngredientController",
        "x-operation-name": "updateManufacturingOrderProductionIngredient",
        "tags": [
          "ManufacturingOrderProductionIngredientController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderProductionIngredientController.updateManufacturingOrderProductionIngredient"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManufacturingOrderProductionIngredientDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ManufacturingOrderProductionIngredientController.updateManufacturingOrderProductionIngredient",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/manufacturing_order_productions/{id}": {
      "patch": {
        "x-controller-name": "ManufacturingOrderProductionController",
        "x-operation-name": "update",
        "tags": [
          "ManufacturingOrderProductionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderProductionController.update"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManufacturingOrderProductionDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ManufacturingOrderProductionController.update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "ManufacturingOrderProductionController",
        "x-operation-name": "findById",
        "tags": [
          "ManufacturingOrderProductionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderProductionController.findById"
          }
        },
        "operationId": "ManufacturingOrderProductionController.findById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "ManufacturingOrderProductionController",
        "x-operation-name": "deleteManufacturingOrderProduction",
        "tags": [
          "ManufacturingOrderProductionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderProductionController.deleteManufacturingOrderProduction"
          }
        },
        "operationId": "ManufacturingOrderProductionController.deleteManufacturingOrderProduction",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/manufacturing_order_productions": {
      "post": {
        "x-controller-name": "ManufacturingOrderProductionController",
        "x-operation-name": "completePartially",
        "tags": [
          "ManufacturingOrderProductionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderProductionController.completePartially"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompletePartiallyMoDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ManufacturingOrderProductionController.completePartially"
      },
      "get": {
        "x-controller-name": "ManufacturingOrderProductionController",
        "x-operation-name": "find",
        "tags": [
          "ManufacturingOrderProductionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderProductionController.find"
          }
        },
        "operationId": "ManufacturingOrderProductionController.find",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "manufacturing_order_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/manufacturing_order_recipe_rows/{id}": {
      "patch": {
        "x-controller-name": "ManufacturingOrderRecipeRowController",
        "x-operation-name": "updateManufacturingRecipeRow",
        "tags": [
          "ManufacturingOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderRecipeRowController.updateManufacturingRecipeRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManufacturingOrderRecipeRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ManufacturingOrderRecipeRowController.updateManufacturingRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "ManufacturingOrderRecipeRowController",
        "x-operation-name": "retrieveManufacturingRecipeRow",
        "tags": [
          "ManufacturingOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderRecipeRowController.retrieveManufacturingRecipeRow"
          }
        },
        "operationId": "ManufacturingOrderRecipeRowController.retrieveManufacturingRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "ManufacturingOrderRecipeRowController",
        "x-operation-name": "deleteManufacturingOrderRecipeRow",
        "tags": [
          "ManufacturingOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderRecipeRowController.deleteManufacturingOrderRecipeRow"
          }
        },
        "operationId": "ManufacturingOrderRecipeRowController.deleteManufacturingOrderRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/manufacturing_order_recipe_rows": {
      "post": {
        "x-controller-name": "ManufacturingOrderRecipeRowController",
        "x-operation-name": "createManufacturingOrderRecipeRow",
        "tags": [
          "ManufacturingOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderRecipeRowController.createManufacturingOrderRecipeRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManufacturingOrderRecipeRowDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ManufacturingOrderRecipeRowController.createManufacturingOrderRecipeRow"
      },
      "get": {
        "x-controller-name": "ManufacturingOrderRecipeRowController",
        "x-operation-name": "findManufacturingOrderRecipeRows",
        "tags": [
          "ManufacturingOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderRecipeRowController.findManufacturingOrderRecipeRows"
          }
        },
        "operationId": "ManufacturingOrderRecipeRowController.findManufacturingOrderRecipeRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "manufacturing_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ingredient_availability",
            "in": "query",
            "schema": {
              "enum": [
                "PROCESSED",
                "IN_STOCK",
                "NOT_AVAILABLE",
                "EXPECTED",
                "NO_RECIPE",
                "NOT_APPLICABLE"
              ],
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/manufacturing_order_unlink": {
      "post": {
        "x-controller-name": "MakeToOrderMOController",
        "x-operation-name": "unlink",
        "tags": [
          "MakeToOrderMOController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MakeToOrderMOController.unlink"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnlinkManufacturingOrderDto"
              }
            }
          },
          "required": true
        },
        "operationId": "MakeToOrderMOController.unlink"
      }
    },
    "/manufacturing_orders/{id}": {
      "patch": {
        "x-controller-name": "ManufacturingOrderController",
        "x-operation-name": "updateManufacturingOrder",
        "tags": [
          "ManufacturingOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderController.updateManufacturingOrder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManufacturingOrderDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ManufacturingOrderController.updateManufacturingOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "ManufacturingOrderController",
        "x-operation-name": "getManufacturingOrder",
        "tags": [
          "ManufacturingOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderController.getManufacturingOrder"
          }
        },
        "operationId": "ManufacturingOrderController.getManufacturingOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "ManufacturingOrderController",
        "x-operation-name": "deleteManufacturingOrder",
        "tags": [
          "ManufacturingOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderController.deleteManufacturingOrder"
          }
        },
        "operationId": "ManufacturingOrderController.deleteManufacturingOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/manufacturing_orders": {
      "post": {
        "x-controller-name": "ManufacturingOrderController",
        "x-operation-name": "createManufacturingOrder",
        "tags": [
          "ManufacturingOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderController.createManufacturingOrder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManufacturingOrderDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ManufacturingOrderController.createManufacturingOrder"
      },
      "get": {
        "x-controller-name": "ManufacturingOrderController",
        "x-operation-name": "getManufacturingOrders",
        "tags": [
          "ManufacturingOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ManufacturingOrderController.getManufacturingOrders"
          }
        },
        "operationId": "ManufacturingOrderController.getManufacturingOrders",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "enum": [
                "NOT_STARTED",
                "BLOCKED",
                "IN_PROGRESS",
                "PARTIALLY_COMPLETED",
                "DONE"
              ],
              "type": "string"
            }
          },
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "number",
              "maximum": 2147483647
            }
          },
          {
            "name": "is_linked_to_sales_order",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/materials/{id}": {
      "patch": {
        "x-controller-name": "MaterialController",
        "x-operation-name": "updateMaterial",
        "tags": [
          "MaterialController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MaterialController.updateMaterial"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaterialUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "MaterialController.updateMaterial",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "MaterialController",
        "x-operation-name": "getMaterial",
        "tags": [
          "MaterialController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MaterialController.getMaterial"
          }
        },
        "operationId": "MaterialController.getMaterial",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "supplier"
                ]
              }
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "MaterialController",
        "x-operation-name": "deleteManufacturingOrder",
        "tags": [
          "MaterialController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MaterialController.deleteManufacturingOrder"
          }
        },
        "operationId": "MaterialController.deleteManufacturingOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/materials": {
      "post": {
        "x-controller-name": "MaterialController",
        "x-operation-name": "createMaterial",
        "tags": [
          "MaterialController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MaterialController.createMaterial"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMaterialDto"
              }
            }
          },
          "required": true
        },
        "operationId": "MaterialController.createMaterial"
      },
      "get": {
        "x-controller-name": "MaterialController",
        "x-operation-name": "getAllMaterials",
        "tags": [
          "MaterialController"
        ],
        "responses": {
          "200": {
            "description": "Return value of MaterialController.getAllMaterials"
          }
        },
        "operationId": "MaterialController.getAllMaterials",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_sellable",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "uom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "default_supplier_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "batch_tracked",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchase_uom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchase_uom_conversion_rate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_archived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "supplier"
                ]
              }
            }
          }
        ]
      }
    },
    "/negative_stock": {
      "get": {
        "x-controller-name": "NegativeStockLatestMovementController",
        "x-operation-name": "getAllNegativeStockLatestMovements",
        "tags": [
          "NegativeStockLatestMovementController"
        ],
        "responses": {
          "200": {
            "description": "Return value of NegativeStockLatestMovementController.getAllNegativeStockLatestMovements"
          }
        },
        "operationId": "NegativeStockLatestMovementController.getAllNegativeStockLatestMovements",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "latest_negative_stock_date_max",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "latest_negative_stock_date_min",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/operators": {
      "get": {
        "x-controller-name": "OperatorsController",
        "x-operation-name": "find",
        "tags": [
          "OperatorsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OperatorsController.find"
          }
        },
        "operationId": "OperatorsController.find",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "working_area",
            "in": "query",
            "schema": {
              "enum": [
                "shopFloor",
                "warehouse"
              ],
              "type": "string"
            }
          },
          {
            "name": "resource_id",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ]
      }
    },
    "/outsourced_purchase_order_recipe_rows/{id}": {
      "patch": {
        "x-controller-name": "PurchaseOrderRecipeRowController",
        "x-operation-name": "updatePurchaseOrderRecipeRow",
        "tags": [
          "PurchaseOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRecipeRowController.updatePurchaseOrderRecipeRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePurchaseOrderRecipeRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PurchaseOrderRecipeRowController.updatePurchaseOrderRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "PurchaseOrderRecipeRowController",
        "x-operation-name": "getPurchaseOrderRecipeRow",
        "tags": [
          "PurchaseOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRecipeRowController.getPurchaseOrderRecipeRow"
          }
        },
        "operationId": "PurchaseOrderRecipeRowController.getPurchaseOrderRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "PurchaseOrderRecipeRowController",
        "x-operation-name": "deletePurchaseOrderRecipeRow",
        "tags": [
          "PurchaseOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRecipeRowController.deletePurchaseOrderRecipeRow"
          }
        },
        "operationId": "PurchaseOrderRecipeRowController.deletePurchaseOrderRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/outsourced_purchase_order_recipe_rows": {
      "post": {
        "x-controller-name": "PurchaseOrderRecipeRowController",
        "x-operation-name": "createPurchaseOrderRecipeRow",
        "tags": [
          "PurchaseOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRecipeRowController.createPurchaseOrderRecipeRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePurchaseOrderRecipeRowDto"
              }
            }
          },
          "required": true
        },
        "operationId": "PurchaseOrderRecipeRowController.createPurchaseOrderRecipeRow"
      },
      "get": {
        "x-controller-name": "PurchaseOrderRecipeRowController",
        "x-operation-name": "getPurchaseOrderRecipeRows",
        "tags": [
          "PurchaseOrderRecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRecipeRowController.getPurchaseOrderRecipeRows"
          }
        },
        "operationId": "PurchaseOrderRecipeRowController.getPurchaseOrderRecipeRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "purchase_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "purchase_order_row_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ingredient_variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/po_additional_cost_rows/{id}": {
      "patch": {
        "x-controller-name": "PoAdditionalCostRowController",
        "x-operation-name": "updatePoAdditionalCostRow",
        "tags": [
          "PoAdditionalCostRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PoAdditionalCostRowController.updatePoAdditionalCostRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePoAdditionalCostRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PoAdditionalCostRowController.updatePoAdditionalCostRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "PoAdditionalCostRowController",
        "x-operation-name": "getPoAdditionalCostRow",
        "tags": [
          "PoAdditionalCostRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PoAdditionalCostRowController.getPoAdditionalCostRow"
          }
        },
        "operationId": "PoAdditionalCostRowController.getPoAdditionalCostRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "PoAdditionalCostRowController",
        "x-operation-name": "deletePoAdditionalCostRow",
        "tags": [
          "PoAdditionalCostRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PoAdditionalCostRowController.deletePoAdditionalCostRow"
          }
        },
        "operationId": "PoAdditionalCostRowController.deletePoAdditionalCostRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/po_additional_cost_rows": {
      "post": {
        "x-controller-name": "PoAdditionalCostRowController",
        "x-operation-name": "createPoAdditionalCostRow",
        "tags": [
          "PoAdditionalCostRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PoAdditionalCostRowController.createPoAdditionalCostRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePoAdditionalCostRowDto"
              }
            }
          },
          "required": true
        },
        "operationId": "PoAdditionalCostRowController.createPoAdditionalCostRow"
      },
      "get": {
        "x-controller-name": "PoAdditionalCostRowController",
        "x-operation-name": "getPoAdditionalCostRows",
        "tags": [
          "PoAdditionalCostRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PoAdditionalCostRowController.getPoAdditionalCostRows"
          }
        },
        "operationId": "PoAdditionalCostRowController.getPoAdditionalCostRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "group_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "additional_cost_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "distribution_method",
            "in": "query",
            "schema": {
              "enum": [
                "BY_VALUE",
                "NON_DISTRIBUTED"
              ],
              "type": "string"
            }
          },
          {
            "name": "tax_rate_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/price_list_customers/{id}": {
      "patch": {
        "x-controller-name": "PriceListCustomerController",
        "x-operation-name": "updateById",
        "tags": [
          "PriceListCustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListCustomerController.updateById"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePriceListCustomerDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PriceListCustomerController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "PriceListCustomerController",
        "x-operation-name": "findById",
        "tags": [
          "PriceListCustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListCustomerController.findById"
          }
        },
        "operationId": "PriceListCustomerController.findById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "PriceListCustomerController",
        "x-operation-name": "deleteById",
        "tags": [
          "PriceListCustomerController"
        ],
        "responses": {
          "204": {
            "description": "Price list customer delete success"
          }
        },
        "operationId": "PriceListCustomerController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/price_list_customers": {
      "post": {
        "x-controller-name": "PriceListCustomerController",
        "x-operation-name": "create",
        "tags": [
          "PriceListCustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListCustomerController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePriceListCustomersDto"
              }
            }
          },
          "required": true
        },
        "operationId": "PriceListCustomerController.create"
      },
      "get": {
        "x-controller-name": "PriceListCustomerController",
        "x-operation-name": "findAndPaginate",
        "tags": [
          "PriceListCustomerController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListCustomerController.findAndPaginate"
          }
        },
        "operationId": "PriceListCustomerController.findAndPaginate",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "customer_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "price_list_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ]
      }
    },
    "/price_list_rows/{id}": {
      "patch": {
        "x-controller-name": "PriceListRowController",
        "x-operation-name": "updateById",
        "tags": [
          "PriceListRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListRowController.updateById"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPriceListRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PriceListRowController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "PriceListRowController",
        "x-operation-name": "findById",
        "tags": [
          "PriceListRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListRowController.findById"
          }
        },
        "operationId": "PriceListRowController.findById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "PriceListRowController",
        "x-operation-name": "deleteById",
        "tags": [
          "PriceListRowController"
        ],
        "responses": {
          "204": {
            "description": "Price list row delete success"
          }
        },
        "operationId": "PriceListRowController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/price_list_rows": {
      "post": {
        "x-controller-name": "PriceListRowController",
        "x-operation-name": "create",
        "tags": [
          "PriceListRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListRowController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePriceListRowsDto"
              }
            }
          },
          "required": true
        },
        "operationId": "PriceListRowController.create"
      },
      "get": {
        "x-controller-name": "PriceListRowController",
        "x-operation-name": "findAndPaginate",
        "tags": [
          "PriceListRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListRowController.findAndPaginate"
          }
        },
        "operationId": "PriceListRowController.findAndPaginate",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "variant_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "price_list_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ]
      }
    },
    "/price_lists/{id}": {
      "patch": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "updateById",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListController.updateById"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceListPatchDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PriceListController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "findById",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListController.findById"
          }
        },
        "operationId": "PriceListController.findById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "deleteById",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "204": {
            "description": "Price list delete success"
          }
        },
        "operationId": "PriceListController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/price_lists": {
      "post": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "create",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceListCreateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "PriceListController.create"
      },
      "get": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "findAndPaginate",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PriceListController.findAndPaginate"
          }
        },
        "operationId": "PriceListController.findAndPaginate",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_active",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ]
      }
    },
    "/product_operation_rerank": {
      "post": {
        "x-controller-name": "ProductOperationsController",
        "x-operation-name": "reRankOperationRow",
        "tags": [
          "ProductOperationsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductOperationsController.reRankOperationRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductOperationRowRankDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ProductOperationsController.reRankOperationRow"
      }
    },
    "/product_operation_rows/{id}": {
      "patch": {
        "x-controller-name": "ProductOperationsController",
        "x-operation-name": "updateProductOperationRow",
        "tags": [
          "ProductOperationsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductOperationsController.updateProductOperationRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductOperationRowUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ProductOperationsController.updateProductOperationRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "ProductOperationsController",
        "x-operation-name": "deleteProductOperationRow",
        "tags": [
          "ProductOperationsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductOperationsController.deleteProductOperationRow"
          }
        },
        "operationId": "ProductOperationsController.deleteProductOperationRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/product_operation_rows": {
      "post": {
        "x-controller-name": "ProductOperationsController",
        "x-operation-name": "createProductOperationRows",
        "tags": [
          "ProductOperationsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductOperationsController.createProductOperationRows"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductOperationCreateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ProductOperationsController.createProductOperationRows"
      },
      "get": {
        "x-controller-name": "ProductOperationsController",
        "x-operation-name": "getProductOperationRows",
        "tags": [
          "ProductOperationsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductOperationsController.getProductOperationRows"
          }
        },
        "operationId": "ProductOperationsController.getProductOperationRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "product_operation_row_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "product_variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "operation_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "operation_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resource_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "resource_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/products/{id}": {
      "patch": {
        "x-controller-name": "ProductController",
        "x-operation-name": "updateProduct",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductController.updateProduct"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ProductController.updateProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "ProductController",
        "x-operation-name": "getProduct",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductController.getProduct"
          }
        },
        "operationId": "ProductController.getProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "supplier"
                ]
              }
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "ProductController",
        "x-operation-name": "deleteProduct",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductController.deleteProduct"
          }
        },
        "operationId": "ProductController.deleteProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/products": {
      "post": {
        "x-controller-name": "ProductController",
        "x-operation-name": "createProduct",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductController.createProduct"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ProductController.createProduct"
      },
      "get": {
        "x-controller-name": "ProductController",
        "x-operation-name": "getAllProducts",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ProductController.getAllProducts"
          }
        },
        "operationId": "ProductController.getAllProducts",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_sellable",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "is_producible",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "is_purchasable",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "is_auto_assembly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "default_supplier_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "batch_tracked",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "serial_tracked",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operations_in_sequence",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "purchase_uom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchase_uom_conversion_rate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_archived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "supplier"
                ]
              }
            }
          }
        ]
      }
    },
    "/purchase_order_accounting_metadata": {
      "get": {
        "x-controller-name": "PurchaseOrderAccountingMetadataController",
        "x-operation-name": "getAllPurchaseOrderAccountingMetadata",
        "tags": [
          "PurchaseOrderAccountingMetadataController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderAccountingMetadataController.getAllPurchaseOrderAccountingMetadata"
          }
        },
        "operationId": "PurchaseOrderAccountingMetadataController.getAllPurchaseOrderAccountingMetadata",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "purchase_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "received_items_group_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ]
      }
    },
    "/purchase_order_receive": {
      "post": {
        "x-controller-name": "PurchaseOrderReceiveController",
        "x-operation-name": "receivePartially",
        "tags": [
          "PurchaseOrderReceiveController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderReceiveController.receivePartially"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/PurchaseOrderRowReceiveDto"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PurchaseOrderRowReceiveDto"
                    },
                    "minItems": 1
                  }
                ]
              }
            }
          },
          "required": true
        },
        "operationId": "PurchaseOrderReceiveController.receivePartially"
      }
    },
    "/purchase_order_rows/{id}": {
      "patch": {
        "x-controller-name": "PurchaseOrderRowController",
        "x-operation-name": "updatePurchaseOrderRow",
        "tags": [
          "PurchaseOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRowController.updatePurchaseOrderRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePurchaseOrderRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PurchaseOrderRowController.updatePurchaseOrderRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "PurchaseOrderRowController",
        "x-operation-name": "getPurchaseOrderRow",
        "tags": [
          "PurchaseOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRowController.getPurchaseOrderRow"
          }
        },
        "operationId": "PurchaseOrderRowController.getPurchaseOrderRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "PurchaseOrderRowController",
        "x-operation-name": "deletePurchaseOrderRow",
        "tags": [
          "PurchaseOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRowController.deletePurchaseOrderRow"
          }
        },
        "operationId": "PurchaseOrderRowController.deletePurchaseOrderRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/purchase_order_rows": {
      "post": {
        "x-controller-name": "PurchaseOrderRowController",
        "x-operation-name": "addPurchaseOrderRow",
        "tags": [
          "PurchaseOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRowController.addPurchaseOrderRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePurchaseOrderRowWithPurchaseOrderIdDto"
              }
            }
          },
          "required": true
        },
        "operationId": "PurchaseOrderRowController.addPurchaseOrderRow"
      },
      "get": {
        "x-controller-name": "PurchaseOrderRowController",
        "x-operation-name": "getPurchaseOrderRows",
        "tags": [
          "PurchaseOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderRowController.getPurchaseOrderRows"
          }
        },
        "operationId": "PurchaseOrderRowController.getPurchaseOrderRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "purchase_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "tax_rate_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "purchase_uom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/purchase_orders/{id}": {
      "patch": {
        "x-controller-name": "PurchaseOrderController",
        "x-operation-name": "updatePurchaseOrder",
        "tags": [
          "PurchaseOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderController.updatePurchaseOrder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePurchaseOrderDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PurchaseOrderController.updatePurchaseOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "PurchaseOrderController",
        "x-operation-name": "getPurchaseOrder",
        "tags": [
          "PurchaseOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderController.getPurchaseOrder"
          }
        },
        "operationId": "PurchaseOrderController.getPurchaseOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "supplier"
                ]
              }
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "PurchaseOrderController",
        "x-operation-name": "deletePurchaseOrder",
        "tags": [
          "PurchaseOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderController.deletePurchaseOrder"
          }
        },
        "operationId": "PurchaseOrderController.deletePurchaseOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/purchase_orders": {
      "post": {
        "x-controller-name": "PurchaseOrderController",
        "x-operation-name": "createPurchaseOrder",
        "tags": [
          "PurchaseOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderController.createPurchaseOrder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePurchaseOrderDto"
              }
            }
          },
          "required": true
        },
        "operationId": "PurchaseOrderController.createPurchaseOrder"
      },
      "get": {
        "x-controller-name": "PurchaseOrderController",
        "x-operation-name": "getPurchaseOrders",
        "tags": [
          "PurchaseOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PurchaseOrderController.getPurchaseOrders"
          }
        },
        "operationId": "PurchaseOrderController.getPurchaseOrders",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "enum": [
                "DRAFT",
                "NOT_RECEIVED",
                "PARTIALLY_RECEIVED",
                "RECEIVED"
              ],
              "type": "string"
            }
          },
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "billing_status",
            "in": "query",
            "schema": {
              "enum": [
                "BILLED",
                "NOT_BILLED",
                "PARTIALLY_BILLED"
              ],
              "type": "string"
            }
          },
          {
            "name": "last_document_status",
            "in": "query",
            "schema": {
              "enum": [
                "notSent",
                "sending",
                "sent",
                "failed"
              ],
              "type": "string"
            }
          },
          {
            "name": "supplier_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "entity_type",
            "in": "query",
            "schema": {
              "enum": [
                "regular",
                "outsourced"
              ],
              "type": "string"
            }
          },
          {
            "name": "tracking_location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "supplier"
                ]
              }
            }
          }
        ]
      }
    },
    "/recipe_rows/{id}": {
      "patch": {
        "x-controller-name": "RecipeRowController",
        "x-operation-name": "updateRecipeRow",
        "tags": [
          "RecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RecipeRowController.updateRecipeRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecipeRowUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "RecipeRowController.updateRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "RecipeRowController",
        "x-operation-name": "deleteRecipeRow",
        "tags": [
          "RecipeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RecipeRowController.deleteRecipeRow"
          }
        },
        "operationId": "RecipeRowController.deleteRecipeRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/recipes/{id}": {
      "delete": {
        "x-controller-name": "RecipeController",
        "x-operation-name": "deleteRecipeById",
        "tags": [
          "RecipeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RecipeController.deleteRecipeById"
          }
        },
        "operationId": "RecipeController.deleteRecipeById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/recipes": {
      "post": {
        "x-controller-name": "RecipeController",
        "x-operation-name": "createRecipeRow",
        "tags": [
          "RecipeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RecipeController.createRecipeRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecipeRowCreateManyDto"
              }
            }
          },
          "required": true
        },
        "operationId": "RecipeController.createRecipeRow"
      },
      "get": {
        "x-controller-name": "RecipeController",
        "x-operation-name": "getAllRecipes",
        "tags": [
          "RecipeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of RecipeController.getAllRecipes"
          }
        },
        "operationId": "RecipeController.getAllRecipes",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "product_variant_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "recipe_row_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ingredient_variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ]
      }
    },
    "/sales_order_accounting_metadata": {
      "get": {
        "x-controller-name": "SalesOrderAccountingMetadataController",
        "x-operation-name": "getAllSalesOrderAccountingMetadata",
        "tags": [
          "SalesOrderAccountingMetadataController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderAccountingMetadataController.getAllSalesOrderAccountingMetadata"
          }
        },
        "operationId": "SalesOrderAccountingMetadataController.getAllSalesOrderAccountingMetadata",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "sales_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "fulfillment_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ]
      }
    },
    "/sales_order_addresses/{id}": {
      "patch": {
        "x-controller-name": "SalesOrderAddressController",
        "x-operation-name": "updateById",
        "tags": [
          "SalesOrderAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderAddressController.updateById"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSalesOrderAddressDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SalesOrderAddressController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "SalesOrderAddressController",
        "x-operation-name": "deleteById",
        "tags": [
          "SalesOrderAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderAddressController.deleteById"
          }
        },
        "operationId": "SalesOrderAddressController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_order_addresses": {
      "post": {
        "x-controller-name": "SalesOrderAddressController",
        "x-operation-name": "createAddress",
        "tags": [
          "SalesOrderAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderAddressController.createAddress"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSalesOrderAddressDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SalesOrderAddressController.createAddress"
      },
      "get": {
        "x-controller-name": "SalesOrderAddressController",
        "x-operation-name": "getAllSalesOrderAddresses",
        "tags": [
          "SalesOrderAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderAddressController.getAllSalesOrderAddresses"
          }
        },
        "operationId": "SalesOrderAddressController.getAllSalesOrderAddresses",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "sales_order_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "entity_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "first_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "last_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "company",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "line_1",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "line_2",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zip",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/sales_order_fulfillments/{id}": {
      "patch": {
        "x-controller-name": "SalesOrderFulfillmentController",
        "x-operation-name": "updateSalesOrderFulfillment",
        "tags": [
          "SalesOrderFulfillmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderFulfillmentController.updateSalesOrderFulfillment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSalesOrderFulfillmentDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SalesOrderFulfillmentController.updateSalesOrderFulfillment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "SalesOrderFulfillmentController",
        "x-operation-name": "getSalesOrderFulfillment",
        "tags": [
          "SalesOrderFulfillmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderFulfillmentController.getSalesOrderFulfillment"
          }
        },
        "operationId": "SalesOrderFulfillmentController.getSalesOrderFulfillment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "SalesOrderFulfillmentController",
        "x-operation-name": "deleteSalesOrderFulfillment",
        "tags": [
          "SalesOrderFulfillmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderFulfillmentController.deleteSalesOrderFulfillment"
          }
        },
        "operationId": "SalesOrderFulfillmentController.deleteSalesOrderFulfillment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_order_fulfillments": {
      "post": {
        "x-controller-name": "SalesOrderFulfillmentController",
        "x-operation-name": "createSalesOrderFulfillment",
        "tags": [
          "SalesOrderFulfillmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderFulfillmentController.createSalesOrderFulfillment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSalesOrderFulfillmentDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SalesOrderFulfillmentController.createSalesOrderFulfillment"
      },
      "get": {
        "x-controller-name": "SalesOrderFulfillmentController",
        "x-operation-name": "getAllSalesOrderFulfillments",
        "tags": [
          "SalesOrderFulfillmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderFulfillmentController.getAllSalesOrderFulfillments"
          }
        },
        "operationId": "SalesOrderFulfillmentController.getAllSalesOrderFulfillments",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "picked_date_min",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tracking_number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tracking_url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tracking_carrier",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tracking_method",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sales_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "enum": [
                "PACKED",
                "DELIVERED"
              ],
              "type": "string"
            }
          },
          {
            "name": "invoice_status",
            "in": "query",
            "schema": {
              "enum": [
                "INVOICED",
                "NOT_INVOICED"
              ],
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/sales_order_rows/{id}": {
      "patch": {
        "x-controller-name": "SalesOrderRowController",
        "x-operation-name": "updateSalesOrderRow",
        "tags": [
          "SalesOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderRowController.updateSalesOrderRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSalesOrderRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SalesOrderRowController.updateSalesOrderRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "SalesOrderRowController",
        "x-operation-name": "findById",
        "tags": [
          "SalesOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderRowController.findById"
          }
        },
        "operationId": "SalesOrderRowController.findById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "variant"
                ]
              }
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "SalesOrderRowController",
        "x-operation-name": "deleteSalesOrderRow",
        "tags": [
          "SalesOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderRowController.deleteSalesOrderRow"
          }
        },
        "operationId": "SalesOrderRowController.deleteSalesOrderRow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_order_rows": {
      "post": {
        "x-controller-name": "SalesOrderRowController",
        "x-operation-name": "createSalesOrderRow",
        "tags": [
          "SalesOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderRowController.createSalesOrderRow"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSalesOrderRowWithSalesOrderIdDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SalesOrderRowController.createSalesOrderRow"
      },
      "get": {
        "x-controller-name": "SalesOrderRowController",
        "x-operation-name": "findAllSalesOrders",
        "tags": [
          "SalesOrderRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderRowController.findAllSalesOrders"
          }
        },
        "operationId": "SalesOrderRowController.findAllSalesOrders",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "sales_order_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "tax_rate_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "linked_manufacturing_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "product_availability",
            "in": "query",
            "schema": {
              "enum": [
                "IN_STOCK",
                "EXPECTED",
                "PICKED",
                "NOT_AVAILABLE",
                "NOT_APPLICABLE"
              ],
              "type": "string"
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "variant"
                ]
              }
            }
          }
        ]
      }
    },
    "/sales_order_shipping_fee/{id}": {
      "patch": {
        "x-controller-name": "SalesOrderShippingFeeController",
        "x-operation-name": "updateShippingFee",
        "tags": [
          "SalesOrderShippingFeeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderShippingFeeController.updateShippingFee"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateShippingFeeDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SalesOrderShippingFeeController.updateShippingFee",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "SalesOrderShippingFeeController",
        "x-operation-name": "getShippingFee",
        "tags": [
          "SalesOrderShippingFeeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderShippingFeeController.getShippingFee"
          }
        },
        "operationId": "SalesOrderShippingFeeController.getShippingFee",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "SalesOrderShippingFeeController",
        "x-operation-name": "deleteShippingFee",
        "tags": [
          "SalesOrderShippingFeeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderShippingFeeController.deleteShippingFee"
          }
        },
        "operationId": "SalesOrderShippingFeeController.deleteShippingFee",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_order_shipping_fee": {
      "post": {
        "x-controller-name": "SalesOrderShippingFeeController",
        "x-operation-name": "addShippingFee",
        "tags": [
          "SalesOrderShippingFeeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderShippingFeeController.addShippingFee"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddShippingFeeDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SalesOrderShippingFeeController.addShippingFee"
      },
      "get": {
        "x-controller-name": "SalesOrderShippingFeeController",
        "x-operation-name": "getAllShippingFees",
        "tags": [
          "SalesOrderShippingFeeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderShippingFeeController.getAllShippingFees"
          }
        },
        "operationId": "SalesOrderShippingFeeController.getAllShippingFees",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "sales_order_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/sales_orders/{id}/returnable_items": {
      "get": {
        "x-controller-name": "SalesOrderController",
        "x-operation-name": "getReturnableItems",
        "tags": [
          "SalesOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderController.getReturnableItems"
          }
        },
        "operationId": "SalesOrderController.getReturnableItems",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_orders/{id}": {
      "patch": {
        "x-controller-name": "SalesOrderController",
        "x-operation-name": "updateSalesOrder",
        "tags": [
          "SalesOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderController.updateSalesOrder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSalesOrderDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SalesOrderController.updateSalesOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "SalesOrderController",
        "x-operation-name": "getSalesOrder",
        "tags": [
          "SalesOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderController.getSalesOrder"
          }
        },
        "operationId": "SalesOrderController.getSalesOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "SalesOrderController",
        "x-operation-name": "deleteSalesOrder",
        "tags": [
          "SalesOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderController.deleteSalesOrder"
          }
        },
        "operationId": "SalesOrderController.deleteSalesOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_orders": {
      "post": {
        "x-controller-name": "SalesOrderController",
        "x-operation-name": "createSalesOrder",
        "tags": [
          "SalesOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderController.createSalesOrder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSalesOrderDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SalesOrderController.createSalesOrder"
      },
      "get": {
        "x-controller-name": "SalesOrderController",
        "x-operation-name": "getAllSalesOrders",
        "tags": [
          "SalesOrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesOrderController.getAllSalesOrders"
          }
        },
        "operationId": "SalesOrderController.getAllSalesOrders",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "invoicing_status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_availability",
            "in": "query",
            "schema": {
              "enum": [
                "IN_STOCK",
                "EXPECTED",
                "PICKED",
                "NOT_AVAILABLE",
                "NOT_APPLICABLE"
              ],
              "type": "string"
            }
          },
          {
            "name": "ingredient_availability",
            "in": "query",
            "schema": {
              "enum": [
                "PROCESSED",
                "IN_STOCK",
                "NOT_AVAILABLE",
                "EXPECTED",
                "NO_RECIPE",
                "NOT_APPLICABLE"
              ],
              "type": "string"
            }
          },
          {
            "name": "production_status",
            "in": "query",
            "schema": {
              "enum": [
                "NOT_STARTED",
                "NONE",
                "NOT_APPLICABLE",
                "IN_PROGRESS",
                "BLOCKED",
                "DONE"
              ],
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ecommerce_order_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ecommerce_store_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ecommerce_order_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/sales_return_rows/{id}/unassigned_batch_transactions": {
      "get": {
        "x-controller-name": "SalesReturnRowController",
        "x-operation-name": "getUnassignedBatchTransactions",
        "tags": [
          "SalesReturnRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnRowController.getUnassignedBatchTransactions"
          }
        },
        "operationId": "SalesReturnRowController.getUnassignedBatchTransactions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_return_rows/{id}": {
      "patch": {
        "x-controller-name": "SalesReturnRowController",
        "x-operation-name": "updateById",
        "tags": [
          "SalesReturnRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnRowController.updateById"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesReturnRowPatchDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SalesReturnRowController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "SalesReturnRowController",
        "x-operation-name": "getById",
        "tags": [
          "SalesReturnRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnRowController.getById"
          }
        },
        "operationId": "SalesReturnRowController.getById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "SalesReturnRowController",
        "x-operation-name": "deleteById",
        "tags": [
          "SalesReturnRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnRowController.deleteById"
          }
        },
        "operationId": "SalesReturnRowController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_return_rows": {
      "post": {
        "x-controller-name": "SalesReturnRowController",
        "x-operation-name": "create",
        "tags": [
          "SalesReturnRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnRowController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesReturnRowCreateDto"
              }
            }
          },
          "description": "Data to create Sales return row"
        },
        "operationId": "SalesReturnRowController.create"
      },
      "get": {
        "x-controller-name": "SalesReturnRowController",
        "x-operation-name": "findAndPaginate",
        "tags": [
          "SalesReturnRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnRowController.findAndPaginate"
          }
        },
        "operationId": "SalesReturnRowController.findAndPaginate",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "sales_return_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sales_order_row_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "reason_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "restock_location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ]
      }
    },
    "/sales_returns/return_reasons": {
      "get": {
        "x-controller-name": "SalesReturnsController",
        "x-operation-name": "getReturnReasons",
        "tags": [
          "SalesReturnsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnsController.getReturnReasons"
          }
        },
        "operationId": "SalesReturnsController.getReturnReasons"
      }
    },
    "/sales_returns/{id}": {
      "patch": {
        "x-controller-name": "SalesReturnsController",
        "x-operation-name": "updateById",
        "tags": [
          "SalesReturnsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnsController.updateById"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesReturnPatchDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SalesReturnsController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "SalesReturnsController",
        "x-operation-name": "findById",
        "tags": [
          "SalesReturnsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnsController.findById"
          }
        },
        "operationId": "SalesReturnsController.findById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "SalesReturnsController",
        "x-operation-name": "deleteById",
        "tags": [
          "SalesReturnsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnsController.deleteById"
          }
        },
        "operationId": "SalesReturnsController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/sales_returns": {
      "post": {
        "x-controller-name": "SalesReturnsController",
        "x-operation-name": "create",
        "tags": [
          "SalesReturnsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnsController.create"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSalesReturnDto"
              }
            }
          },
          "description": "Data to create Sales return"
        },
        "operationId": "SalesReturnsController.create"
      },
      "get": {
        "x-controller-name": "SalesReturnsController",
        "x-operation-name": "findAndPaginate",
        "tags": [
          "SalesReturnsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SalesReturnsController.findAndPaginate"
          }
        },
        "operationId": "SalesReturnsController.findAndPaginate",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "return_location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sales_order_no",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "enum": [
                "NOT_RETURNED",
                "RETURNED_ALL",
                "RESTOCKED_ALL"
              ],
              "type": "string"
            }
          },
          {
            "name": "refund_status",
            "in": "query",
            "schema": {
              "enum": [
                "NOT_REFUNDED",
                "REFUNDED",
                "PARTIALLY_REFUNDED"
              ],
              "type": "string"
            }
          },
          {
            "name": "order_created_date_min",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_created_date_max",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_return_date_min",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_return_date_max",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/serial_numbers/serial_numbers_stock": {
      "get": {
        "x-controller-name": "SerialNumberController",
        "x-operation-name": "list",
        "tags": [
          "SerialNumberController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SerialNumberController.list"
          }
        },
        "operationId": "SerialNumberController.list",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ]
      }
    },
    "/serial_numbers": {
      "post": {
        "x-controller-name": "SerialNumberController",
        "x-operation-name": "addSerialNumbersToEntity",
        "tags": [
          "SerialNumberController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SerialNumberController.addSerialNumbersToEntity"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddSerialNumbersToEntityDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SerialNumberController.addSerialNumbersToEntity"
      },
      "get": {
        "x-controller-name": "SerialNumberController",
        "x-operation-name": "find",
        "tags": [
          "SerialNumberController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SerialNumberController.find"
          }
        },
        "operationId": "SerialNumberController.find",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "resource_type",
            "in": "query",
            "schema": {
              "enum": [
                "ManufacturingOrder",
                "SalesOrderRow",
                "Production",
                "SalesOrderFulfillmentRow",
                "StockAdjustmentRow",
                "StockTransferRow",
                "PurchaseOrderRow"
              ],
              "type": "string"
            }
          },
          {
            "name": "resource_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "SerialNumberController",
        "x-operation-name": "deleteFromEntity",
        "tags": [
          "SerialNumberController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SerialNumberController.deleteFromEntity"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteSerialNumberDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SerialNumberController.deleteFromEntity"
      }
    },
    "/serial_numbers_stock": {
      "get": {
        "x-controller-name": "SerialNumberStockController",
        "x-operation-name": "list",
        "tags": [
          "SerialNumberStockController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SerialNumberStockController.list"
          }
        },
        "operationId": "SerialNumberStockController.list",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ]
      }
    },
    "/services/{id}": {
      "patch": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "updateService",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ServiceController.updateService"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServiceDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ServiceController.updateService",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "getService",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ServiceController.getService"
          }
        },
        "operationId": "ServiceController.getService",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "deleteService",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ServiceController.deleteService"
          }
        },
        "operationId": "ServiceController.deleteService",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/services": {
      "post": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "createService",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ServiceController.createService"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServiceDto"
              }
            }
          },
          "required": true
        },
        "operationId": "ServiceController.createService"
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "getAllServices",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ServiceController.getAllServices"
          }
        },
        "operationId": "ServiceController.getAllServices",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_sellable",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_archived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/stock_adjustments/{id}": {
      "patch": {
        "x-controller-name": "StockAdjustmentController",
        "x-operation-name": "updateStockAdjustment",
        "tags": [
          "StockAdjustmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockAdjustmentController.updateStockAdjustment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStockAdjustmentDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "StockAdjustmentController.updateStockAdjustment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "StockAdjustmentController",
        "x-operation-name": "deleteStockAdjustment",
        "tags": [
          "StockAdjustmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockAdjustmentController.deleteStockAdjustment"
          }
        },
        "operationId": "StockAdjustmentController.deleteStockAdjustment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/stock_adjustments": {
      "post": {
        "x-controller-name": "StockAdjustmentController",
        "x-operation-name": "createStockAdjustment",
        "tags": [
          "StockAdjustmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockAdjustmentController.createStockAdjustment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStockAdjustmentDto"
              }
            }
          },
          "required": true
        },
        "operationId": "StockAdjustmentController.createStockAdjustment"
      },
      "get": {
        "x-controller-name": "StockAdjustmentController",
        "x-operation-name": "findStockAdjustments",
        "tags": [
          "StockAdjustmentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockAdjustmentController.findStockAdjustments"
          }
        },
        "operationId": "StockAdjustmentController.findStockAdjustments",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "stock_adjustment_number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/stock_transfers/{id}/status": {
      "patch": {
        "x-controller-name": "StockTransferController",
        "x-operation-name": "updateStockTransferStatus",
        "tags": [
          "StockTransferController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockTransferController.updateStockTransferStatus"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStockTransferStatusDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "StockTransferController.updateStockTransferStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/stock_transfers/{id}": {
      "patch": {
        "x-controller-name": "StockTransferController",
        "x-operation-name": "updateStockTransfer",
        "tags": [
          "StockTransferController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockTransferController.updateStockTransfer"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStockTransferDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "StockTransferController.updateStockTransfer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "StockTransferController",
        "x-operation-name": "deleteStockTransfer",
        "tags": [
          "StockTransferController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockTransferController.deleteStockTransfer"
          }
        },
        "operationId": "StockTransferController.deleteStockTransfer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/stock_transfers": {
      "post": {
        "x-controller-name": "StockTransferController",
        "x-operation-name": "createStockTransfer",
        "tags": [
          "StockTransferController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockTransferController.createStockTransfer"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStockTransferDto"
              }
            }
          },
          "required": true
        },
        "operationId": "StockTransferController.createStockTransfer"
      },
      "get": {
        "x-controller-name": "StockTransferController",
        "x-operation-name": "findStockTransfers",
        "tags": [
          "StockTransferController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StockTransferController.findStockTransfers"
          }
        },
        "operationId": "StockTransferController.findStockTransfers",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "stock_transfer_number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source_location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "target_location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/stocktake_rows/{id}": {
      "patch": {
        "x-controller-name": "StocktakeRowController",
        "x-operation-name": "updateById",
        "tags": [
          "StocktakeRowController"
        ],
        "responses": {
          "200": {
            "description": "Updated stocktake row"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStocktakeRowDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "StocktakeRowController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "StocktakeRowController",
        "x-operation-name": "deleteById",
        "tags": [
          "StocktakeRowController"
        ],
        "responses": {
          "204": {
            "description": "Row delete success"
          }
        },
        "operationId": "StocktakeRowController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/stocktake_rows": {
      "post": {
        "x-controller-name": "StocktakeRowController",
        "x-operation-name": "createStocktakeRows",
        "tags": [
          "StocktakeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StocktakeRowController.createStocktakeRows"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStocktakeRowsDto"
              }
            }
          },
          "required": true
        },
        "operationId": "StocktakeRowController.createStocktakeRows"
      },
      "get": {
        "x-controller-name": "StocktakeRowController",
        "x-operation-name": "findStocktakeRows",
        "tags": [
          "StocktakeRowController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StocktakeRowController.findStocktakeRows"
          }
        },
        "operationId": "StocktakeRowController.findStocktakeRows",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "stocktake_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "batch_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/stocktakes/{id}": {
      "patch": {
        "x-controller-name": "StocktakeController",
        "x-operation-name": "updateById",
        "tags": [
          "StocktakeController"
        ],
        "responses": {
          "204": {
            "description": "Stocktake update success"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStocktakeDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "StocktakeController.updateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "StocktakeController",
        "x-operation-name": "deleteById",
        "tags": [
          "StocktakeController"
        ],
        "responses": {
          "204": {
            "description": "Stocktake delete success"
          }
        },
        "operationId": "StocktakeController.deleteById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ]
      }
    },
    "/stocktakes": {
      "post": {
        "x-controller-name": "StocktakeController",
        "x-operation-name": "createStocktake",
        "tags": [
          "StocktakeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StocktakeController.createStocktake"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStocktakeDto"
              }
            }
          },
          "required": true
        },
        "operationId": "StocktakeController.createStocktake"
      },
      "get": {
        "x-controller-name": "StocktakeController",
        "x-operation-name": "findStocktakes",
        "tags": [
          "StocktakeController"
        ],
        "responses": {
          "200": {
            "description": "Return value of StocktakeController.findStocktakes"
          }
        },
        "operationId": "StocktakeController.findStocktakes",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "stocktake_number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "enum": [
                "NOT_STARTED",
                "IN_PROGRESS",
                "COUNTED",
                "COMPLETED"
              ],
              "type": "string"
            }
          },
          {
            "name": "stock_adjustment_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/supplier_addresses/{id}": {
      "patch": {
        "x-controller-name": "SupplierAddressController",
        "x-operation-name": "updateSupplierAddress",
        "tags": [
          "SupplierAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierAddressController.updateSupplierAddress"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierAddressPatchDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SupplierAddressController.updateSupplierAddress",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "SupplierAddressController",
        "x-operation-name": "deleteSupplierAddress",
        "tags": [
          "SupplierAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierAddressController.deleteSupplierAddress"
          }
        },
        "operationId": "SupplierAddressController.deleteSupplierAddress",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/supplier_addresses": {
      "post": {
        "x-controller-name": "SupplierAddressController",
        "x-operation-name": "createSupplierAddress",
        "tags": [
          "SupplierAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierAddressController.createSupplierAddress"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierAddressCreateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SupplierAddressController.createSupplierAddress"
      },
      "get": {
        "x-controller-name": "SupplierAddressController",
        "x-operation-name": "getAllSupplierAddresses",
        "tags": [
          "SupplierAddressController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierAddressController.getAllSupplierAddresses"
          }
        },
        "operationId": "SupplierAddressController.getAllSupplierAddresses",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "supplier_ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "line_1",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "line_2",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zip",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/suppliers/{id}": {
      "patch": {
        "x-controller-name": "SupplierController",
        "x-operation-name": "updateSupplier",
        "tags": [
          "SupplierController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierController.updateSupplier"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "SupplierController.updateSupplier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "SupplierController",
        "x-operation-name": "deleteSupplier",
        "tags": [
          "SupplierController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierController.deleteSupplier"
          }
        },
        "operationId": "SupplierController.deleteSupplier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/suppliers": {
      "post": {
        "x-controller-name": "SupplierController",
        "x-operation-name": "createSupplier",
        "tags": [
          "SupplierController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierController.createSupplier"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierCreateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "SupplierController.createSupplier"
      },
      "get": {
        "x-controller-name": "SupplierController",
        "x-operation-name": "getAllSuppliers",
        "tags": [
          "SupplierController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupplierController.getAllSuppliers"
          }
        },
        "operationId": "SupplierController.getAllSuppliers",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/tax_rates": {
      "post": {
        "x-controller-name": "TaxRateController",
        "x-operation-name": "createTaxRate",
        "tags": [
          "TaxRateController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TaxRateController.createTaxRate"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTaxRateDto"
              }
            }
          },
          "required": true
        },
        "operationId": "TaxRateController.createTaxRate"
      },
      "get": {
        "x-controller-name": "TaxRateController",
        "x-operation-name": "getAllTaxRates",
        "tags": [
          "TaxRateController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TaxRateController.getAllTaxRates"
          }
        },
        "operationId": "TaxRateController.getAllTaxRates",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "rate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_default_sales",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "is_default_purchases",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    },
    "/unlink_variant_bin_locations": {
      "post": {
        "x-controller-name": "UnlinkVariantBinLocationController",
        "x-operation-name": "unlinkBinLocations",
        "tags": [
          "UnlinkVariantBinLocationController"
        ],
        "responses": {
          "204": {
            "description": "Unlink bin locations success"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UnlinkBinLocationDto"
                },
                "minItems": 1,
                "maxItems": 500
              }
            }
          },
          "required": true
        },
        "operationId": "UnlinkVariantBinLocationController.unlinkBinLocations"
      }
    },
    "/user_info": {
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "getUserInfo",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.getUserInfo"
          }
        },
        "operationId": "UsersController.getUserInfo"
      }
    },
    "/users": {
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "getAllUsers",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UsersController.getAllUsers"
          }
        },
        "operationId": "UsersController.getAllUsers",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ]
      }
    },
    "/variant_bin_locations": {
      "post": {
        "x-controller-name": "VariantBinLocationController",
        "x-operation-name": "bulkUpsertVariantBinLocations",
        "tags": [
          "VariantBinLocationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of VariantBinLocationController.bulkUpsertVariantBinLocations"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/VariantBinLocationUpsertDto"
                }
              }
            }
          },
          "description": "bulk upsert variant bin locations and bin locations via API"
        },
        "operationId": "VariantBinLocationController.bulkUpsertVariantBinLocations"
      }
    },
    "/variants/{id}": {
      "patch": {
        "x-controller-name": "VariantController",
        "x-operation-name": "updateVariant",
        "tags": [
          "VariantController"
        ],
        "responses": {
          "200": {
            "description": "Return value of VariantController.updateVariant"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VariantUpdateDto"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "VariantController.updateVariant",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "VariantController",
        "x-operation-name": "getVariant",
        "tags": [
          "VariantController"
        ],
        "responses": {
          "200": {
            "description": "Return value of VariantController.getVariant"
          }
        },
        "operationId": "VariantController.getVariant",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "product_or_material"
                ]
              }
            }
          }
        ]
      },
      "delete": {
        "x-controller-name": "VariantController",
        "x-operation-name": "deleteManufacturingOrder",
        "tags": [
          "VariantController"
        ],
        "responses": {
          "200": {
            "description": "Return value of VariantController.deleteManufacturingOrder"
          }
        },
        "operationId": "VariantController.deleteManufacturingOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/variants": {
      "post": {
        "x-controller-name": "VariantController",
        "x-operation-name": "createVariant",
        "tags": [
          "VariantController"
        ],
        "responses": {
          "200": {
            "description": "Return value of VariantController.createVariant"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVariantDto"
              }
            }
          },
          "required": true
        },
        "operationId": "VariantController.createVariant"
      },
      "get": {
        "x-controller-name": "VariantController",
        "x-operation-name": "getAllVariants",
        "tags": [
          "VariantController"
        ],
        "responses": {
          "200": {
            "description": "Return value of VariantController.getAllVariants"
          }
        },
        "operationId": "VariantController.getAllVariants",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "dateFilter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "material_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "sales_price",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "purchase_price",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "product",
                "material"
              ]
            }
          },
          {
            "name": "internal_barcode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "registered_barcode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "abc_classification",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C"
              ]
            }
          },
          {
            "name": "supplier_item_codes",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "include_deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_archived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "extend",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "product_or_material"
                ]
              }
            }
          }
        ]
      }
    },
    "/webhook_logs_export": {
      "post": {
        "x-controller-name": "WebhookLogsController",
        "x-operation-name": "exportWebhookLogs",
        "tags": [
          "WebhookLogsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WebhookLogsController.exportWebhookLogs"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookLogsExportDto"
              }
            }
          },
          "required": true
        },
        "operationId": "WebhookLogsController.exportWebhookLogs"
      }
    },
    "/webhooks/{id}": {
      "patch": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "updateWebhook",
        "tags": [
          "WebhookController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WebhookController.updateWebhook"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookDto"
              }
            }
          },
          "required": true
        },
        "operationId": "WebhookController.updateWebhook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "get": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "getWebhook",
        "tags": [
          "WebhookController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WebhookController.getWebhook"
          }
        },
        "operationId": "WebhookController.getWebhook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "deleteWebhook",
        "tags": [
          "WebhookController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WebhookController.deleteWebhook"
          }
        },
        "operationId": "WebhookController.deleteWebhook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "required": true
          }
        ]
      }
    },
    "/webhooks": {
      "post": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "createWebhook",
        "tags": [
          "WebhookController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WebhookController.createWebhook"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookDto"
              }
            }
          },
          "required": true
        },
        "operationId": "WebhookController.createWebhook"
      },
      "get": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "getAllWebhooks",
        "tags": [
          "WebhookController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WebhookController.getAllWebhooks"
          }
        },
        "operationId": "WebhookController.getAllWebhooks",
        "parameters": [
          {
            "name": "pagination",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "maximum": 2147483647
              }
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://api.katanamrp.com/v1"
    }
  ],
  "components": {
    "schemas": {
      "CreateWebhookDto": {
        "title": "CreateWebhookDto",
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "pattern": "https://*"
          },
          "subscribed_events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "sales_order.created",
                "sales_order.packed",
                "sales_order.delivered",
                "sales_order.updated",
                "sales_order.deleted",
                "sales_order.availability_updated",
                "purchase_order.created",
                "purchase_order.updated",
                "purchase_order.deleted",
                "purchase_order.partially_received",
                "purchase_order.received",
                "purchase_order_row.created",
                "purchase_order_row.received",
                "purchase_order_row.updated",
                "purchase_order_row.deleted",
                "outsourced_purchase_order.created",
                "outsourced_purchase_order.updated",
                "outsourced_purchase_order.deleted",
                "outsourced_purchase_order.received",
                "outsourced_purchase_order_row.created",
                "outsourced_purchase_order_row.updated",
                "outsourced_purchase_order_row.deleted",
                "outsourced_purchase_order_row.received",
                "outsourced_purchase_order_recipe_row.created",
                "outsourced_purchase_order_recipe_row.updated",
                "outsourced_purchase_order_recipe_row.deleted",
                "manufacturing_order.created",
                "manufacturing_order.updated",
                "manufacturing_order.deleted",
                "manufacturing_order.in_progress",
                "manufacturing_order.blocked",
                "manufacturing_order.done",
                "manufacturing_order_recipe_row.created",
                "manufacturing_order_recipe_row.updated",
                "manufacturing_order_recipe_row.deleted",
                "manufacturing_order_recipe_row.ingredients_in_stock",
                "manufacturing_order_operation_row.created",
                "manufacturing_order_operation_row.updated",
                "manufacturing_order_operation_row.deleted",
                "manufacturing_order_operation_row.in_progress",
                "manufacturing_order_operation_row.paused",
                "manufacturing_order_operation_row.blocked",
                "manufacturing_order_operation_row.completed",
                "current_inventory.product_updated",
                "current_inventory.material_updated",
                "current_inventory.product_out_of_stock",
                "current_inventory.material_out_of_stock",
                "product.created",
                "product.updated",
                "product.deleted",
                "material.created",
                "material.updated",
                "material.deleted",
                "variant.created",
                "variant.updated",
                "variant.deleted",
                "product_recipe_row.created",
                "product_recipe_row.deleted",
                "product_recipe_row.updated"
              ]
            }
          },
          "description": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "url",
          "subscribed_events"
        ],
        "additionalProperties": false
      },
      "UpdateWebhookDto": {
        "title": "UpdateWebhookDto",
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "pattern": "https://*"
          },
          "subscribed_events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "sales_order.created",
                "sales_order.packed",
                "sales_order.delivered",
                "sales_order.updated",
                "sales_order.deleted",
                "sales_order.availability_updated",
                "purchase_order.created",
                "purchase_order.updated",
                "purchase_order.deleted",
                "purchase_order.partially_received",
                "purchase_order.received",
                "purchase_order_row.created",
                "purchase_order_row.received",
                "purchase_order_row.updated",
                "purchase_order_row.deleted",
                "outsourced_purchase_order.created",
                "outsourced_purchase_order.updated",
                "outsourced_purchase_order.deleted",
                "outsourced_purchase_order.received",
                "outsourced_purchase_order_row.created",
                "outsourced_purchase_order_row.updated",
                "outsourced_purchase_order_row.deleted",
                "outsourced_purchase_order_row.received",
                "outsourced_purchase_order_recipe_row.created",
                "outsourced_purchase_order_recipe_row.updated",
                "outsourced_purchase_order_recipe_row.deleted",
                "manufacturing_order.created",
                "manufacturing_order.updated",
                "manufacturing_order.deleted",
                "manufacturing_order.in_progress",
                "manufacturing_order.blocked",
                "manufacturing_order.done",
                "manufacturing_order_recipe_row.created",
                "manufacturing_order_recipe_row.updated",
                "manufacturing_order_recipe_row.deleted",
                "manufacturing_order_recipe_row.ingredients_in_stock",
                "manufacturing_order_operation_row.created",
                "manufacturing_order_operation_row.updated",
                "manufacturing_order_operation_row.deleted",
                "manufacturing_order_operation_row.in_progress",
                "manufacturing_order_operation_row.paused",
                "manufacturing_order_operation_row.blocked",
                "manufacturing_order_operation_row.completed",
                "current_inventory.product_updated",
                "current_inventory.material_updated",
                "current_inventory.product_out_of_stock",
                "current_inventory.material_out_of_stock",
                "product.created",
                "product.updated",
                "product.deleted",
                "material.created",
                "material.updated",
                "material.deleted",
                "variant.created",
                "variant.updated",
                "variant.deleted",
                "product_recipe_row.created",
                "product_recipe_row.deleted",
                "product_recipe_row.updated"
              ]
            }
          },
          "description": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "WebhookDto": {
        "title": "WebhookDto",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "token": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "subscribed_events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "sales_order.created",
                "sales_order.packed",
                "sales_order.delivered",
                "sales_order.updated",
                "sales_order.deleted",
                "sales_order.availability_updated",
                "purchase_order.created",
                "purchase_order.updated",
                "purchase_order.deleted",
                "purchase_order.partially_received",
                "purchase_order.received",
                "purchase_order_row.created",
                "purchase_order_row.received",
                "purchase_order_row.updated",
                "purchase_order_row.deleted",
                "outsourced_purchase_order.created",
                "outsourced_purchase_order.updated",
                "outsourced_purchase_order.deleted",
                "outsourced_purchase_order.received",
                "outsourced_purchase_order_row.created",
                "outsourced_purchase_order_row.updated",
                "outsourced_purchase_order_row.deleted",
                "outsourced_purchase_order_row.received",
                "outsourced_purchase_order_recipe_row.created",
                "outsourced_purchase_order_recipe_row.updated",
                "outsourced_purchase_order_recipe_row.deleted",
                "manufacturing_order.created",
                "manufacturing_order.updated",
                "manufacturing_order.deleted",
                "manufacturing_order.in_progress",
                "manufacturing_order.blocked",
                "manufacturing_order.done",
                "manufacturing_order_recipe_row.created",
                "manufacturing_order_recipe_row.updated",
                "manufacturing_order_recipe_row.deleted",
                "manufacturing_order_recipe_row.ingredients_in_stock",
                "manufacturing_order_operation_row.created",
                "manufacturing_order_operation_row.updated",
                "manufacturing_order_operation_row.deleted",
                "manufacturing_order_operation_row.in_progress",
                "manufacturing_order_operation_row.paused",
                "manufacturing_order_operation_row.blocked",
                "manufacturing_order_operation_row.completed",
                "current_inventory.product_updated",
                "current_inventory.material_updated",
                "current_inventory.product_out_of_stock",
                "current_inventory.material_out_of_stock",
                "product.created",
                "product.updated",
                "product.deleted",
                "material.created",
                "material.updated",
                "material.deleted",
                "variant.created",
                "variant.updated",
                "variant.deleted",
                "product_recipe_row.created",
                "product_recipe_row.deleted",
                "product_recipe_row.updated"
              ]
            }
          },
          "url": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "WebhookLogsExportDto": {
        "title": "WebhookLogsExportDto",
        "type": "object",
        "properties": {
          "webhook_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "event": {
            "type": "string",
            "nullable": false,
            "enum": [
              "sales_order.created",
              "sales_order.packed",
              "sales_order.delivered",
              "sales_order.updated",
              "sales_order.deleted",
              "sales_order.availability_updated",
              "purchase_order.created",
              "purchase_order.updated",
              "purchase_order.deleted",
              "purchase_order.partially_received",
              "purchase_order.received",
              "purchase_order_row.created",
              "purchase_order_row.received",
              "purchase_order_row.updated",
              "purchase_order_row.deleted",
              "outsourced_purchase_order.created",
              "outsourced_purchase_order.updated",
              "outsourced_purchase_order.deleted",
              "outsourced_purchase_order.received",
              "outsourced_purchase_order_row.created",
              "outsourced_purchase_order_row.updated",
              "outsourced_purchase_order_row.deleted",
              "outsourced_purchase_order_row.received",
              "outsourced_purchase_order_recipe_row.created",
              "outsourced_purchase_order_recipe_row.updated",
              "outsourced_purchase_order_recipe_row.deleted",
              "manufacturing_order.created",
              "manufacturing_order.updated",
              "manufacturing_order.deleted",
              "manufacturing_order.in_progress",
              "manufacturing_order.blocked",
              "manufacturing_order.done",
              "manufacturing_order_recipe_row.created",
              "manufacturing_order_recipe_row.updated",
              "manufacturing_order_recipe_row.deleted",
              "manufacturing_order_recipe_row.ingredients_in_stock",
              "manufacturing_order_operation_row.created",
              "manufacturing_order_operation_row.updated",
              "manufacturing_order_operation_row.deleted",
              "manufacturing_order_operation_row.in_progress",
              "manufacturing_order_operation_row.paused",
              "manufacturing_order_operation_row.blocked",
              "manufacturing_order_operation_row.completed",
              "current_inventory.product_updated",
              "current_inventory.material_updated",
              "current_inventory.product_out_of_stock",
              "current_inventory.material_out_of_stock",
              "product.created",
              "product.updated",
              "product.deleted",
              "material.created",
              "material.updated",
              "material.deleted",
              "variant.created",
              "variant.updated",
              "variant.deleted",
              "product_recipe_row.created",
              "product_recipe_row.deleted",
              "product_recipe_row.updated"
            ]
          },
          "status_code": {
            "type": "integer",
            "nullable": false,
            "minimum": 100,
            "maximum": 600
          },
          "delivered": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "created_at_min": {
            "type": "string",
            "format": "date",
            "nullable": false
          },
          "created_at_max": {
            "type": "string",
            "format": "date",
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "CreateVariantDto": {
        "title": "CreateVariantDto",
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "sales_price": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000
          },
          "purchase_price": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000
          },
          "product_id": {
            "type": "number",
            "maximum": 2147483647
          },
          "material_id": {
            "type": "number",
            "maximum": 2147483647
          },
          "supplier_item_codes": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "internal_barcode": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40
          },
          "registered_barcode": {
            "type": "string",
            "maxLength": 120
          },
          "config_attributes": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "required": [
                "config_name",
                "config_value"
              ],
              "additionalProperties": false,
              "properties": {
                "config_name": {
                  "type": "string"
                },
                "config_value": {
                  "type": "string"
                }
              }
            }
          },
          "custom_fields": {
            "type": "array",
            "maxItems": 3,
            "items": {
              "title": "CustomFieldValueDto",
              "type": "object",
              "properties": {
                "field_name": {
                  "type": "string"
                },
                "field_value": {
                  "type": "string"
                }
              },
              "required": [
                "field_name",
                "field_value"
              ],
              "additionalProperties": false
            }
          },
          "lead_time": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 2147483647
          },
          "minimum_order_quantity": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 2147483647
          }
        },
        "additionalProperties": false
      },
      "VariantUpdateDto": {
        "title": "VariantUpdateDto",
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "sales_price": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000
          },
          "purchase_price": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000
          },
          "supplier_item_codes": {
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "string"
            }
          },
          "internal_barcode": {
            "type": "string",
            "nullable": true,
            "minLength": 3,
            "maxLength": 40
          },
          "registered_barcode": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 120
          },
          "config_attributes": {
            "type": "array",
            "items": {
              "title": "ConfigAttributeDto",
              "type": "object",
              "properties": {
                "config_name": {
                  "type": "string",
                  "nullable": false,
                  "minLength": 1
                },
                "config_value": {
                  "type": "string",
                  "nullable": false,
                  "minLength": 1
                }
              },
              "required": [
                "config_name",
                "config_value"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "title": "CustomFieldValueDto",
              "type": "object",
              "properties": {
                "field_name": {
                  "type": "string"
                },
                "field_value": {
                  "type": "string"
                }
              },
              "required": [
                "field_name",
                "field_value"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "lead_time": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 2147483647
          },
          "minimum_order_quantity": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 2147483647
          }
        },
        "additionalProperties": false
      },
      "VariantBinLocationUpsertDto": {
        "title": "VariantBinLocationUpsertDto",
        "type": "object",
        "properties": {
          "bin_name": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "variant_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "location_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          }
        },
        "required": [
          "bin_name",
          "variant_id"
        ],
        "additionalProperties": false
      },
      "CreateTaxRateDto": {
        "title": "CreateTaxRateDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "rate": {
            "type": "number",
            "minimum": 0,
            "maximum": 999.999
          }
        },
        "required": [
          "rate"
        ],
        "additionalProperties": false
      },
      "SupplierCreateDto": {
        "title": "SupplierCreateDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "email": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 30
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "currency": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "addresses": {
            "type": "array",
            "items": {
              "title": "SupplierAddressNestedCreateDto",
              "type": "object",
              "properties": {
                "line_1": {
                  "type": "string",
                  "nullable": true
                },
                "line_2": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "zip": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                }
              },
              "additionalProperties": false
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "SupplierUpdateDto": {
        "title": "SupplierUpdateDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "email": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 30
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "currency": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "SupplierAddressCreateDto": {
        "title": "SupplierAddressCreateDto",
        "type": "object",
        "properties": {
          "line_1": {
            "type": "string",
            "nullable": true
          },
          "line_2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "supplier_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          }
        },
        "required": [
          "supplier_id"
        ],
        "additionalProperties": false
      },
      "SupplierAddressPatchDto": {
        "title": "SupplierAddressPatchDto",
        "type": "object",
        "properties": {
          "line_1": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "line_2": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "city": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "state": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "zip": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "country": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "CreateStocktakeDto": {
        "title": "CreateStocktakeDto",
        "type": "object",
        "properties": {
          "stocktake_number": {
            "type": "string"
          },
          "location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "reason": {
            "type": "string",
            "maxLength": 540
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          },
          "created_date": {
            "type": "string"
          },
          "set_remaining_items_as_counted": {
            "type": "boolean"
          },
          "stocktake_rows": {
            "type": "array",
            "items": {
              "title": "CreateStocktakeRowDto",
              "type": "object",
              "properties": {
                "variant_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "batch_id": {
                  "type": "integer",
                  "nullable": true,
                  "maximum": 2147483647
                },
                "notes": {
                  "type": "string",
                  "nullable": true
                },
                "counted_quantity": {
                  "type": "number",
                  "nullable": true,
                  "maximum": 2147483647
                }
              },
              "required": [
                "variant_id"
              ],
              "additionalProperties": false
            },
            "maxItems": 250
          }
        },
        "required": [
          "stocktake_number",
          "location_id"
        ],
        "additionalProperties": false
      },
      "UpdateStocktakeDto": {
        "title": "UpdateStocktakeDto",
        "type": "object",
        "properties": {
          "stocktake_number": {
            "type": "string"
          },
          "location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "status": {
            "type": "string",
            "enum": [
              "NOT_STARTED",
              "IN_PROGRESS",
              "COUNTED",
              "COMPLETED"
            ]
          },
          "reason": {
            "type": "string",
            "nullable": true,
            "maxLength": 540
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          },
          "created_date": {
            "type": "string"
          },
          "completed_date": {
            "type": "string",
            "nullable": true
          },
          "set_remaining_items_as_counted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CreateStocktakeRowsDto": {
        "title": "CreateStocktakeRowsDto",
        "type": "object",
        "properties": {
          "stocktake_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "stocktake_rows": {
            "type": "array",
            "items": {
              "title": "CreateStocktakeRowDto",
              "type": "object",
              "properties": {
                "variant_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "batch_id": {
                  "type": "integer",
                  "nullable": true,
                  "maximum": 2147483647
                },
                "notes": {
                  "type": "string",
                  "nullable": true
                },
                "counted_quantity": {
                  "type": "number",
                  "nullable": true,
                  "maximum": 2147483647
                }
              },
              "required": [
                "variant_id"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "stocktake_id"
        ],
        "additionalProperties": false
      },
      "UpdateStocktakeRowDto": {
        "title": "UpdateStocktakeRowDto",
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "batch_id": {
            "type": "integer",
            "nullable": true,
            "maximum": 2147483647
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "counted_quantity": {
            "type": "number",
            "nullable": true,
            "maximum": 2147483647
          }
        },
        "additionalProperties": false
      },
      "CreateStockTransferRowDto": {
        "title": "CreateStockTransferRowDto",
        "type": "object",
        "properties": {
          "quantity": {
            "type": "string",
            "maximum": 100000000000000000
          },
          "variant_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "quantity",
          "variant_id"
        ],
        "additionalProperties": false
      },
      "CreateStockTransferDto": {
        "title": "CreateStockTransferDto",
        "type": "object",
        "properties": {
          "stock_transfer_number": {
            "type": "string"
          },
          "source_location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "target_location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "transfer_date": {
            "type": "string"
          },
          "order_created_date": {
            "type": "string",
            "nullable": true
          },
          "expected_arrival_date": {
            "type": "string",
            "nullable": true
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          },
          "stock_transfer_rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateStockTransferRowDto"
            }
          }
        },
        "required": [
          "stock_transfer_number",
          "source_location_id",
          "target_location_id",
          "stock_transfer_rows"
        ],
        "additionalProperties": false
      },
      "UpdateStockTransferDto": {
        "title": "UpdateStockTransferDto",
        "type": "object",
        "properties": {
          "stock_transfer_number": {
            "type": "string"
          },
          "transfer_date": {
            "type": "string"
          },
          "order_created_date": {
            "type": "string",
            "nullable": true
          },
          "expected_arrival_date": {
            "type": "string",
            "nullable": true
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateStockTransferStatusDto": {
        "title": "UpdateStockTransferStatusDto",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "received",
              "inTransit"
            ]
          }
        },
        "additionalProperties": false
      },
      "CreateServiceDto": {
        "title": "CreateServiceDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "uom": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 7
          },
          "category_name": {
            "type": "string",
            "minLength": 1
          },
          "is_sellable": {
            "type": "boolean"
          },
          "additional_info": {
            "type": "string"
          },
          "variants": {
            "type": "array",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "title": "CreateServiceVariantDto",
              "type": "object",
              "properties": {
                "sku": {
                  "type": "string",
                  "minLength": 1
                },
                "sales_price": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 100000000000
                },
                "default_cost": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 100000000000
                },
                "custom_fields": {
                  "type": "array",
                  "maxItems": 3,
                  "items": {
                    "title": "CustomFieldValueDto",
                    "type": "object",
                    "properties": {
                      "field_name": {
                        "type": "string"
                      },
                      "field_value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "field_name",
                      "field_value"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "custom_field_collection_id": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name",
          "variants"
        ],
        "additionalProperties": false
      },
      "UpdateServiceDto": {
        "title": "UpdateServiceDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "category_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 35
          },
          "is_sellable": {
            "type": "boolean"
          },
          "is_archived": {
            "type": "boolean"
          },
          "uom": {
            "type": "string"
          },
          "default_cost": {
            "type": "number",
            "nullable": true
          },
          "sales_price": {
            "type": "number",
            "nullable": true
          },
          "custom_field_collection_id": {
            "type": "integer",
            "nullable": true,
            "maximum": 2147483647,
            "minimum": 1
          },
          "sku": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "additional_info": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "title": "CustomFieldValueDto",
              "type": "object",
              "properties": {
                "field_name": {
                  "type": "string"
                },
                "field_value": {
                  "type": "string"
                }
              },
              "required": [
                "field_name",
                "field_value"
              ],
              "additionalProperties": false
            },
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "CreateBatchTransactionV2Dto": {
        "title": "CreateBatchTransactionV2Dto",
        "type": "object",
        "properties": {
          "batch_id": {
            "type": "integer",
            "nullable": true,
            "maximum": 2147483647
          },
          "quantity": {
            "type": "number"
          }
        },
        "required": [
          "batch_id",
          "quantity"
        ],
        "additionalProperties": false
      },
      "CreateStockAdjustmentRowDto": {
        "title": "CreateStockAdjustmentRowDto",
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "maximum": 100000000000000000
          },
          "variant_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "cost_per_unit": {
            "type": "number",
            "maximum": 1000000000000000000,
            "minimum": 0
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateBatchTransactionV2Dto"
            }
          }
        },
        "required": [
          "quantity",
          "variant_id"
        ],
        "additionalProperties": false
      },
      "CreateStockAdjustmentDto": {
        "title": "CreateStockAdjustmentDto",
        "type": "object",
        "properties": {
          "stock_adjustment_number": {
            "type": "string"
          },
          "stock_adjustment_date": {
            "type": "string"
          },
          "location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "reason": {
            "type": "string"
          },
          "stock_adjustment_rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateStockAdjustmentRowDto"
            }
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "stock_adjustment_number",
          "location_id",
          "stock_adjustment_rows"
        ],
        "additionalProperties": false
      },
      "UpdateStockAdjustmentDto": {
        "title": "UpdateStockAdjustmentDto",
        "type": "object",
        "properties": {
          "stock_adjustment_number": {
            "type": "string",
            "minLength": 1
          },
          "stock_adjustment_date": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddSerialNumbersToEntityDto": {
        "title": "AddSerialNumbersToEntityDto",
        "type": "object",
        "properties": {
          "resource_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "resource_type": {
            "type": "string",
            "enum": [
              "ManufacturingOrder",
              "StockAdjustmentRow",
              "StockTransferRow",
              "PurchaseOrderRow",
              "SalesOrderRow"
            ]
          },
          "serial_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "resource_id"
        ],
        "additionalProperties": false
      },
      "DeleteSerialNumberDto": {
        "title": "DeleteSerialNumberDto",
        "type": "object",
        "properties": {
          "resource_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "resource_type": {
            "type": "string",
            "enum": [
              "ManufacturingOrder",
              "SalesOrderRow",
              "Production",
              "SalesOrderFulfillmentRow",
              "StockAdjustmentRow",
              "StockTransferRow",
              "PurchaseOrderRow"
            ]
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "resource_id",
          "resource_type",
          "ids"
        ],
        "additionalProperties": false
      },
      "CreateSalesReturnDto": {
        "title": "CreateSalesReturnDto",
        "type": "object",
        "properties": {
          "sales_order_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "order_created_date": {
            "type": "string",
            "format": "date",
            "nullable": false
          },
          "return_location_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "order_no": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "additional_info": {
            "type": "string",
            "maxLength": 255
          },
          "tracking_number": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          },
          "tracking_number_url": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 2048
          },
          "tracking_carrier": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          },
          "tracking_method": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          }
        },
        "required": [
          "sales_order_id",
          "return_location_id"
        ],
        "additionalProperties": false
      },
      "SalesReturnPatchDto": {
        "title": "SalesReturnPatchDto",
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "order_created_date": {
            "type": "string",
            "format": "date",
            "nullable": false
          },
          "return_location_id": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "additional_info": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "return_date": {
            "type": "string",
            "format": "date",
            "nullable": false
          },
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "NOT_RETURNED",
              "RETURNED_ALL",
              "RESTOCKED_ALL"
            ]
          },
          "tracking_number": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          },
          "tracking_number_url": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 2048
          },
          "tracking_carrier": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          },
          "tracking_method": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          }
        },
        "additionalProperties": false
      },
      "SalesReturnRowCreateDto": {
        "title": "SalesReturnRowCreateDto",
        "type": "object",
        "properties": {
          "sales_return_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "variant_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "fulfillment_row_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "quantity": {
            "allOf": [
              {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "string",
                    "pattern": "^[0-9]+?\\.?[0-9]*$"
                  }
                ]
              },
              {
                "anyOf": [
                  {
                    "type": "number",
                    "not": {
                      "const": 0
                    }
                  },
                  {
                    "type": "string",
                    "not": {
                      "pattern": "^(-|)[0]+?\\.?[0]*$"
                    }
                  }
                ]
              }
            ]
          },
          "restock_location_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "reason_id": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 2147483647
          }
        },
        "required": [
          "sales_return_id",
          "variant_id",
          "fulfillment_row_id",
          "quantity"
        ],
        "additionalProperties": false
      },
      "SalesReturnRowPatchDto": {
        "title": "SalesReturnRowPatchDto",
        "type": "object",
        "properties": {
          "quantity": {
            "allOf": [
              {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "string",
                    "pattern": "^[0-9]+?\\.?[0-9]*$"
                  }
                ]
              },
              {
                "anyOf": [
                  {
                    "type": "number",
                    "not": {
                      "const": 0
                    }
                  },
                  {
                    "type": "string",
                    "not": {
                      "pattern": "^(-|)[0]+?\\.?[0]*$"
                    }
                  }
                ]
              }
            ]
          },
          "restock_location_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "reason_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "title": "CreateBatchTransactionDto",
              "type": "object",
              "properties": {
                "batch_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "number"
                }
              },
              "required": [
                "batch_id",
                "quantity"
              ],
              "additionalProperties": false
            },
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "CreateSalesOrderDto": {
        "title": "CreateSalesOrderDto",
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "customer_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "customer_ref": {
            "type": "string",
            "nullable": true
          },
          "sales_order_rows": {
            "type": "array",
            "items": {
              "title": "CreateSalesOrderRowDto",
              "type": "object",
              "properties": {
                "quantity": {
                  "type": "number",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 100000000000000000
                },
                "variant_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "tax_rate_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "location_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "attributes": {
                  "type": "array",
                  "items": {
                    "title": "CreateSalesOrderRowAttributeDto",
                    "type": "object",
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "key",
                      "value"
                    ],
                    "additionalProperties": false
                  },
                  "nullable": false
                },
                "total_discount": {
                  "type": "number",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 1000000000000000000
                },
                "price_per_unit": {
                  "type": "number",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 1000000000000000000
                }
              },
              "required": [
                "quantity",
                "variant_id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          },
          "order_created_date": {
            "type": "string"
          },
          "delivery_date": {
            "type": "string"
          },
          "location_id": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "PENDING",
              "NOT_SHIPPED"
            ]
          },
          "currency": {
            "type": "string"
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          },
          "tracking_number": {
            "type": "string",
            "nullable": true,
            "minLength": 0,
            "maxLength": 256
          },
          "tracking_number_url": {
            "type": "string",
            "nullable": true,
            "minLength": 0,
            "maxLength": 2048
          },
          "addresses": {
            "type": "array",
            "items": {
              "title": "AddressWithinSalesOrderCreateDto",
              "type": "object",
              "properties": {
                "entity_type": {
                  "type": "string",
                  "nullable": false,
                  "enum": [
                    "billing",
                    "shipping"
                  ]
                },
                "first_name": {
                  "type": "string",
                  "nullable": true
                },
                "last_name": {
                  "type": "string",
                  "nullable": true
                },
                "company": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "line_1": {
                  "type": "string",
                  "nullable": true
                },
                "line_2": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "zip": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "entity_type"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "ecommerce_order_type": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "ecommerce_store_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "ecommerce_order_id": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          }
        },
        "required": [
          "order_no",
          "customer_id",
          "sales_order_rows"
        ],
        "additionalProperties": false
      },
      "UpdateSalesOrderDto": {
        "title": "UpdateSalesOrderDto",
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "minLength": 1
          },
          "customer_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "customer_ref": {
            "type": "string",
            "nullable": true
          },
          "order_created_date": {
            "type": "string"
          },
          "delivery_date": {
            "type": "string"
          },
          "picked_date": {
            "type": "string"
          },
          "location_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "PENDING",
              "NOT_SHIPPED",
              "PACKED",
              "DELIVERED"
            ]
          },
          "currency": {
            "type": "string"
          },
          "conversion_rate": {
            "type": "number"
          },
          "conversion_date": {
            "type": "string"
          },
          "additional_info": {
            "type": "string",
            "nullable": true
          },
          "tracking_number": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          },
          "tracking_number_url": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "additionalProperties": false
      },
      "AddShippingFeeDto": {
        "title": "AddShippingFeeDto",
        "type": "object",
        "properties": {
          "sales_order_id": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "tax_rate_id": {
            "type": "number"
          }
        },
        "required": [
          "sales_order_id",
          "amount"
        ],
        "additionalProperties": false
      },
      "UpdateShippingFeeDto": {
        "title": "UpdateShippingFeeDto",
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "tax_rate_id": {
            "type": "number"
          }
        },
        "required": [
          "amount"
        ],
        "additionalProperties": false
      },
      "CreateSalesOrderRowWithSalesOrderIdDto": {
        "title": "CreateSalesOrderRowWithSalesOrderIdDto",
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "variant_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "tax_rate_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "location_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "attributes": {
            "type": "array",
            "items": {
              "title": "CreateSalesOrderRowAttributeDto",
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "value"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "total_discount": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 1000000000000000000
          },
          "price_per_unit": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 1000000000000000000
          },
          "sales_order_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          }
        },
        "required": [
          "quantity",
          "variant_id",
          "sales_order_id"
        ],
        "additionalProperties": false
      },
      "UpdateSalesOrderRowDto": {
        "title": "UpdateSalesOrderRowDto",
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "variant_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "tax_rate_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "location_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "title": "UpdateBatchTransactionDto",
              "type": "object",
              "properties": {
                "batch_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "number"
                }
              },
              "required": [
                "batch_id"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "serial_number_transactions": {
            "type": "array",
            "items": {
              "title": "UpdateSerialNumberTransactionDto",
              "type": "object",
              "properties": {
                "serial_number_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 1
                }
              },
              "required": [
                "serial_number_id"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "attributes": {
            "type": "array",
            "items": {
              "title": "CreateSalesOrderRowAttributeDto",
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "value"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "price_per_unit": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 1000000000000000000
          },
          "total_discount": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 1000000000000000000
          }
        },
        "additionalProperties": false
      },
      "CreateSalesOrderAddressDto": {
        "title": "CreateSalesOrderAddressDto",
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "line_1": {
            "type": "string",
            "nullable": true
          },
          "line_2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "entity_type": {
            "type": "string",
            "enum": [
              "billing",
              "shipping"
            ]
          },
          "sales_order_id": {
            "type": "integer",
            "maximum": 2147483647
          }
        },
        "required": [
          "entity_type",
          "sales_order_id"
        ],
        "additionalProperties": false
      },
      "UpdateSalesOrderAddressDto": {
        "title": "UpdateSalesOrderAddressDto",
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "line_1": {
            "type": "string",
            "nullable": true
          },
          "line_2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateSalesOrderFulfillmentDto": {
        "title": "UpdateSalesOrderFulfillmentDto",
        "type": "object",
        "properties": {
          "picked_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "PACKED",
              "DELIVERED"
            ]
          },
          "conversion_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 1000000000000
          },
          "conversion_date": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "tracking_number": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 256
          },
          "tracking_url": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 2048
          },
          "tracking_carrier": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "tracking_method": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "packer_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          }
        },
        "additionalProperties": false
      },
      "CreateSalesOrderFulfillmentDto": {
        "title": "CreateSalesOrderFulfillmentDto",
        "type": "object",
        "properties": {
          "sales_order_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "picked_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "PACKED",
              "DELIVERED"
            ]
          },
          "sales_order_fulfillment_rows": {
            "type": "array",
            "items": {
              "title": "CreateSalesOrderFulfillmentRowDto",
              "type": "object",
              "properties": {
                "sales_order_row_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "quantity": {
                  "type": "number",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 100000000000000000
                },
                "batch_transactions": {
                  "type": "array",
                  "items": {
                    "title": "CreateBatchTransactionDto",
                    "type": "object",
                    "properties": {
                      "batch_id": {
                        "type": "integer",
                        "maximum": 2147483647
                      },
                      "quantity": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "batch_id",
                      "quantity"
                    ],
                    "additionalProperties": false
                  },
                  "nullable": false
                },
                "serial_numbers": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                }
              },
              "required": [
                "sales_order_row_id",
                "quantity"
              ],
              "additionalProperties": false
            },
            "nullable": false,
            "minItems": 1
          },
          "conversion_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 1000000000000
          },
          "conversion_date": {
            "type": "string",
            "nullable": true,
            "minLength": 0
          },
          "tracking_number": {
            "type": "string",
            "nullable": true,
            "minLength": 0,
            "maxLength": 256
          },
          "tracking_url": {
            "type": "string",
            "nullable": true,
            "minLength": 0,
            "maxLength": 2048
          },
          "tracking_carrier": {
            "type": "string",
            "nullable": true,
            "minLength": 0
          },
          "tracking_method": {
            "type": "string",
            "nullable": true,
            "minLength": 0
          }
        },
        "required": [
          "sales_order_id",
          "status",
          "sales_order_fulfillment_rows"
        ],
        "additionalProperties": false
      },
      "RecipeRowCreateManyDto": {
        "title": "RecipeRowCreateManyDto",
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "minItems": 1,
            "maxItems": 150,
            "items": {
              "title": "RecipeRowCreateDto",
              "type": "object",
              "properties": {
                "product_variant_id": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "ingredient_variant_id": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 10000000000000000
                },
                "notes": {
                  "type": "string",
                  "maxLength": 255
                }
              },
              "required": [
                "product_variant_id",
                "ingredient_variant_id",
                "quantity"
              ],
              "additionalProperties": false
            }
          },
          "keep_current_rows": {
            "type": "boolean"
          }
        },
        "required": [
          "rows"
        ],
        "additionalProperties": false
      },
      "RecipeRowUpdateDto": {
        "title": "RecipeRowUpdateDto",
        "type": "object",
        "properties": {
          "ingredient_variant_id": {
            "type": "integer"
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "notes": {
            "type": "string",
            "maxLength": 255
          }
        },
        "additionalProperties": false
      },
      "CreatePurchaseOrderDto": {
        "title": "CreatePurchaseOrderDto",
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "minLength": 1
          },
          "entity_type": {
            "type": "string",
            "enum": [
              "regular",
              "outsourced"
            ]
          },
          "supplier_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "currency": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "DRAFT",
              "NOT_RECEIVED"
            ]
          },
          "expected_arrival_date": {
            "type": "string",
            "format": "date"
          },
          "order_created_date": {
            "type": "string",
            "format": "date"
          },
          "location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "tracking_location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "additional_info": {
            "type": "string"
          },
          "purchase_order_rows": {
            "type": "array",
            "items": {
              "title": "CreatePurchaseOrderRowDto",
              "type": "object",
              "properties": {
                "quantity": {
                  "type": "number",
                  "maximum": 100000000000000000,
                  "minimum": 0
                },
                "variant_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "tax_rate_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "price_per_unit": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100000000000000000
                },
                "purchase_uom_conversion_rate": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 100000000000000000
                },
                "purchase_uom": {
                  "type": "string",
                  "nullable": true,
                  "minLength": 1,
                  "maxLength": 7
                },
                "tax_rate": {
                  "type": "string"
                },
                "tax_name": {
                  "type": "string"
                },
                "arrival_date": {
                  "type": "string"
                }
              },
              "required": [
                "quantity",
                "variant_id",
                "price_per_unit"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "order_no",
          "supplier_id",
          "location_id",
          "purchase_order_rows"
        ],
        "additionalProperties": false
      },
      "UpdatePurchaseOrderDto": {
        "title": "UpdatePurchaseOrderDto",
        "type": "object",
        "properties": {
          "order_no": {
            "type": "string",
            "minLength": 1
          },
          "supplier_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "currency": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "enum": [
              "DRAFT",
              "NOT_RECEIVED",
              "RECEIVED",
              "PARTIALLY_RECEIVED"
            ]
          },
          "expected_arrival_date": {
            "type": "string"
          },
          "order_created_date": {
            "type": "string"
          },
          "location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "tracking_location_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "additional_info": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreatePurchaseOrderRowWithPurchaseOrderIdDto": {
        "title": "CreatePurchaseOrderRowWithPurchaseOrderIdDto",
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "maximum": 100000000000000000,
            "minimum": 0
          },
          "variant_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "tax_rate_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "price_per_unit": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "purchase_uom_conversion_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "purchase_uom": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 7
          },
          "tax_rate": {
            "type": "string"
          },
          "tax_name": {
            "type": "string"
          },
          "arrival_date": {
            "type": "string"
          },
          "purchase_order_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "currency": {
            "type": "string"
          }
        },
        "required": [
          "quantity",
          "variant_id",
          "price_per_unit",
          "purchase_order_id"
        ],
        "additionalProperties": false
      },
      "UpdatePurchaseOrderRowDto": {
        "title": "UpdatePurchaseOrderRowDto",
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "maximum": 100000000000000000,
            "minimum": 0
          },
          "variant_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "tax_rate_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "price_per_unit": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "purchase_uom_conversion_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "purchase_uom": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 7
          },
          "tax_rate": {
            "type": "string"
          },
          "tax_name": {
            "type": "string"
          },
          "received_date": {
            "type": "string",
            "format": "date-time"
          },
          "arrival_date": {
            "type": "string",
            "format": "date"
          }
        },
        "additionalProperties": false
      },
      "PurchaseOrderRowReceiveDto": {
        "title": "PurchaseOrderRowReceiveDto",
        "type": "object",
        "properties": {
          "received_date": {
            "type": "string",
            "format": "date"
          },
          "purchase_order_row_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "quantity": {
            "type": "number",
            "minimum": 0
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "title": "PurchaseOrderRowReceiveBatchDto",
              "type": "object",
              "properties": {
                "batch_id": {
                  "type": "integer",
                  "nullable": true,
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "required": [
                "batch_id",
                "quantity"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "purchase_order_row_id",
          "quantity"
        ],
        "additionalProperties": false
      },
      "CreateBatchTransactionDto": {
        "title": "CreateBatchTransactionDto",
        "type": "object",
        "properties": {
          "batch_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "quantity": {
            "type": "number"
          }
        },
        "required": [
          "batch_id",
          "quantity"
        ],
        "additionalProperties": false
      },
      "CreatePurchaseOrderRecipeRowDto": {
        "title": "CreatePurchaseOrderRecipeRowDto",
        "type": "object",
        "properties": {
          "purchase_order_row_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "ingredient_variant_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "planned_quantity_per_unit": {
            "type": "number",
            "maximum": 100000000000000000,
            "minimum": 0,
            "exclusiveMinimum": true
          },
          "notes": {
            "type": "string"
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateBatchTransactionDto"
            }
          }
        },
        "required": [
          "purchase_order_row_id",
          "ingredient_variant_id",
          "planned_quantity_per_unit"
        ],
        "additionalProperties": false
      },
      "UpdatePurchaseOrderRecipeRowDto": {
        "title": "UpdatePurchaseOrderRecipeRowDto",
        "type": "object",
        "properties": {
          "ingredient_variant_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "planned_quantity_per_unit": {
            "type": "number",
            "maximum": 100000000000000000,
            "minimum": 0,
            "exclusiveMinimum": true
          },
          "notes": {
            "type": "string"
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateBatchTransactionDto"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateProductDto": {
        "title": "CreateProductDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "uom": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 7
          },
          "category_name": {
            "type": "string",
            "minLength": 1
          },
          "is_producible": {
            "type": "boolean"
          },
          "is_purchasable": {
            "type": "boolean"
          },
          "is_auto_assembly": {
            "type": "boolean"
          },
          "default_supplier_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "additional_info": {
            "type": "string"
          },
          "batch_tracked": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "serial_tracked": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "operations_in_sequence": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "purchase_uom": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 7
          },
          "purchase_uom_conversion_rate": {
            "type": "number",
            "maximum": 1000000000000
          },
          "configs": {
            "type": "array",
            "items": {
              "title": "CreateMaterialConfigDto",
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "name",
                "values"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 10
          },
          "variants": {
            "type": "array",
            "minItems": 1,
            "items": {
              "title": "CreateProductVariantDto",
              "type": "object",
              "properties": {
                "sku": {
                  "type": "string",
                  "minLength": 1
                },
                "purchase_price": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 100000000000
                },
                "sales_price": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 100000000000
                },
                "internal_barcode": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 3
                },
                "registered_barcode": {
                  "type": "string",
                  "maxLength": 40,
                  "minLength": 3
                },
                "supplier_item_codes": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 40,
                    "minLength": 1
                  }
                },
                "config_attributes": {
                  "type": "array",
                  "items": {
                    "title": "CreateVariantAttributesDto",
                    "type": "object",
                    "properties": {
                      "config_name": {
                        "type": "string"
                      },
                      "config_value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "config_name",
                      "config_value"
                    ],
                    "additionalProperties": false
                  },
                  "minItems": 1
                },
                "custom_fields": {
                  "type": "array",
                  "maxItems": 3,
                  "items": {
                    "title": "CustomFieldValueDto",
                    "type": "object",
                    "properties": {
                      "field_name": {
                        "type": "string"
                      },
                      "field_value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "field_name",
                      "field_value"
                    ],
                    "additionalProperties": false
                  }
                },
                "lead_time": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "minimum_order_quantity": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 2147483647
                }
              },
              "additionalProperties": false
            }
          },
          "custom_field_collection_id": {
            "type": "number",
            "nullable": true
          },
          "is_sellable": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "variants"
        ],
        "additionalProperties": false
      },
      "ProductUpdateDto": {
        "title": "ProductUpdateDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 256
          },
          "uom": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 7
          },
          "category_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 35
          },
          "is_producible": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "default_supplier_id": {
            "type": "integer",
            "nullable": true,
            "maximum": 2147483647,
            "minimum": 1
          },
          "is_purchasable": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "is_auto_assembly": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "is_sellable": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "is_archived": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "purchase_uom": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 7
          },
          "purchase_uom_conversion_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 2147483647
          },
          "batch_tracked": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "serial_tracked": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "operations_in_sequence": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "configs": {
            "type": "array",
            "items": {
              "title": "ItemVariantConfigDto",
              "type": "object",
              "properties": {
                "id": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "values"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 10
          },
          "additional_info": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "custom_field_collection_id": {
            "type": "number",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PriceListCreateDto": {
        "title": "PriceListCreateDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": false,
            "maxLength": 100
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "PriceListPatchDto": {
        "title": "PriceListPatchDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ProductOperationCreateDto": {
        "title": "ProductOperationCreateDto",
        "type": "object",
        "properties": {
          "keep_current_rows": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "rows": {
            "type": "array",
            "items": {
              "title": "ProductOperationRowCreateDto",
              "type": "object",
              "properties": {
                "product_variant_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "operation_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "operation_name": {
                  "type": "string",
                  "nullable": false,
                  "minLength": 1,
                  "maxLength": 256
                },
                "resource_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "resource_name": {
                  "type": "string",
                  "nullable": false,
                  "minLength": 1,
                  "maxLength": 256
                },
                "cost_per_hour": {
                  "type": "number",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "cost_parameter": {
                  "type": "number",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "planned_time_per_unit": {
                  "type": "integer",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "planned_time_parameter": {
                  "type": "integer",
                  "nullable": false,
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "type": {
                  "type": "string",
                  "nullable": false,
                  "enum": [
                    "process",
                    "setup",
                    "perUnit",
                    "fixed"
                  ]
                }
              },
              "required": [
                "product_variant_id"
              ],
              "additionalProperties": false
            },
            "nullable": false
          }
        },
        "required": [
          "rows"
        ],
        "additionalProperties": false
      },
      "ProductOperationRowRankDto": {
        "title": "ProductOperationRowRankDto",
        "type": "object",
        "properties": {
          "rank_product_operation_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "preceding_product_operation_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "should_group": {
            "type": "boolean",
            "default": false,
            "nullable": false
          }
        },
        "required": [
          "rank_product_operation_id"
        ],
        "additionalProperties": false
      },
      "ProductOperationRowUpdateDto": {
        "title": "ProductOperationRowUpdateDto",
        "type": "object",
        "properties": {
          "operation_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "operation_name": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 256
          },
          "resource_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "resource_name": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 256
          },
          "cost_parameter": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "cost_per_hour": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "planned_time_per_unit": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "planned_time_parameter": {
            "type": "integer",
            "nullable": false,
            "minimum": 0,
            "maximum": 2147483647
          },
          "type": {
            "type": "string",
            "nullable": false,
            "enum": [
              "process",
              "setup",
              "perUnit",
              "fixed"
            ]
          }
        },
        "additionalProperties": false
      },
      "PatchPriceListRowDto": {
        "title": "PatchPriceListRowDto",
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "number"
          },
          "adjustment_method": {
            "type": "string",
            "enum": [
              "fixed",
              "percentage",
              "markup"
            ]
          },
          "amount": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
          }
        },
        "additionalProperties": false
      },
      "CreatePriceListRowsDto": {
        "title": "CreatePriceListRowsDto",
        "type": "object",
        "properties": {
          "price_list_id": {
            "type": "number"
          },
          "price_list_rows": {
            "type": "array",
            "items": {
              "title": "CreatePriceListRowDto",
              "type": "object",
              "properties": {
                "variant_id": {
                  "type": "number"
                },
                "adjustment_method": {
                  "type": "string",
                  "enum": [
                    "fixed",
                    "percentage",
                    "markup"
                  ]
                },
                "amount": {
                  "type": "number"
                }
              },
              "required": [
                "variant_id",
                "adjustment_method",
                "amount"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "price_list_id",
          "price_list_rows"
        ],
        "additionalProperties": false
      },
      "CreatePriceListCustomersDto": {
        "title": "CreatePriceListCustomersDto",
        "type": "object",
        "properties": {
          "price_list_id": {
            "type": "number"
          },
          "price_list_customers": {
            "type": "array",
            "items": {
              "title": "CreatePriceListCustomerDto",
              "type": "object",
              "properties": {
                "customer_id": {
                  "type": "number"
                }
              },
              "required": [
                "customer_id"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "price_list_id",
          "price_list_customers"
        ],
        "additionalProperties": false
      },
      "UpdatePriceListCustomerDto": {
        "title": "UpdatePriceListCustomerDto",
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number"
          }
        },
        "required": [
          "customer_id"
        ],
        "additionalProperties": false
      },
      "CreatePoAdditionalCostRowDto": {
        "title": "CreatePoAdditionalCostRowDto",
        "type": "object",
        "properties": {
          "additional_cost_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "group_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "tax_rate_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "distribution_method": {
            "type": "string",
            "enum": [
              "BY_VALUE",
              "NON_DISTRIBUTED"
            ]
          }
        },
        "required": [
          "additional_cost_id",
          "group_id",
          "tax_rate_id",
          "price"
        ],
        "additionalProperties": false
      },
      "UpdatePoAdditionalCostRowDto": {
        "title": "UpdatePoAdditionalCostRowDto",
        "type": "object",
        "properties": {
          "additional_cost_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "tax_rate_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "distribution_method": {
            "type": "string",
            "enum": [
              "BY_VALUE",
              "NON_DISTRIBUTED"
            ]
          }
        },
        "additionalProperties": false
      },
      "CreateMaterialDto": {
        "title": "CreateMaterialDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "uom": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 7
          },
          "category_name": {
            "type": "string"
          },
          "default_supplier_id": {
            "type": "number"
          },
          "purchase_uom": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 7
          },
          "purchase_uom_conversion_rate": {
            "type": "number"
          },
          "batch_tracked": {
            "type": "boolean"
          },
          "variants": {
            "type": "array",
            "minItems": 1,
            "items": {
              "title": "CreateMaterialVariantDto",
              "type": "object",
              "properties": {
                "sku": {
                  "type": "string"
                },
                "purchase_price": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 100000000000
                },
                "internal_barcode": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 40
                },
                "registered_barcode": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 40
                },
                "supplier_item_codes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "config_attributes": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "title": "CreateVariantAttributesDto",
                    "type": "object",
                    "properties": {
                      "config_name": {
                        "type": "string"
                      },
                      "config_value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "config_name",
                      "config_value"
                    ],
                    "additionalProperties": false
                  }
                },
                "custom_fields": {
                  "type": "array",
                  "maxItems": 3,
                  "items": {
                    "title": "CustomFieldValueDto",
                    "type": "object",
                    "properties": {
                      "field_name": {
                        "type": "string"
                      },
                      "field_value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "field_name",
                      "field_value"
                    ],
                    "additionalProperties": false
                  }
                },
                "lead_time": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "minimum_order_quantity": {
                  "type": "number",
                  "nullable": true,
                  "minimum": 0,
                  "maximum": 2147483647
                }
              },
              "additionalProperties": false
            }
          },
          "configs": {
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "items": {
              "title": "CreateMaterialConfigDto",
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "name",
                "values"
              ],
              "additionalProperties": false
            }
          },
          "additional_info": {
            "type": "string"
          },
          "custom_field_collection_id": {
            "type": "number",
            "nullable": true
          },
          "is_sellable": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "variants"
        ],
        "additionalProperties": false
      },
      "MaterialUpdateDto": {
        "title": "MaterialUpdateDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 256
          },
          "uom": {
            "type": "string",
            "nullable": false,
            "minLength": 1,
            "maxLength": 7
          },
          "category_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 35
          },
          "default_supplier_id": {
            "type": "integer",
            "nullable": true,
            "maximum": 2147483647,
            "minimum": 1
          },
          "purchase_uom": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 7
          },
          "purchase_uom_conversion_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 2147483647
          },
          "batch_tracked": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "is_sellable": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "is_archived": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "configs": {
            "type": "array",
            "items": {
              "title": "ItemVariantConfigDto",
              "type": "object",
              "properties": {
                "id": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "values"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 10
          },
          "additional_info": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "custom_field_collection_id": {
            "type": "number",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateManufacturingOrderDto": {
        "title": "CreateManufacturingOrderDto",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "NOT_STARTED"
            ]
          },
          "order_no": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "variant_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "planned_quantity": {
            "type": "number",
            "nullable": false,
            "minimum": 0.00001,
            "maximum": 1000000000000000
          },
          "actual_quantity": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 1000000000000000
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "title": "CreateBatchTransactionDto",
              "type": "object",
              "properties": {
                "batch_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "number"
                }
              },
              "required": [
                "batch_id",
                "quantity"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "location_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "order_created_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "production_deadline_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "additional_info": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          }
        },
        "required": [
          "order_no",
          "variant_id",
          "planned_quantity",
          "location_id"
        ],
        "additionalProperties": false
      },
      "UpdateManufacturingOrderDto": {
        "title": "UpdateManufacturingOrderDto",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "NOT_STARTED",
              "BLOCKED",
              "IN_PROGRESS",
              "PARTIALLY_COMPLETED",
              "DONE"
            ]
          },
          "order_no": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "variant_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "planned_quantity": {
            "type": "number",
            "nullable": false,
            "minimum": 0.00001,
            "maximum": 1000000000000000
          },
          "actual_quantity": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 1000000000000000
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "title": "CreateBatchTransactionDto",
              "type": "object",
              "properties": {
                "batch_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "number"
                }
              },
              "required": [
                "batch_id",
                "quantity"
              ],
              "additionalProperties": false
            },
            "nullable": false
          },
          "location_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "order_created_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "production_deadline_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "done_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "additional_info": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "CreateMakeToOrderManufacturingOrderDto": {
        "title": "CreateMakeToOrderManufacturingOrderDto",
        "type": "object",
        "properties": {
          "sales_order_row_id": {
            "type": "integer",
            "maximum": 2147483647
          },
          "create_subassemblies": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "sales_order_row_id"
        ],
        "additionalProperties": false
      },
      "UnlinkManufacturingOrderDto": {
        "title": "UnlinkManufacturingOrderDto",
        "type": "object",
        "properties": {
          "sales_order_row_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          }
        },
        "required": [
          "sales_order_row_id"
        ],
        "additionalProperties": false
      },
      "CreateBatchTransactionForManufacturingOrderDto": {
        "title": "CreateBatchTransactionForManufacturingOrderDto",
        "type": "object",
        "properties": {
          "batch_id": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 1
          },
          "quantity": {
            "type": "number",
            "maximum": 100000000000000000,
            "minimum": 0.00001
          }
        },
        "required": [
          "batch_id",
          "quantity"
        ],
        "additionalProperties": false
      },
      "CreateManufacturingOrderRecipeRowDto": {
        "title": "CreateManufacturingOrderRecipeRowDto",
        "type": "object",
        "properties": {
          "manufacturing_order_id": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 1
          },
          "variant_id": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 1
          },
          "notes": {
            "type": "string",
            "maxLength": 255
          },
          "planned_quantity_per_unit": {
            "type": "number",
            "maximum": 1000000000000000,
            "minimum": 0.00001
          },
          "total_actual_quantity": {
            "type": "number",
            "maximum": 1000000000000000,
            "minimum": 0
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateBatchTransactionForManufacturingOrderDto"
            }
          }
        },
        "required": [
          "manufacturing_order_id",
          "variant_id",
          "planned_quantity_per_unit"
        ],
        "additionalProperties": false
      },
      "UpdateManufacturingOrderRecipeRowDto": {
        "title": "UpdateManufacturingOrderRecipeRowDto",
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "integer",
            "maximum": 2147483647,
            "minimum": 1
          },
          "notes": {
            "type": "string",
            "maxLength": 255,
            "nullable": true
          },
          "planned_quantity_per_unit": {
            "type": "number",
            "maximum": 10000000000000000,
            "minimum": 0.00001
          },
          "total_actual_quantity": {
            "type": "number",
            "nullable": true,
            "maximum": 10000000000000000,
            "minimum": 0
          },
          "batch_transactions": {
            "type": "array",
            "items": {
              "title": "CreateBatchTransactionForManufacturingOrderDto",
              "type": "object",
              "properties": {
                "batch_id": {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "quantity": {
                  "type": "number",
                  "maximum": 100000000000000000,
                  "minimum": 0.00001
                }
              },
              "required": [
                "batch_id",
                "quantity"
              ],
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "CompletePartiallyMoDto": {
        "title": "CompletePartiallyMoDto",
        "type": "object",
        "properties": {
          "manufacturing_order_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "completed_quantity": {
            "type": "number",
            "nullable": false,
            "minimum": 0,
            "maximum": 1000000000000000
          },
          "completed_date": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "is_final": {
            "type": "boolean",
            "default": false,
            "nullable": false
          },
          "ingredients": {
            "type": "array",
            "items": {
              "title": "ProductionIngredientDto",
              "type": "object",
              "properties": {
                "quantity": {
                  "allOf": [
                    {
                      "anyOf": [
                        {
                          "type": "number",
                          "minimum": 0
                        },
                        {
                          "type": "string",
                          "pattern": "^[0-9]+?\\.?[0-9]*$"
                        }
                      ]
                    },
                    {
                      "anyOf": [
                        {
                          "type": "number",
                          "not": {
                            "const": 0
                          }
                        },
                        {
                          "type": "string",
                          "not": {
                            "pattern": "^(-|)[0]+?\\.?[0]*$"
                          }
                        }
                      ]
                    }
                  ]
                },
                "manufacturing_order_recipe_row_id": {
                  "type": "number"
                },
                "batch_transactions": {
                  "type": "array",
                  "items": {
                    "title": "CreateBatchTransactionDto",
                    "type": "object",
                    "properties": {
                      "batch_id": {
                        "type": "integer",
                        "maximum": 2147483647
                      },
                      "quantity": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "batch_id",
                      "quantity"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "quantity",
                "manufacturing_order_recipe_row_id"
              ],
              "additionalProperties": false
            }
          },
          "operations": {
            "type": "array",
            "items": {
              "title": "ProductionOperationDto",
              "type": "object",
              "properties": {
                "time": {
                  "allOf": [
                    {
                      "anyOf": [
                        {
                          "type": "number",
                          "minimum": 0
                        },
                        {
                          "type": "string",
                          "pattern": "^[0-9]+?\\.?[0-9]*$"
                        }
                      ]
                    },
                    {
                      "anyOf": [
                        {
                          "type": "number",
                          "not": {
                            "const": 0
                          }
                        },
                        {
                          "type": "string",
                          "not": {
                            "pattern": "^(-|)[0]+?\\.?[0]*$"
                          }
                        }
                      ]
                    }
                  ]
                },
                "manufacturing_order_operation_id": {
                  "type": "number"
                },
                "batch_transactions": {
                  "type": "array",
                  "items": {
                    "title": "CreateBatchTransactionDto",
                    "type": "object",
                    "properties": {
                      "batch_id": {
                        "type": "integer",
                        "maximum": 2147483647
                      },
                      "quantity": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "batch_id",
                      "quantity"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "time",
                "manufacturing_order_operation_id"
              ],
              "additionalProperties": false
            }
          },
          "serial_numbers": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "batch_transaction": {
            "type": "object",
            "title": "CompletePartiallyBatchDto",
            "properties": {
              "batch_id": {
                "type": "integer",
                "nullable": false,
                "minimum": 0,
                "maximum": 2147483647
              }
            },
            "required": [
              "batch_id"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "manufacturing_order_id",
          "completed_quantity"
        ],
        "additionalProperties": false
      },
      "UpdateManufacturingOrderProductionDto": {
        "title": "UpdateManufacturingOrderProductionDto",
        "type": "object",
        "properties": {
          "production_date": {
            "type": "string",
            "format": "date",
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "CreateManufacturingOrderOperationRowDto": {
        "title": "CreateManufacturingOrderOperationRowDto",
        "type": "object",
        "properties": {
          "manufacturing_order_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "operation_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "operation_name": {
            "type": "string",
            "minLength": 1
          },
          "resource_id": {
            "type": "integer",
            "nullable": true,
            "minimum": 1,
            "maximum": 2147483647
          },
          "resource_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "assigned_operators": {
            "type": "array",
            "items": {
              "title": "CreateOperatorDto",
              "type": "object",
              "properties": {
                "operator_id": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 2147483647
                },
                "name": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "planned_time_per_unit": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "planned_time_parameter": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "cost_per_hour": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "type": {
            "type": "string",
            "nullable": false,
            "enum": [
              "process",
              "setup",
              "perUnit",
              "fixed"
            ]
          },
          "cost_parameter": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "status": {
            "type": "string",
            "enum": [
              "NOT_STARTED"
            ]
          }
        },
        "required": [
          "manufacturing_order_id",
          "status"
        ],
        "additionalProperties": false
      },
      "UpdateManufacturingOrderOperationRowDto": {
        "title": "UpdateManufacturingOrderOperationRowDto",
        "type": "object",
        "properties": {
          "operation_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "operation_name": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          },
          "resource_id": {
            "type": "integer",
            "nullable": true,
            "maximum": 2147483647,
            "minimum": 1
          },
          "resource_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "planned_time_per_unit": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "planned_time_parameter": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "total_actual_time": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "cost_per_hour": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "cost_parameter": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000000000000000
          },
          "type": {
            "type": "string",
            "nullable": false,
            "enum": [
              "process",
              "setup",
              "perUnit",
              "fixed"
            ]
          },
          "status": {
            "type": "string",
            "nullable": false,
            "enum": [
              "NOT_STARTED",
              "BLOCKED",
              "IN_PROGRESS",
              "PAUSED",
              "COMPLETED"
            ]
          },
          "assigned_operators": {
            "type": "array",
            "items": {
              "title": "UpdateOperatorDto",
              "type": "object",
              "properties": {
                "operator_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "name": {
                  "type": "string",
                  "nullable": false,
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            "nullable": false
          },
          "completed_by_operators": {
            "type": "array",
            "items": {
              "title": "UpdateOperatorDto",
              "type": "object",
              "properties": {
                "operator_id": {
                  "type": "integer",
                  "nullable": false,
                  "maximum": 2147483647,
                  "minimum": 1
                },
                "name": {
                  "type": "string",
                  "nullable": false,
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "UpdateManufacturingOrderProductionIngredientDto": {
        "title": "UpdateManufacturingOrderProductionIngredientDto",
        "type": "object",
        "properties": {
          "batch_transactions": {
            "type": "array",
            "items": {
              "title": "UpdateBatchTransactionDto",
              "type": "object",
              "properties": {
                "batch_id": {
                  "type": "integer",
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "number"
                }
              },
              "required": [
                "batch_id"
              ],
              "additionalProperties": false
            },
            "nullable": false
          }
        },
        "additionalProperties": false
      },
      "CreateCustomerDto": {
        "title": "CreateCustomerDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "reference_id": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          },
          "discount_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100
          },
          "addresses": {
            "type": "array",
            "items": {
              "title": "CustomerAddressInCustomerCreateDto",
              "type": "object",
              "properties": {
                "entity_type": {
                  "type": "string",
                  "enum": [
                    "billing",
                    "shipping"
                  ]
                },
                "first_name": {
                  "type": "string",
                  "nullable": true
                },
                "last_name": {
                  "type": "string",
                  "nullable": true
                },
                "company": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "line_1": {
                  "type": "string",
                  "nullable": true
                },
                "line_2": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "zip": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "default": {
                  "type": "boolean"
                }
              },
              "required": [
                "entity_type"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "CustomerUpdateDto": {
        "title": "CustomerUpdateDto",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "first_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "last_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "company": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "email": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "reference_id": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "category": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "currency": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "default_shipping_id": {
            "type": "integer",
            "nullable": true,
            "maximum": 2147483647,
            "minimum": 1
          },
          "discount_rate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "DemandForecastUpdateDto": {
        "title": "DemandForecastUpdateDto",
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "number"
          },
          "location_id": {
            "type": "number"
          },
          "periods": {
            "type": "array",
            "items": {
              "title": "DemandForecastUpdatePeriod",
              "type": "object",
              "properties": {
                "period_start": {
                  "type": "string"
                },
                "period_end": {
                  "type": "string"
                },
                "committed": {
                  "type": "string"
                }
              },
              "required": [
                "period_start",
                "period_end",
                "committed"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "variant_id",
          "location_id",
          "periods"
        ],
        "additionalProperties": false
      },
      "DemandForecastClearDto": {
        "title": "DemandForecastClearDto",
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "number"
          },
          "location_id": {
            "type": "number"
          },
          "periods": {
            "type": "array",
            "items": {
              "title": "DemandForecastClearPeriod",
              "type": "object",
              "properties": {
                "period_start": {
                  "type": "string"
                },
                "period_end": {
                  "type": "string"
                }
              },
              "required": [
                "period_start",
                "period_end"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "variant_id",
          "location_id",
          "periods"
        ],
        "additionalProperties": false
      },
      "CustomerAddressCreateDto": {
        "title": "CustomerAddressCreateDto",
        "type": "object",
        "properties": {
          "entity_type": {
            "type": "string",
            "enum": [
              "billing",
              "shipping"
            ]
          },
          "first_name": {
            "type": "string",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "line_1": {
            "type": "string",
            "nullable": true
          },
          "line_2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "customer_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          }
        },
        "required": [
          "entity_type",
          "customer_id"
        ],
        "additionalProperties": false
      },
      "CustomerAddressUpdateDto": {
        "title": "CustomerAddressUpdateDto",
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "last_name": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "company": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "line_1": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "line_2": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "city": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "state": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "zip": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          },
          "country": {
            "type": "string",
            "nullable": true,
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "CreateCustomFieldDefinitionDto": {
        "title": "CreateCustomFieldDefinitionDto",
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 255
          },
          "field_type": {
            "type": "string",
            "maxLength": 50
          },
          "entity_type": {
            "type": "string",
            "maxLength": 50
          },
          "source": {
            "type": "string",
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "object",
            "nullable": true
          }
        },
        "required": [
          "label",
          "field_type",
          "entity_type",
          "source"
        ],
        "additionalProperties": false
      },
      "UpdateCustomFieldDefinitionDto": {
        "title": "UpdateCustomFieldDefinitionDto",
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "object",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BomRowUpdateDto": {
        "title": "BomRowUpdateDto",
        "type": "object",
        "properties": {
          "ingredient_variant_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "quantity": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "notes": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          }
        },
        "additionalProperties": false
      },
      "BomRowCreateDto": {
        "title": "BomRowCreateDto",
        "type": "object",
        "properties": {
          "product_item_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "product_variant_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "ingredient_variant_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "quantity": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100000000000000000
          },
          "notes": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          }
        },
        "required": [
          "product_item_id",
          "product_variant_id",
          "ingredient_variant_id"
        ],
        "additionalProperties": false
      },
      "CreateBomRowsBatchDto": {
        "title": "CreateBomRowsBatchDto",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "minItems": 1,
            "maxItems": 250,
            "items": {
              "$ref": "#/components/schemas/BomRowCreateDto",
              "definitions": {
                "BomRowCreateDto": {
                  "title": "BomRowCreateDto",
                  "type": "object",
                  "properties": {
                    "product_item_id": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 2147483647
                    },
                    "product_variant_id": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 2147483647
                    },
                    "ingredient_variant_id": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 2147483647
                    },
                    "quantity": {
                      "type": "number",
                      "nullable": true,
                      "minimum": 0,
                      "maximum": 100000000000000000
                    },
                    "notes": {
                      "type": "string",
                      "nullable": true,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "product_item_id",
                    "product_variant_id",
                    "ingredient_variant_id"
                  ],
                  "additionalProperties": false
                }
              }
            }
          }
        },
        "required": [
          "data"
        ],
        "additionalProperties": false
      },
      "CreateBatchDto": {
        "title": "CreateBatchDto",
        "type": "object",
        "properties": {
          "batch_number": {
            "type": "string",
            "minLength": 1
          },
          "batch_created_date": {
            "type": "string"
          },
          "expiration_date": {
            "type": "string"
          },
          "variant_id": {
            "type": "number",
            "maximum": 2147483647
          },
          "batch_barcode": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40
          }
        },
        "required": [
          "batch_number",
          "variant_id"
        ],
        "additionalProperties": false
      },
      "UnlinkBinLocationDto": {
        "title": "UnlinkBinLocationDto",
        "type": "object",
        "properties": {
          "location_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          },
          "variant_id": {
            "type": "integer",
            "nullable": false,
            "maximum": 2147483647,
            "minimum": 1
          }
        },
        "required": [
          "location_id",
          "variant_id"
        ],
        "additionalProperties": false
      },
      "BinLocationUpdateDto": {
        "title": "BinLocationUpdateDto",
        "type": "object",
        "properties": {
          "bin_name": {
            "type": "string",
            "nullable": false,
            "minLength": 1
          }
        },
        "required": [
          "bin_name"
        ],
        "additionalProperties": false
      },
      "UpdateBatchDto": {
        "title": "UpdateBatchDto",
        "type": "object",
        "properties": {
          "batch_number": {
            "type": "string"
          },
          "expiration_date": {
            "type": "string",
            "nullable": true
          },
          "batch_created_date": {
            "type": "string",
            "nullable": true
          },
          "batch_barcode": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40,
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    }
  }
}