{
  "openapi": "3.0.4",
  "info": {
    "title": "AIR Quotes API",
    "version": "v1"
  },
  "paths": {
    "/Accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Accounts/{id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Accounts/{id}/contacts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountContactDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountContactDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountContactDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/BusinessUnits": {
      "get": {
        "tags": [
          "BusinessUnits"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessUnitDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessUnitDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessUnitDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BusinessUnits"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/BusinessUnits/{id}": {
      "get": {
        "tags": [
          "BusinessUnits"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "BusinessUnits"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "BusinessUnits"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CompanyInfo": {
      "get": {
        "tags": [
          "CompanyInfo"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CompanyInfo"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyInfoDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyInfoDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyInfoDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/components/{componentId}/documents": {
      "post": {
        "tags": [
          "ComponentDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "componentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ComponentDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "componentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/components/{componentId}/documents/{documentId}": {
      "delete": {
        "tags": [
          "ComponentDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "componentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/components/{componentId}/documents/{documentId}/url": {
      "get": {
        "tags": [
          "ComponentDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "componentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/components/{componentId}/documents/{documentId}/description": {
      "patch": {
        "tags": [
          "ComponentDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "componentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Costing/{id}": {
      "get": {
        "tags": [
          "Costing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Costing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Costing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Costing": {
      "post": {
        "tags": [
          "Costing"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteCreateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Costing/{id}/new-revision": {
      "post": {
        "tags": [
          "Costing"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/costing-list": {
      "get": {
        "tags": [
          "CostingList"
        ],
        "parameters": [
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "CostingList"
        ],
        "parameters": [
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/costing-list/invalidate-cache": {
      "post": {
        "tags": [
          "CostingList"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/costing-list/summaries": {
      "get": {
        "tags": [
          "CostingList"
        ],
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 500
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/currencies/import-rates": {
      "post": {
        "tags": [
          "Currency"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ImportRatesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportRatesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportRatesResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/Departments": {
      "get": {
        "tags": [
          "Departments"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Departments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Departments/{id}": {
      "get": {
        "tags": [
          "Departments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Departments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DepartmentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepartmentDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Departments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/expenses/{expenseId}/documents": {
      "post": {
        "tags": [
          "ExpenseDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "expenseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ExpenseDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "expenseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/expenses/{expenseId}/documents/{documentId}": {
      "delete": {
        "tags": [
          "ExpenseDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "expenseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/expenses/{expenseId}/documents/{documentId}/url": {
      "get": {
        "tags": [
          "ExpenseDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "expenseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/expenses/{expenseId}/documents/{documentId}/description": {
      "patch": {
        "tags": [
          "ExpenseDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "expenseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ExternalCostTypes/component-types": {
      "get": {
        "tags": [
          "ExternalCostTypes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ExternalCostTypes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ExternalCostTypes/component-types/{id}": {
      "get": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ExternalCostTypes/outsourced-types": {
      "get": {
        "tags": [
          "ExternalCostTypes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ExternalCostTypes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ExternalCostTypes/outsourced-types/{id}": {
      "get": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ExternalCostTypes/expense-types": {
      "get": {
        "tags": [
          "ExternalCostTypes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCostTypeDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ExternalCostTypes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ExternalCostTypes/expense-types/{id}": {
      "get": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCostTypeCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCostTypeDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ExternalCostTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/tasks/{taskId}/images": {
      "post": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/quotes/{quoteId}/tasks/images/bulk": {
      "post": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkImageUrlRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkImageUrlRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkImageUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BulkFileUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkFileUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkFileUrlDto"
                }
              }
            }
          }
        }
      }
    },
    "/templates/{templateId}/items/{itemId}/images": {
      "post": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FileUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/templates/{templateId}/items/images/bulk": {
      "post": {
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkImageUrlRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkImageUrlRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkImageUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BulkFileUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkFileUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkFileUrlDto"
                }
              }
            }
          }
        }
      }
    },
    "/HomeDashboard/me": {
      "get": {
        "tags": [
          "HomeDashboard"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HomeDashboardDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HomeDashboardDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HomeDashboardDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/LabourRates/businessunit/{businessUnitId}": {
      "get": {
        "tags": [
          "LabourRates"
        ],
        "parameters": [
          {
            "name": "businessUnitId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LabourRateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LabourRateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LabourRateDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/LabourRates/{id}": {
      "put": {
        "tags": [
          "LabourRates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabourRateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LabourRateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LabourRateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LabourRateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabourRateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabourRateDto"
                }
              }
            }
          }
        }
      }
    },
    "/Lookups/countries": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Lookups/currencies": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Lookups/departments": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/outsourced/{serviceId}/documents": {
      "post": {
        "tags": [
          "OutsourcedDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "OutsourcedDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/outsourced/{serviceId}/documents/{documentId}": {
      "delete": {
        "tags": [
          "OutsourcedDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/outsourced/{serviceId}/documents/{documentId}/url": {
      "get": {
        "tags": [
          "OutsourcedDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/outsourced/{serviceId}/documents/{documentId}/description": {
      "patch": {
        "tags": [
          "OutsourcedDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/tasks/{taskId}/documents": {
      "post": {
        "tags": [
          "QuoteItemDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "QuoteItemDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/tasks/{taskId}/documents/{documentId}": {
      "delete": {
        "tags": [
          "QuoteItemDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/tasks/{taskId}/documents/{documentId}/url": {
      "get": {
        "tags": [
          "QuoteItemDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/tasks/{taskId}/documents/{documentId}/description": {
      "patch": {
        "tags": [
          "QuoteItemDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteItemTemplates/by-template/{templateId}": {
      "get": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/QuoteItemTemplates/{id}": {
      "get": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemTemplateCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemTemplateCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemTemplateCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteItemTemplates": {
      "post": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemTemplateCreateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemTemplateCreateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemTemplateCreateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteItemTemplates/reorder": {
      "post": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderTemplateItemsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderTemplateItemsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderTemplateItemsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteItemTemplates/{id}/handle-costs": {
      "post": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HandleCostActionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/HandleCostActionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/HandleCostActionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteItemTemplates/{id}/duplicate": {
      "post": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemTemplateDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteItemTemplates/insert-template": {
      "post": {
        "tags": [
          "QuoteItemTemplates"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InsertTemplateIntoTemplateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InsertTemplateIntoTemplateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InsertTemplateIntoTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemTemplateDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/QuoteResourceRates/quote/{quoteId}": {
      "get": {
        "tags": [
          "QuoteResourceRates"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/QuoteResourceRates/initialize": {
      "post": {
        "tags": [
          "QuoteResourceRates"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "businessUnitId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/QuoteResourceRates/{id}": {
      "put": {
        "tags": [
          "QuoteResourceRates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteResourceRateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteResourceRateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteResourceRateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResourceRateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResourceRateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResourceRateDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "QuoteResourceRates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/QuoteResourceRates/batch": {
      "put": {
        "tags": [
          "QuoteResourceRates"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteResourceRateBatchUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteResourceRateBatchUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteResourceRateBatchUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/QuoteResourceRates/reset": {
      "post": {
        "tags": [
          "QuoteResourceRates"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "businessUnitId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/QuoteResourceRates/reset-selected": {
      "post": {
        "tags": [
          "QuoteResourceRates"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "businessUnitId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteResourceRateDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/QuoteTemplates": {
      "get": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "scope",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/TemplateScope"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "businessUnitId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteTemplateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteTemplateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteTemplateDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "createdByUserId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateCreateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteTemplates/{id}": {
      "get": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteTemplates/from-quote/{quoteId}": {
      "post": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "createdByUserId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteTemplateCreateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteTemplates/{templateId}/from-subtree": {
      "post": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "createdByUserId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFromSubtreeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFromSubtreeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFromSubtreeRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteTemplateDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/QuoteTemplates/{id}/apply": {
      "post": {
        "tags": [
          "QuoteTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyTemplateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyTemplateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Resources": {
      "get": {
        "tags": [
          "Resources"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": { }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": { }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": { }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Resources"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DataManagerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DataManagerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DataManagerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDtoDataResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDtoDataResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDtoDataResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Resources/all": {
      "get": {
        "tags": [
          "Resources"
        ],
        "parameters": [
          {
            "name": "businessUnitId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Resources/{id}": {
      "put": {
        "tags": [
          "Resources"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Resources/create": {
      "post": {
        "tags": [
          "Resources"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResourceDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/risks/{riskAssignmentId}/documents": {
      "post": {
        "tags": [
          "RiskDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "riskAssignmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "RiskDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "riskAssignmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/risks/{riskAssignmentId}/documents/{documentId}": {
      "delete": {
        "tags": [
          "RiskDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "riskAssignmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/risks/{riskAssignmentId}/documents/{documentId}/url": {
      "get": {
        "tags": [
          "RiskDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "riskAssignmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/risks/{riskAssignmentId}/documents/{documentId}/description": {
      "patch": {
        "tags": [
          "RiskDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "riskAssignmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/salesforceintegration/account-updated": {
      "post": {
        "tags": [
          "SalesforceIntegration"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesforceAccountPayload"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesforceAccountPayload"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SalesforceAccountPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/salesforceintegration/opportunity-updated": {
      "post": {
        "tags": [
          "SalesforceIntegration"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesforceOpportunityPayload"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesforceOpportunityPayload"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SalesforceOpportunityPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/salesforceintegration/health": {
      "get": {
        "tags": [
          "SalesforceIntegration"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{quoteId}": {
      "get": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Task": {
      "post": {
        "tags": [
          "Task"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemCreateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemDto"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{id}": {
      "put": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteItemDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Task/batch": {
      "put": {
        "tags": [
          "Task"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/QuoteItemUpdateDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/QuoteItemUpdateDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/QuoteItemUpdateDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Task/{id}/clear-costs": {
      "post": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Task/reorder": {
      "post": {
        "tags": [
          "Task"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderItemsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderItemsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderItemsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{id}/handle-costs": {
      "post": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemCostActionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemCostActionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteItemCostActionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Task/{id}/duplicate": {
      "post": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuoteItemDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Task/external-copy-targets": {
      "get": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "excludeQuoteId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCopyTargetQuoteDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCopyTargetQuoteDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalCopyTargetQuoteDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Task/{id}/copy-external": {
      "post": {
        "tags": [
          "Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCopyRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCopyRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCopyRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCopyResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCopyResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCopyResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Task/copy-all-external": {
      "post": {
        "tags": [
          "Task"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCopyAllRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCopyAllRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalCopyAllRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCopyAllResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCopyAllResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalCopyAllResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/todos/{todoItemId}/documents": {
      "post": {
        "tags": [
          "TodoDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "todoItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentResultDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "TodoDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "todoItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/todos/{todoItemId}/documents/{documentId}": {
      "delete": {
        "tags": [
          "TodoDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "todoItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/todos/{todoItemId}/documents/{documentId}/url": {
      "get": {
        "tags": [
          "TodoDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "todoItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUrlDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/todos/{todoItemId}/documents/{documentId}/description": {
      "patch": {
        "tags": [
          "TodoDocuments"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "todoItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDescriptionRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TodoItem/quote/{quoteId}": {
      "get": {
        "tags": [
          "TodoItem"
        ],
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TodoItem/{id}": {
      "get": {
        "tags": [
          "TodoItem"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "TodoItem"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TodoItemUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TodoItemUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TodoItemUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "TodoItem"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TodoItem": {
      "post": {
        "tags": [
          "TodoItem"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TodoItemCreateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TodoItemCreateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TodoItemCreateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              }
            }
          }
        }
      }
    },
    "/TodoItem/{id}/toggle": {
      "patch": {
        "tags": [
          "TodoItem"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TodoItemDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TodoItem/overdue/me": {
      "get": {
        "tags": [
          "TodoItem"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/TodoItem/my-todos": {
      "get": {
        "tags": [
          "TodoItem"
        ],
        "parameters": [
          {
            "name": "includeCompleted",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TodoItemDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Users": {
      "get": {
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Users"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Users/{id}": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Users/me": {
      "get": {
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Users/{id}/azure-object-id": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Users/me/recent-quotes": {
      "get": {
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RecentQuoteDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RecentQuoteDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RecentQuoteDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Users/me/login-record": {
      "post": {
        "tags": [
          "Users"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserLoginRecordDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserLoginRecordDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserLoginRecordDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountContactDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "crmId": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "sentUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "receivedUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountId": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "extension": {
            "type": "string",
            "nullable": true
          },
          "mobile": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "AccountDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          },
          "line1": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "line2": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "postcode": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "countryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "homeCurrencyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "currencyName": {
            "type": "string",
            "nullable": true
          },
          "currencySymbol": {
            "type": "string",
            "nullable": true
          },
          "accountManagerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "accountManagerName": {
            "type": "string",
            "nullable": true
          },
          "primaryContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "secondaryContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "notes": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "crmLinkId": {
            "type": "string",
            "nullable": true
          },
          "crmSentUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "crmReceivedUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Aggregate": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApplyTemplateRequest": {
        "type": "object",
        "properties": {
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "position": {
            "$ref": "#/components/schemas/TemplateApplyPosition"
          },
          "targetItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BulkFileUrlDto": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/FileUrlDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BulkImageUrlRequest": {
        "type": "object",
        "properties": {
          "entityIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BusinessUnitDto": {
        "required": [
          "city",
          "line1",
          "name",
          "shortName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "shortName": {
            "maxLength": 3,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "line1": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "line2": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "postcode": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "countryId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "homeCurrencyId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "currencyName": {
            "type": "string",
            "nullable": true
          },
          "currencySymbol": {
            "type": "string",
            "nullable": true
          },
          "foregroundColour": {
            "maxLength": 7,
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "type": "string",
            "nullable": true
          },
          "backgroundColour": {
            "maxLength": 7,
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "type": "string",
            "nullable": true
          },
          "settings": {
            "$ref": "#/components/schemas/CompanySettingsDto"
          }
        },
        "additionalProperties": false
      },
      "CompanyInfoDto": {
        "required": [
          "city",
          "companyName",
          "line1"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "companyName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "line1": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "line2": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "postcode": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "countryId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "defaultCurrencyId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "currencyName": {
            "type": "string",
            "nullable": true
          },
          "currencySymbol": {
            "type": "string",
            "nullable": true
          },
          "settings": {
            "$ref": "#/components/schemas/CompanySettingsDto"
          }
        },
        "additionalProperties": false
      },
      "CompanySettingsDto": {
        "type": "object",
        "properties": {
          "defaultLabourMargin": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "defaultMaterialMargin": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "defaultExpensesMargin": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "defaultOutsourcedMargin": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "defaultRiskMargin": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "defaultHoursPerDay": {
            "maximum": 24,
            "minimum": 1,
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CountryDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "char2Code": {
            "type": "string",
            "nullable": true
          },
          "char3Code": {
            "type": "string",
            "nullable": true
          },
          "numberCode": {
            "type": "integer",
            "format": "int32"
          },
          "isUsedFrequently": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CreateFromSubtreeRequest": {
        "type": "object",
        "properties": {
          "rootItemId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32"
          },
          "isEnterprise": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CurrencyDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "rate": {
            "type": "number",
            "format": "double"
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isUsedFrequently": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DataManagerRequest": {
        "type": "object",
        "properties": {
          "skip": {
            "type": "integer",
            "format": "int32"
          },
          "take": {
            "type": "integer",
            "format": "int32"
          },
          "antiForgery": {
            "type": "string",
            "nullable": true
          },
          "requiresCounts": {
            "type": "boolean"
          },
          "table": {
            "type": "string",
            "nullable": true
          },
          "group": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "sorted": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Sort"
            },
            "nullable": true
          },
          "search": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchFilter"
            },
            "nullable": true
          },
          "where": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WhereFilter"
            },
            "nullable": true
          },
          "aggregates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Aggregate"
            },
            "nullable": true
          },
          "onDemandGroupInfo": {
            "$ref": "#/components/schemas/OnDemandGroupInfo"
          },
          "isLazyLoad": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DepartmentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "parentEntityId": {
            "type": "integer",
            "format": "int32"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "fileSizeBytes": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DocumentResultDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          },
          "document": {
            "$ref": "#/components/schemas/DocumentDto"
          }
        },
        "additionalProperties": false
      },
      "DocumentUrlDto": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "integer",
            "format": "int32"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpenseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteItemId": {
            "type": "integer",
            "format": "int32"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "quotePrice": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "hasOwnMargin": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "number",
            "format": "double"
          },
          "unitCost": {
            "type": "number",
            "format": "double"
          },
          "useQuotePrice": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "quoteNumber": {
            "type": "string",
            "nullable": true
          },
          "expenseTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "expenseTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExpenseTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteItemTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "expenseTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "expenseTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExternalCopyAllRequestDto": {
        "type": "object",
        "properties": {
          "sourceQuoteId": {
            "type": "integer",
            "format": "int32"
          },
          "targetQuoteId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ExternalCopyAllResultDto": {
        "type": "object",
        "properties": {
          "targetQuoteId": {
            "type": "integer",
            "format": "int32"
          },
          "copiedRootItemCount": {
            "type": "integer",
            "format": "int32"
          },
          "copiedItemCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ExternalCopyRequestDto": {
        "type": "object",
        "properties": {
          "targetQuoteId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ExternalCopyResultDto": {
        "type": "object",
        "properties": {
          "targetQuoteId": {
            "type": "integer",
            "format": "int32"
          },
          "rootItemId": {
            "type": "integer",
            "format": "int32"
          },
          "copiedItemCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ExternalCopyTargetQuoteDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteNumber": {
            "type": "string",
            "nullable": true
          },
          "customer": {
            "type": "string",
            "nullable": true
          },
          "quoteName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExternalCostTypeCreateUpdateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "chartOfAccountCode": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExternalCostTypeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "chartOfAccountCode": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FileUploadResultDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "filePath": {
            "type": "string",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "documentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "taskId": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "itemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FileUrlDto": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "integer",
            "format": "int32"
          },
          "fileUrl": {
            "type": "string",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "taskId": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "itemId": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "HandleCostActionRequest": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "integer",
            "format": "int32"
          },
          "costAction": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HomeDashboardActivityDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "actorName": {
            "type": "string",
            "nullable": true
          },
          "occurredOn": {
            "type": "string",
            "format": "date-time"
          },
          "quoteId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "todoId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "accent": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HomeDashboardDto": {
        "type": "object",
        "properties": {
          "summary": {
            "$ref": "#/components/schemas/HomeDashboardSummaryDto"
          },
          "priorityQuotes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HomeDashboardQuoteDto"
            },
            "nullable": true
          },
          "overdueTodos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HomeDashboardTodoDto"
            },
            "nullable": true
          },
          "recentActivity": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HomeDashboardActivityDto"
            },
            "nullable": true
          },
          "statusBreakdown": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HomeDashboardStatusCountDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HomeDashboardQuoteDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "opportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "opportunityName": {
            "type": "string",
            "nullable": true
          },
          "accountName": {
            "type": "string",
            "nullable": true
          },
          "ownerName": {
            "type": "string",
            "nullable": true
          },
          "primaryBusinessUnitName": {
            "type": "string",
            "nullable": true
          },
          "statusName": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "revisionNumber": {
            "type": "integer",
            "format": "int32"
          },
          "isActiveRevision": {
            "type": "boolean"
          },
          "isLocked": {
            "type": "boolean"
          },
          "margin": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalCost": {
            "type": "number",
            "format": "double"
          },
          "totalSellPrice": {
            "type": "number",
            "format": "double"
          },
          "mainCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "quoteDueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HomeDashboardStatusCountDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "statusName": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "HomeDashboardSummaryDto": {
        "type": "object",
        "properties": {
          "myOpenQuotes": {
            "type": "integer",
            "format": "int32"
          },
          "dueThisWeek": {
            "type": "integer",
            "format": "int32"
          },
          "overdueQuotes": {
            "type": "integer",
            "format": "int32"
          },
          "overdueTodos": {
            "type": "integer",
            "format": "int32"
          },
          "lockedQuotes": {
            "type": "integer",
            "format": "int32"
          },
          "lowMarginQuotes": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "HomeDashboardTodoDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quoteOpportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "quoteRevisionNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "quoteName": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "isCompleted": {
            "type": "boolean"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "completedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "assignedToUserName": {
            "type": "string",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ImportRatesResponse": {
        "type": "object",
        "properties": {
          "updatedCount": {
            "type": "integer",
            "format": "int32"
          },
          "importedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "InsertTemplateIntoTemplateRequest": {
        "type": "object",
        "properties": {
          "sourceTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "targetTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "position": {
            "$ref": "#/components/schemas/TemplateApplyPosition"
          },
          "targetItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IntegrationErrorResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "details": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IntegrationResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "processedAt": {
            "type": "string",
            "format": "date-time"
          },
          "correlationId": {
            "type": "string",
            "nullable": true
          },
          "durationMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "data": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ItemStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "LabourAssignmentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteItemId": {
            "type": "integer",
            "format": "int32"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "quotePrice": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "hasOwnMargin": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "normalHours": {
            "type": "number",
            "format": "double"
          },
          "overtimeHours": {
            "type": "number",
            "format": "double"
          },
          "doubletimeHours": {
            "type": "number",
            "format": "double"
          },
          "effort": {
            "type": "number",
            "format": "double"
          },
          "normalRate": {
            "type": "number",
            "format": "double"
          },
          "overtimeRate": {
            "type": "number",
            "format": "double"
          },
          "doubletimeRate": {
            "type": "number",
            "format": "double"
          },
          "onsiteNormalRate": {
            "type": "number",
            "format": "double"
          },
          "onsiteOvertimeRate": {
            "type": "number",
            "format": "double"
          },
          "onsiteDoubletimeRate": {
            "type": "number",
            "format": "double"
          },
          "isNormalRateChanged": {
            "type": "boolean"
          },
          "isOvertimeRateChanged": {
            "type": "boolean"
          },
          "isDoubletimeRateChanged": {
            "type": "boolean"
          },
          "isOnsiteNormalRateChanged": {
            "type": "boolean"
          },
          "isOnsiteOvertimeRateChanged": {
            "type": "boolean"
          },
          "isOnsiteDoubletimeRateChanged": {
            "type": "boolean"
          },
          "totalHours": {
            "type": "number",
            "format": "double"
          },
          "work": {
            "type": "number",
            "format": "double"
          },
          "isActive": {
            "type": "boolean"
          },
          "resourceId": {
            "type": "integer",
            "format": "int32"
          },
          "hasOwnRates": {
            "type": "boolean"
          },
          "isOvernight": {
            "type": "boolean"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "businessUnitName": {
            "type": "string",
            "nullable": true
          },
          "businessUnitForegroundColour": {
            "type": "string",
            "nullable": true
          },
          "businessUnitBackgroundColour": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LabourAssignmentTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteItemTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "resourceId": {
            "type": "integer",
            "format": "int32"
          },
          "resourceName": {
            "type": "string",
            "nullable": true
          },
          "normalHours": {
            "type": "number",
            "format": "double"
          },
          "overtimeHours": {
            "type": "number",
            "format": "double"
          },
          "doubletimeHours": {
            "type": "number",
            "format": "double"
          },
          "effort": {
            "type": "number",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isOvernight": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "LabourRateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "resourceId": {
            "type": "integer",
            "format": "int32"
          },
          "resourceName": {
            "type": "string",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32"
          },
          "normalRate": {
            "type": "number",
            "format": "double"
          },
          "overtimeRate1": {
            "type": "number",
            "format": "double"
          },
          "overtimeRate2": {
            "type": "number",
            "format": "double"
          },
          "onsiteNormalRate": {
            "type": "number",
            "format": "double"
          },
          "onsiteOvertimeRate1": {
            "type": "number",
            "format": "double"
          },
          "onsiteOvertimeRate2": {
            "type": "number",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "OnDemandGroupInfo": {
        "type": "object",
        "properties": {
          "level": {
            "type": "integer",
            "format": "int32"
          },
          "skip": {
            "type": "integer",
            "format": "int32"
          },
          "take": {
            "type": "integer",
            "format": "int32"
          },
          "where": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WhereFilter"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OutsourcedServiceDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteItemId": {
            "type": "integer",
            "format": "int32"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "quotePrice": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "hasOwnMargin": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "number",
            "format": "double"
          },
          "unitCost": {
            "type": "number",
            "format": "double"
          },
          "useQuotePrice": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "quoteNumber": {
            "type": "string",
            "nullable": true
          },
          "supplierId": {
            "type": "string",
            "nullable": true
          },
          "outsourcedTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "outsourcedTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OutsourcedServiceTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteItemTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "outsourcedTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "outsourcedTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "PurchasedComponentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteItemId": {
            "type": "integer",
            "format": "int32"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "quotePrice": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "hasOwnMargin": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "number",
            "format": "double"
          },
          "unitCost": {
            "type": "number",
            "format": "double"
          },
          "useQuotePrice": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "quoteNumber": {
            "type": "string",
            "nullable": true
          },
          "isLongLead": {
            "type": "boolean"
          },
          "supplierId": {
            "type": "string",
            "nullable": true
          },
          "documentCount": {
            "type": "integer",
            "format": "int32"
          },
          "componentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "componentTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PurchasedComponentTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteItemTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "isLongLead": {
            "type": "boolean"
          },
          "componentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "componentTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteCreateDto": {
        "type": "object",
        "properties": {
          "opportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "opportunityName": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "integer",
            "format": "int32"
          },
          "primaryBusinessUnitId": {
            "type": "integer",
            "format": "int32"
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quoteDueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "crmId": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "sentUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "receivedUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "predecessorId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "quoteTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "opportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "projectNumber": {
            "type": "string",
            "nullable": true
          },
          "opportunityName": {
            "type": "string",
            "nullable": true
          },
          "revisionNumber": {
            "type": "integer",
            "format": "int32"
          },
          "revisionName": {
            "type": "string",
            "nullable": true
          },
          "isActiveRevision": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "integer",
            "format": "int32"
          },
          "account": {
            "$ref": "#/components/schemas/AccountDto"
          },
          "accountContact": {
            "$ref": "#/components/schemas/AccountContactDto"
          },
          "accountContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectSponsorId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectSponsor": {
            "$ref": "#/components/schemas/UserDto"
          },
          "totalCost": {
            "type": "number",
            "format": "double"
          },
          "totalComponentCost": {
            "type": "number",
            "format": "double"
          },
          "totalLabourCost": {
            "type": "number",
            "format": "double"
          },
          "totalLabourHours": {
            "type": "number",
            "format": "double"
          },
          "totalOutsourcedCost": {
            "type": "number",
            "format": "double"
          },
          "totalExpenseCost": {
            "type": "number",
            "format": "double"
          },
          "totalContingencyCost": {
            "type": "number",
            "format": "double"
          },
          "totalComponentContingency": {
            "type": "number",
            "format": "double"
          },
          "totalLabourContingency": {
            "type": "number",
            "format": "double"
          },
          "totalOutsourcedContingency": {
            "type": "number",
            "format": "double"
          },
          "totalExpenseContingency": {
            "type": "number",
            "format": "double"
          },
          "totalSellPrice": {
            "type": "number",
            "format": "double"
          },
          "totalComponentSellPrice": {
            "type": "number",
            "format": "double"
          },
          "totalLabourSellPrice": {
            "type": "number",
            "format": "double"
          },
          "totalOutsourcedSellPrice": {
            "type": "number",
            "format": "double"
          },
          "totalExpenseSellPrice": {
            "type": "number",
            "format": "double"
          },
          "totalQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "defaultLabourMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultMaterialMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultExpensesMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultOutsourcedMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultRiskMargin": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "marginLabour": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "marginOutsourced": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "marginExpense": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "marginComponent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/QuoteStatus"
          },
          "validUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteDueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "submittedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "approvedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "requiredDeliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deliveryLeadTime": {
            "type": "string",
            "nullable": true
          },
          "mainCurrencyId": {
            "type": "integer",
            "format": "int32"
          },
          "mainCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "mainCurrencySymbol": {
            "type": "string",
            "nullable": true
          },
          "mainCurrencyName": {
            "type": "string",
            "nullable": true
          },
          "mainCurrencyRate": {
            "type": "number",
            "format": "double"
          },
          "currencyLastUpdated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "owner": {
            "$ref": "#/components/schemas/UserDto"
          },
          "isInternal": {
            "type": "boolean"
          },
          "isLocked": {
            "type": "boolean"
          },
          "lockedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "mechanicalEngineeringContact": {
            "$ref": "#/components/schemas/UserDto"
          },
          "mechanicalEngineeringContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "electricalEngineeringContact": {
            "$ref": "#/components/schemas/UserDto"
          },
          "electricalEngineeringContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectManagementContact": {
            "$ref": "#/components/schemas/UserDto"
          },
          "projectManagementContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "manufacturingContact": {
            "$ref": "#/components/schemas/UserDto"
          },
          "manufacturingContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "controlsContact": {
            "$ref": "#/components/schemas/UserDto"
          },
          "controlsContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "buildContact": {
            "$ref": "#/components/schemas/UserDto"
          },
          "buildContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "commissioningContact": {
            "$ref": "#/components/schemas/UserDto"
          },
          "commissioningContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "primaryBusinessUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "primaryBusinessUnitName": {
            "type": "string",
            "nullable": true
          },
          "primaryBusinessUnitShortName": {
            "type": "string",
            "nullable": true
          },
          "primaryBusinessUnitForegroundColour": {
            "type": "string",
            "nullable": true
          },
          "primaryBusinessUnitBackgroundColour": {
            "type": "string",
            "nullable": true
          },
          "nominalValue": {
            "type": "number",
            "format": "double"
          },
          "closeDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "marketSector": {
            "type": "string",
            "nullable": true
          },
          "stageName": {
            "type": "string",
            "nullable": true
          },
          "developmentType": {
            "type": "string",
            "nullable": true
          },
          "isMultiBu": {
            "type": "boolean"
          },
          "riskLevel": {
            "$ref": "#/components/schemas/RiskLevel"
          },
          "riskNotes": {
            "type": "string",
            "nullable": true
          },
          "customerBudget": {
            "type": "number",
            "format": "double"
          },
          "customerBudgetStatus": {
            "type": "string",
            "nullable": true
          },
          "winConfidence": {
            "type": "string",
            "nullable": true
          },
          "itemsRecalculated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "QuoteItemCostActionRequest": {
        "type": "object",
        "properties": {
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "costAction": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteItemCreateDto": {
        "type": "object",
        "properties": {
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "parentItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "manualWbsCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "units": {
            "type": "number",
            "format": "double"
          },
          "parentUnits": {
            "type": "number",
            "format": "double"
          },
          "effectiveUnits": {
            "type": "number",
            "format": "double"
          },
          "repeatWeighting": {
            "type": "number",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "duration": {
            "type": "number",
            "format": "double"
          },
          "durationText": {
            "type": "string",
            "nullable": true
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "hasOwnMargin": {
            "type": "boolean"
          },
          "isMilestone": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "itemType": {
            "$ref": "#/components/schemas/TaskItemType"
          },
          "itemStatus": {
            "$ref": "#/components/schemas/ItemStatus"
          },
          "isOvernight": {
            "type": "boolean"
          },
          "insertAfterId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteItemDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "crmId": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "sentUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "receivedUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "opportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "parentItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "businessUnitName": {
            "type": "string",
            "nullable": true
          },
          "businessUnitForegroundColour": {
            "type": "string",
            "nullable": true
          },
          "businessUnitBackgroundColour": {
            "type": "string",
            "nullable": true
          },
          "manualWbsCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "units": {
            "type": "number",
            "format": "double"
          },
          "parentUnits": {
            "type": "number",
            "format": "double"
          },
          "effectiveUnits": {
            "type": "number",
            "format": "double"
          },
          "repeatWeighting": {
            "type": "number",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "duration": {
            "type": "number",
            "format": "double"
          },
          "durationText": {
            "type": "string",
            "nullable": true
          },
          "labourCost": {
            "type": "number",
            "format": "double"
          },
          "componentCost": {
            "type": "number",
            "format": "double"
          },
          "outsourcedCost": {
            "type": "number",
            "format": "double"
          },
          "expenseCost": {
            "type": "number",
            "format": "double"
          },
          "riskCost": {
            "type": "number",
            "format": "double"
          },
          "totalCost": {
            "type": "number",
            "format": "double"
          },
          "work": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "labourSellPrice": {
            "type": "number",
            "format": "double"
          },
          "componentSellPrice": {
            "type": "number",
            "format": "double"
          },
          "outsourcedSellPrice": {
            "type": "number",
            "format": "double"
          },
          "expenseSellPrice": {
            "type": "number",
            "format": "double"
          },
          "riskSellPrice": {
            "type": "number",
            "format": "double"
          },
          "totalSellPrice": {
            "type": "number",
            "format": "double"
          },
          "labourQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "componentQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "outsourcedQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "expenseQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "riskQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "totalQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "isMilestone": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "itemType": {
            "$ref": "#/components/schemas/TaskItemType"
          },
          "itemStatus": {
            "$ref": "#/components/schemas/ItemStatus"
          },
          "itemStatusText": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "totalLabourHours": {
            "type": "number",
            "format": "double"
          },
          "labourAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabourAssignmentDto"
            },
            "nullable": true
          },
          "purchasedComponents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedComponentDto"
            },
            "nullable": true
          },
          "outsourcedServices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutsourcedServiceDto"
            },
            "nullable": true
          },
          "expenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpenseDto"
            },
            "nullable": true
          },
          "riskAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RiskAssignmentDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteItemTemplateCreateUpdateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "parentItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "repeatWeighting": {
            "type": "number",
            "format": "double"
          },
          "itemType": {
            "$ref": "#/components/schemas/TaskItemType"
          },
          "itemStatus": {
            "$ref": "#/components/schemas/ItemStatus"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "nullable": true
          },
          "labourAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabourAssignmentTemplateDto"
            },
            "nullable": true
          },
          "purchasedComponents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedComponentTemplateDto"
            },
            "nullable": true
          },
          "outsourcedServices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutsourcedServiceTemplateDto"
            },
            "nullable": true
          },
          "expenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpenseTemplateDto"
            },
            "nullable": true
          },
          "riskAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RiskAssignmentTemplateDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteItemTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "parentItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "manualWbsCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "repeatWeighting": {
            "type": "number",
            "format": "double"
          },
          "itemType": {
            "$ref": "#/components/schemas/TaskItemType"
          },
          "itemStatus": {
            "$ref": "#/components/schemas/ItemStatus"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "nullable": true
          },
          "labourAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabourAssignmentTemplateDto"
            },
            "nullable": true
          },
          "purchasedComponents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedComponentTemplateDto"
            },
            "nullable": true
          },
          "outsourcedServices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutsourcedServiceTemplateDto"
            },
            "nullable": true
          },
          "expenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpenseTemplateDto"
            },
            "nullable": true
          },
          "riskAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RiskAssignmentTemplateDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteItemUpdateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "parentItemId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "manualWbsCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "units": {
            "type": "number",
            "format": "double"
          },
          "parentUnits": {
            "type": "number",
            "format": "double"
          },
          "effectiveUnits": {
            "type": "number",
            "format": "double"
          },
          "repeatWeighting": {
            "type": "number",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "duration": {
            "type": "number",
            "format": "double"
          },
          "durationText": {
            "type": "string",
            "nullable": true
          },
          "labourCost": {
            "type": "number",
            "format": "double"
          },
          "componentCost": {
            "type": "number",
            "format": "double"
          },
          "outsourcedCost": {
            "type": "number",
            "format": "double"
          },
          "expenseCost": {
            "type": "number",
            "format": "double"
          },
          "totalCost": {
            "type": "number",
            "format": "double"
          },
          "work": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "hasOwnMargin": {
            "type": "boolean"
          },
          "labourSellPrice": {
            "type": "number",
            "format": "double"
          },
          "componentSellPrice": {
            "type": "number",
            "format": "double"
          },
          "outsourcedSellPrice": {
            "type": "number",
            "format": "double"
          },
          "expenseSellPrice": {
            "type": "number",
            "format": "double"
          },
          "totalSellPrice": {
            "type": "number",
            "format": "double"
          },
          "labourQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "componentQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "outsourcedQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "expenseQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "totalQuotePrice": {
            "type": "number",
            "format": "double"
          },
          "isMilestone": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "itemType": {
            "$ref": "#/components/schemas/TaskItemType"
          },
          "itemStatus": {
            "$ref": "#/components/schemas/ItemStatus"
          },
          "labourAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabourAssignmentDto"
            },
            "nullable": true
          },
          "purchasedComponents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedComponentDto"
            },
            "nullable": true
          },
          "outsourcedServices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutsourcedServiceDto"
            },
            "nullable": true
          },
          "expenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpenseDto"
            },
            "nullable": true
          },
          "riskAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RiskAssignmentDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteResourceRateBatchUpdateDto": {
        "type": "object",
        "properties": {
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "rates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteResourceRateUpdateDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteResourceRateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "resourceId": {
            "type": "integer",
            "format": "int32"
          },
          "resourceName": {
            "type": "string",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32"
          },
          "businessUnitName": {
            "type": "string",
            "nullable": true
          },
          "sourceLabourRateId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "normalRate": {
            "type": "number",
            "format": "double"
          },
          "overtimeRate1": {
            "type": "number",
            "format": "double"
          },
          "overtimeRate2": {
            "type": "number",
            "format": "double"
          },
          "onsiteNormalRate": {
            "type": "number",
            "format": "double"
          },
          "onsiteOvertimeRate1": {
            "type": "number",
            "format": "double"
          },
          "onsiteOvertimeRate2": {
            "type": "number",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isNormalRateChanged": {
            "type": "boolean"
          },
          "isOvertimeRate1Changed": {
            "type": "boolean"
          },
          "isOvertimeRate2Changed": {
            "type": "boolean"
          },
          "isOnsiteNormalRateChanged": {
            "type": "boolean"
          },
          "isOnsiteOvertimeRate1Changed": {
            "type": "boolean"
          },
          "isOnsiteOvertimeRate2Changed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "QuoteResourceRateUpdateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "normalRate": {
            "type": "number",
            "format": "double"
          },
          "overtimeRate1": {
            "type": "number",
            "format": "double"
          },
          "overtimeRate2": {
            "type": "number",
            "format": "double"
          },
          "onsiteNormalRate": {
            "type": "number",
            "format": "double"
          },
          "onsiteOvertimeRate1": {
            "type": "number",
            "format": "double"
          },
          "onsiteOvertimeRate2": {
            "type": "number",
            "format": "double"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isNormalRateChanged": {
            "type": "boolean"
          },
          "isOvertimeRate1Changed": {
            "type": "boolean"
          },
          "isOvertimeRate2Changed": {
            "type": "boolean"
          },
          "isOnsiteNormalRateChanged": {
            "type": "boolean"
          },
          "isOnsiteOvertimeRate1Changed": {
            "type": "boolean"
          },
          "isOnsiteOvertimeRate2Changed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "QuoteStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "QuoteTemplateCreateDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32"
          },
          "isEnterprise": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "QuoteTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32"
          },
          "businessUnitName": {
            "type": "string",
            "nullable": true
          },
          "createdByUserId": {
            "type": "integer",
            "format": "int32"
          },
          "createdByUserName": {
            "type": "string",
            "nullable": true
          },
          "isEnterprise": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "itemCount": {
            "type": "integer",
            "format": "int32"
          },
          "labourCount": {
            "type": "integer",
            "format": "int32"
          },
          "materialCount": {
            "type": "integer",
            "format": "int32"
          },
          "outsourcedCount": {
            "type": "integer",
            "format": "int32"
          },
          "expenseCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "QuoteTemplateUpdateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isEnterprise": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "QuoteUpdateDto": {
        "type": "object",
        "properties": {
          "opportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "opportunityName": {
            "type": "string",
            "nullable": true
          },
          "revisionName": {
            "type": "string",
            "nullable": true
          },
          "isActiveRevision": {
            "type": "boolean"
          },
          "projectNumber": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/QuoteStatus"
          },
          "accountId": {
            "type": "integer",
            "format": "int32"
          },
          "accountContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectSponsorId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "validUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteDueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "requiredDeliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deliveryLeadTime": {
            "type": "string",
            "nullable": true
          },
          "defaultLabourMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultMaterialMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultExpensesMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultOutsourcedMargin": {
            "type": "number",
            "format": "double"
          },
          "defaultRiskMargin": {
            "type": "number",
            "format": "double"
          },
          "mainCurrencyId": {
            "type": "integer",
            "format": "int32"
          },
          "ownerId": {
            "type": "integer",
            "format": "int32"
          },
          "isInternal": {
            "type": "boolean"
          },
          "isLocked": {
            "type": "boolean"
          },
          "crmLink": {
            "type": "string",
            "nullable": true
          },
          "mechanicalEngineeringContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "electricalEngineeringContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projectManagementContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "manufacturingContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "controlsContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "buildContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "commissioningContactId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RecentQuoteDto": {
        "type": "object",
        "properties": {
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "opportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "opportunityName": {
            "type": "string",
            "nullable": true
          },
          "accountName": {
            "type": "string",
            "nullable": true
          },
          "revisionNumber": {
            "type": "integer",
            "format": "int32"
          },
          "revisionName": {
            "type": "string",
            "nullable": true
          },
          "isLocked": {
            "type": "boolean"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "lastEditedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ReorderItemsRequest": {
        "type": "object",
        "properties": {
          "draggedItemId": {
            "type": "integer",
            "format": "int32"
          },
          "targetItemId": {
            "type": "integer",
            "format": "int32"
          },
          "dropPosition": {
            "type": "string",
            "nullable": true
          },
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "indentCostAction": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReorderTemplateItemsRequest": {
        "type": "object",
        "properties": {
          "draggedItemId": {
            "type": "integer",
            "format": "int32"
          },
          "targetItemId": {
            "type": "integer",
            "format": "int32"
          },
          "dropPosition": {
            "type": "string",
            "nullable": true
          },
          "templateId": {
            "type": "integer",
            "format": "int32"
          },
          "indentCostAction": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResourceDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "format": "int32"
          },
          "isNull": {
            "type": "boolean"
          },
          "maxUnits": {
            "type": "number",
            "format": "double"
          },
          "peakUnits": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "canLevel": {
            "type": "boolean"
          },
          "work": {
            "type": "number",
            "format": "double"
          },
          "group": {
            "type": "string",
            "nullable": true
          },
          "chartOfAccountCode": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "departmentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "departmentName": {
            "type": "string",
            "nullable": true
          },
          "extendedAttribute": {
            "type": "string",
            "nullable": true
          },
          "materialLabel": {
            "type": "string",
            "nullable": true
          },
          "normalRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "overtimeRate1": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "overtimeRate2": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "onsiteNormalRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "onsiteOvertimeRate1": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "onsiteOvertimeRate2": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResourceDtoDataResult": {
        "type": "object",
        "properties": {
          "result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceDto"
            },
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "aggregates": {
            "nullable": true
          },
          "groupDs": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RiskAssignmentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteItemId": {
            "type": "integer",
            "format": "int32"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "quotePrice": {
            "type": "number",
            "format": "double"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "hasOwnMargin": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "number",
            "format": "double"
          },
          "unitCost": {
            "type": "number",
            "format": "double"
          },
          "useQuotePrice": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "quoteNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RiskAssignmentTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "quoteItemTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "RiskLevel": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "SalesforceAccountPayload": {
        "type": "object",
        "properties": {
          "salesforceId": {
            "type": "string",
            "nullable": true
          },
          "accountName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "billingAddress": {
            "$ref": "#/components/schemas/SalesforceAddress"
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "changeType": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "industry": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "ownerId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesforceAddress": {
        "type": "object",
        "properties": {
          "street": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesforceOpportunityPayload": {
        "type": "object",
        "properties": {
          "salesforceId": {
            "type": "string",
            "nullable": true
          },
          "opportunityName": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "stage": {
            "type": "string",
            "nullable": true
          },
          "closeDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "changeType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SearchFilter": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "operator": {
            "type": "string",
            "nullable": true
          },
          "ignoreAccent": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Sort": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "direction": {
            "type": "string",
            "nullable": true
          },
          "foreignKeyValue": {
            "type": "string",
            "nullable": true
          },
          "foreignKeyDataSource": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaskItemType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          999
        ],
        "type": "integer",
        "format": "int32"
      },
      "TemplateApplyPosition": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "TemplateScope": {
        "enum": [
          0,
          1,
          2,
          -1
        ],
        "type": "integer",
        "format": "int32"
      },
      "TodoItemCreateDto": {
        "type": "object",
        "properties": {
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "assignedToUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TodoItemDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "quoteId": {
            "type": "integer",
            "format": "int32"
          },
          "quoteName": {
            "type": "string",
            "nullable": true
          },
          "quoteOpportunityNumber": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isCompleted": {
            "type": "boolean"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "assignedToUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assignedToUserName": {
            "type": "string",
            "nullable": true
          },
          "createdByUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdByUserName": {
            "type": "string",
            "nullable": true
          },
          "completedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "documentCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TodoItemUpdateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isCompleted": {
            "type": "boolean"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "assignedToUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateDescriptionRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueId": {
            "type": "string",
            "format": "uuid"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdById": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "businessUnitId": {
            "type": "integer",
            "format": "int32"
          },
          "businessUnitName": {
            "type": "string",
            "nullable": true
          },
          "businessUnitForegroundColour": {
            "type": "string",
            "nullable": true
          },
          "businessUnitBackgroundColour": {
            "type": "string",
            "nullable": true
          },
          "homeCurrencyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "homeCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "homeCurrencySymbol": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "extension": {
            "type": "string",
            "nullable": true
          },
          "mobile": {
            "type": "string",
            "nullable": true
          },
          "jobTitle": {
            "type": "string",
            "nullable": true
          },
          "canAccessSystem": {
            "type": "boolean"
          },
          "azureObjectId": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "UserLoginRecordDto": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "nullable": true
          },
          "browser": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "timeZone": {
            "type": "string",
            "nullable": true
          },
          "culture": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WhereFilter": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "nullable": true
          },
          "ignoreCase": {
            "type": "boolean"
          },
          "ignoreAccent": {
            "type": "boolean"
          },
          "isComplex": {
            "type": "boolean"
          },
          "operator": {
            "type": "string",
            "nullable": true
          },
          "condition": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "nullable": true
          },
          "predicates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WhereFilter"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    }
  },
  "tags": [
    {
      "name": "Accounts"
    },
    {
      "name": "BusinessUnits"
    },
    {
      "name": "CompanyInfo"
    },
    {
      "name": "ComponentDocuments"
    },
    {
      "name": "Costing"
    },
    {
      "name": "CostingList"
    },
    {
      "name": "Currency"
    },
    {
      "name": "Departments"
    },
    {
      "name": "ExpenseDocuments"
    },
    {
      "name": "ExternalCostTypes"
    },
    {
      "name": "Files"
    },
    {
      "name": "HomeDashboard"
    },
    {
      "name": "LabourRates"
    },
    {
      "name": "Lookups"
    },
    {
      "name": "OutsourcedDocuments"
    },
    {
      "name": "QuoteItemDocuments"
    },
    {
      "name": "QuoteItemTemplates"
    },
    {
      "name": "QuoteResourceRates"
    },
    {
      "name": "QuoteTemplates"
    },
    {
      "name": "Resources"
    },
    {
      "name": "RiskDocuments"
    },
    {
      "name": "SalesforceIntegration"
    },
    {
      "name": "Task"
    },
    {
      "name": "TodoDocuments"
    },
    {
      "name": "TodoItem"
    },
    {
      "name": "Users"
    }
  ]
}